Triple Reasoning and Rule Entailment Engine
TRREE is the abbreviated name of the Triple Reasoning and Rule Entailment Engine. It performs forward-chaining of entailment rules on top of RDF graphs and employs a reasoning strategy, which can be described as total materialization.
The implementation of TRREE relies on a compile stage, when the entailment rules are compiled into chunks of Java code and later on merged together to generate the main entry point for the inferencer.
The reasoning and query evaluation are performed in-memory. The full content of the repository is loaded into and maintained in a proprietary representation in the main memory, which makes possible very efficient retrieval and query answering.
TRREE can be configured with a set of entailment rules that determine the supported semantic. Each rule has a set of premises that conjunctively define its body. The premises are, in their turn, RDF statements, which may contain variables in any of their positions (subject, predicate, or object). The head of the rule comprises of one or more consequences, each of which is also an RDF statement. The consequences may contain free variables, i.e. such that are not used within the body of the rule. In the later case the variables are bound to a new (unique) anonymous nodes. TRREE supports a rule laguage that is more expressive than the one used for the definition of the RDFS semantics. This language is almost identical with the R-Entailment defined by Horst; the major difference is that at present TRREE provides no support of the R-Entailment's axiomatic triples and inconsistency rules.
For now, TRREE is not provided as a separate component. The OWLIM semantic repository is packaged with a preconfigured version of TRREE, which supports RDF(S), OWL DLP, and OWL Horst.