I am trying to use GraphDB-SE triplestore to store Einstein Riddle and use ruleset to infer the answers. GraphDB has build in support for OWL2-RL and OWL2-QL. According to w3.org
OWL 2 RL supports all axioms of OWL 2 apart from disjoint unions of classes (DisjointUnion) and reflexive object property axioms (ReflexiveObjectProperty).
Q1: Why GraphDB is not able to infer it ?
Q2: If I'm using something out of OWL-RL, how can I transform my ontology (OWL file) to OWL-RL ? (I cannot find more information, about this profile. Practical information like "Use this, don't use this.")"
Q3: If GraphDB doesnt full-support OWL2-RL, what part is not supported? How can I transform my model to be able to infer expected results using GraphDB?
My model of owl is from this web and also altered model using exactly 1 QCR instead of functional and inverse functional properties with someValuesfrom.
Better quote from the standard would be
Restricting the way in which constructs are used makes it possible to implement reasoning systems using rule-based reasoning engines [...] [I]n SubClassOf axioms, the constructs in the subclass and superclass expressions must follow the usage patterns shown in Table 2.
And the Table 2 prohibit, e.g., the use of OneOf
construction on the right-hand size of the SubClassOf
axiom. And this construction is crucial for the Einstein Riddle problem.
Answering Q2: if you look at the Table 2 quoted above, you will find that OWL 2 RL is really very restrictive profile. In particular, it prohibits an existential restriction on the right-hand side of subsumption. This means that it is usually impossible to transform arbitrary OWL 2 DL ontology into an RL one.