Interface RulePreprocessHook

public interface RulePreprocessHook

Implementors of this interface can be used as proprocessing passes during intialization of (hybrid) rule systems. They are typically used to generate additional data-dependent rules or additional deductions (normally from comprehension axioms) which are cheaper this way than using the generic rule engines.

Method Summary
 boolean needsRerun(FBRuleInfGraph infGraph, Triple t)
          Validate a triple add to see if it should reinvoke the hook.
 void run(FBRuleInfGraph infGraph, Finder dataFind, Graph inserts)
          Invoke the preprocessing hook.

Method Detail


void run(FBRuleInfGraph infGraph,
         Finder dataFind,
         Graph inserts)
Invoke the preprocessing hook. This will be called during the preparation time of the hybrid reasoner.

infGraph - the inference graph which is being prepared, the hook code can use this to add pure deductions or add additional rules (using addRuleDuringPrepare).
dataFind - the finder which packages up the raw data (both schema and data bind) and any cached transitive closures.
inserts - a temporary graph into which the hook should insert all new deductions that should be seen by the rules.


boolean needsRerun(FBRuleInfGraph infGraph,
                   Triple t)
Validate a triple add to see if it should reinvoke the hook. If so then the inference will be restarted at next prepare time. Incremental re-processing is not yet supported.

Licenced under the Apache License, Version 2.0