Search code examples
swrlhermit

Why does transitivity works with other property characteristics when using SWRL?


Defining an object property as transitive and asymmetric is not permitted in OWL DL since it can lead to undecidability. Hence HermiT throws a non-simple property exception in this scenario, but when having a property transivity characteristic defined using a SWRL rule, the reasoner does not complain, and seems to infer results correctly and still be able to detect inconsistencies.

What is the reason for this, isn't having transitivity defined using SWRL still leads to undecidability ?


Solution

  • The reason for this is that reasoning in Hermit is based on OWL 2 which is based on the description logic SROIQ(D). This restriction of using simple roles applies to SROIQ(D).

    Due to computational complexity concerns OWL 2 also support different profiles which are subsets of SROIQ(D) to allow for more favourable computational complexities based on the use case.

    SWRL makes use of the OWL 2 RL profile. Thus, instead of using 1 kind of reasoning on your ontology, you are now making use of 2 different kinds of reasoning. (1) OWL 2 reasoning now works on your ontology without the property being transitive, while (2) SWRL (using OWL2 RL) reasoning can do the inference on the transitive property.