Interface RuleContext

All Known Implementing Classes:
BBRuleContext, BFRuleContext, RETERuleContext

public interface RuleContext
Interface used to convey context information from a rule engine to the stack of procedural builtins. This gives access to the triggering rule, the variable bindings and the set of currently known triples.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Assert a new triple in the deduction graph, triggering any consequent processing as appropriate.
    boolean
    contains(Node s, Node p, Node o)
    Return true if the triple pattern is already in either the graph or the stack.
    boolean
    Return true if the triple is already in either the graph or the stack.
    find(Node s, Node p, Node o)
    In some formulations the context includes deductions that are not yet visible to the underlying graph but need to be checked for.
    Returns the current variable binding environment for the current rule.
    Returns the parent inference graph.
    Returns the rule.
    void
    Remove a triple from the deduction graph (and the original graph if relevant).
    void
    setRule(Rule rule)
    Sets the rule.
    void
    Assert a new triple in the deduction graph, bypassing any processing machinery.
  • Method Details

    • getEnv

      Returns the current variable binding environment for the current rule.
      Returns:
      BindingEnvironment
    • getGraph

      InfGraph getGraph()
      Returns the parent inference graph.
      Returns:
      InfGraph
    • getRule

      Rule getRule()
      Returns the rule.
      Returns:
      Rule
    • setRule

      void setRule(Rule rule)
      Sets the rule.
      Parameters:
      rule - The rule to set
    • contains

      boolean contains(Triple t)
      Return true if the triple is already in either the graph or the stack. I.e. it has already been deduced.
    • contains

      boolean contains(Node s, Node p, Node o)
      Return true if the triple pattern is already in either the graph or the stack. I.e. it has already been deduced.
    • find

      ClosableIterator<Triple> find(Node s, Node p, Node o)
      In some formulations the context includes deductions that are not yet visible to the underlying graph but need to be checked for.
    • silentAdd

      void silentAdd(Triple t)
      Assert a new triple in the deduction graph, bypassing any processing machinery.
    • add

      void add(Triple t)
      Assert a new triple in the deduction graph, triggering any consequent processing as appropriate.
    • remove

      void remove(Triple t)
      Remove a triple from the deduction graph (and the original graph if relevant).