Search code examples
owlontologyinferenceowlimgraphdb

OWL-?? to OWL-RL for GraphDB (OWLIM)


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.


Solution

  • 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.