GraphDB-Lite Reasoner

compared with
Current by Gergana Petkova
on Sep 18, 2014 12:46.

This line was removed.
This word was removed. This word was added.
This line was added.

Changes (6)

View Page History
As can be seen, the last two variants are identical apart from the rotation of variables *y* and *z*, so one of these variants is not needed. The use of the *\[Cut\]* operator above tells the rule compiler to eliminate this last variant, i.e. the one beginning with the premise *x p z*.

h2. Materializsation

An A GraphDB repository will use the configured rule-set to compute all inferred statements at load time. To some extent, this process increases processing cost and time taken to load a repository with a large amount of data. However, it has the desirable advantage that subsequent query evaluation can proceed extremely quickly.
Apart from a number of optimisations, the approach taken by GraphDB is one of 'total materialisation', where the inference rules are applied repeatedly to the asserted (explicit) statements until no further inferred (implicit) statements are produced.


h1. Performance Optimizsations in RDFS and OWL Support

There are several features in the RDFS and OWL specifications that result in rather inefficient entailment rules and axioms, which can have a significant impact on the performance of a reasoning engine. Such examples are:

Although the above inferences are correct and important for the completeness of the formal semantics, users rarely execute queries whose results are affected by the existence of such statements. Moreover, these inferences generate so many inferred statements that performance and scalability can be severely degraded.
For this reason, optimized versions of standard rule-sets are provided. These have '-optimized' appended to the rule-set name, e.g. *owl-horst-optimized*, and use the optimizsations listed in Table 4.
| Optimizsation | *Affects* |
| Remove axiomatic triples | *<any> <any> <rdfs:Resource>* \\
*<rdfs:Resource> <any> <any>* \\
| Remove rule conclusions | *<any> <any> <rdfs:Resource>* |
| Remove rule constraints | *\[Constraint <variable> \!= <rdfs:Resource>\]* |
These optimization optimisations were previously achieved using the *partialRDFS* parameter, but are now achieved by using a previously optimizsed built-in rule-set, see the *ruleset* {{ruleset}} parameter in the [configuration section|GraphDB-Lite Configuration] for a complete list.