Interface BackwardRuleInfGraphI

All Superinterfaces:
Graph, InfGraph, SilentAddI
All Known Implementing Classes:
FBRuleInfGraph, LPBackwardRuleInfGraph, RDFSRuleInfGraph

public interface BackwardRuleInfGraphI extends SilentAddI, InfGraph
This interface collects together those operations that the backchaining engine needs to invoke in the parent InfGraph. This allows different inf graphs to exploit the same core backchaining engine.
  • Method Details

    • processBuiltin

      boolean processBuiltin(ClauseEntry clause, Rule rule, BindingEnvironment env)
      Process a call to a builtin predicate
      Parameters:
      clause - the term representing the call
      env - the BindingEnvironment for this call
      rule - the rule which is invoking this call
      Returns:
      true if the predicate succeeds
    • findDataMatches

      ExtendedIterator<Triple> findDataMatches(TriplePattern pattern)
      Match a pattern just against the stored data (raw data, schema, axioms) but no backchaining derivation.
    • logDerivation

      void logDerivation(Triple t, Derivation derivation)
      Logger a derivation record against the given triple.
    • getTemp

      Node getTemp(Node instance, Node prop, Node pclass)
      Retrieve or create a bNode representing an inferred property value.
      Parameters:
      instance - the base instance node to which the property applies
      prop - the property node whose value is being inferred
      pclass - the (optional, can be null) class for the inferred value.
      Returns:
      the bNode representing the property value
    • getVersion

      int getVersion()
      Return a version stamp for this graph which can be used to fast-fail concurrent modification exceptions.