Provides a selection of simple rule engines for Jena inference models. Currently this includes a simple forward chaining engine (BasicForwardRuleReasoner). This is currently a pure interpreter (no RETE network) with an extensible set of Builtin actions (see Builtin).
We include two example reasoners built using this rule engine. The first is an alternative RDFS implementation (RDFSRuleReasonerFactory) which implements the full RDFS rule set forward style.
The second is an implementation of the OWL-lite subset of OWL-full (OWLRuleReasonerFactory). This omits some of the RDFS entailments (everything is a Resource, every Class is a subclass of Resource) because those conclusions are general not that useful and lead to rather a lot of pointless deductions in forward chaining mode.
ClassDescriptionThis interface collects together those operations that the backchaining engine needs to invoke in the parent InfGraph.An inference graph interface that runs a set of forward chaining rules to conclusion on each added triple and stores the entire result set.Reasoner implementation which augments or transforms an RDF graph according to a set of rules.Interface through which the current bound values of variables can be found.Rules employ builtins to do all tests and actions other than simple triple matches and triple creation.Exceptions thrown by runtime errors in executing rule system builtin operations.Common interface for all objects that can go into rules.An inference graph that uses a mixture of forward and backward chaining rules.Structure used to wrap up pre-processed/compiled rule sets.Rule-based reasoner interface.This interface collects together the operations on the InfGraph which are needed to support the forward rule engine.A functor comprises a functor name and a list of arguments.Datatype definition for functor-valued literals.A reasoner interface that is able to invoke any of the useful rule engine combinations.Class used as an enum for describing rule modes.Factory object for creating general rule reasoner instances.Inference graph for accessing the LP version of the backward chaining rule engine.Reasoner implementation which augments or transforms an RDF graph according to a set of rules.A registry for mapping functor names on java objects (instances of subclasses of Builtin) which implement their behaviour.A variation on the normal Node_Variable which support for value bindings.A hybrid forward/backward implementation of the OWL closure rules.Factory class for creating blank instances of the OWL Reasoner.Reasoner configuration for the OWL micro reasoner.Reasoner factory for the OWL micro configuration.Reasoner configuration for the OWL mini reasoner.Reasoner factory for the OWL mini configuration.A backward chaining implementation of the RDFS closure rules based upon the basic backward rule interpreter.Factory class for creating blank instances of the hybrid rule RDFS reasoner.A pure forward chaining implementation of the RDFS closure rules based upon the basic forward rule interpreter.Customization of the generic rule inference graph for RDFS inference.A full implementation of RDFS reasoning using a hybrid rule system, together with optimized subclass/subproperty closure using the transitive graph caches.Factory class for creating blank instances of the hybrid rule RDFS reasoner with TGC support.RETE implementation of the forward rule inference graph.Representation of a generic inference rule.Inner class which provides minimalist parsing support based on tokenisation with depth 1 lookahead.Inner class.Interface used to convey context information from a rule engine to the stack of procedural builtins.Derivation records are used to determine how an inferred triple was derived from a set of source triples and a reasoner.Implementors of this interface can be used as preprocessing passes during intialization of (hybrid) rule systems.RuleReasoner - an interface to capture the idea of a Reasoner that relies on Rules; motivated primarily by the testing for ModelSpecs which specify Rules for Reasoners.RuleReasonerFactory - a ReasonerFactory interface which allows rules to be set up to be installed into each reasoner this factory produces.Interface supported by each of the rule system interpreters that allow triples to added directly to the deductions cache, by-passing any processing machinery.A small random collection of utility functions used by the rule systems.