Reasoning Use Case

Here, we will show a transformation pattern which should improve reasoning performance in Pellet reasoner. This is based on documentation in Pellet distribution. Particularly, it is related to pellint tool, http://pellet.owldl.com/pellint, which is a lint tool for OWL ontologies detecting problematic modelling constructs regarding ontology's reasoning performance in Pellet. There are defined two kinds of patterns for improving reasoning:

For instance, 'Concept with Equivalent and Subclass Axioms' pattern from ontology-based patterns where problematic ``named concept appears in an equivalent axiom and on the left-hand side of a subclass axiom''. You can see this serialized in XML: http://nb.vse.cz/~svabo/patomat/tp/tp_reasoning1.xml. OP1 is serialized as follows:

<op1>
  <entity_declarations>
    <placeholder type="Class">?A</placeholder>
    <placeholder type="Class">?B</placeholder>
    <placeholder type="Class">?C</placeholder>
    <placeholder type="Class">?D</placeholder>
    <placeholder type="ObjectProperty">?p</placeholder>
  </entity_declarations>
  <axioms>
    <axiom>?A equivalentTo (?B and ?C)</axiom>
    <axiom>?A subClassOf (?p only ?D)</axiom>
  </axioms>
</op1>

Corresponding OP2 is serialized as follows:

<op2>
  <entity_declarations>
    <placeholder type="Class">?E</placeholder>
    <placeholder type="Class">?F</placeholder>
    <placeholder type="Class">?G</placeholder>
    <placeholder type="Class">?H</placeholder>
    <placeholder type="ObjectProperty">?q</placeholder>
  </entity_declarations>
  <axioms>
    <axiom>?E subClassOf (?F and ?G)</axiom>
    <axiom>?E subClassOf (?q only ?H)</axiom>
  </axioms>
</op2>

A simple pattern transformation:

<pt>
  <eq op1="?A" op2="?E"/>
  <eq op1="?B" op2="?F"/>
  <eq op1="?C" op2="?G"/>
  <eq op1="?D" op2="?H"/>
  <eq op1="?p" op2="?q"/>
</pt>

This ensures the desired transformation where the problematic concept is removed from the equivalent classes axiom and new subclass axiom is added.

This simple transformation pattern demonstrates potential usage of transformation patterns in reasoning scenario. In this case, it is related to Pellet reasoner, http://clarkparsia.com/pellet/. However, there are also other reasoners for which specific requirements regarding reasoning performance could be specified in future work e.g. Fact++, http://owl.man.ac.uk/factplusplus, HermiT, http://hermit-reasoner.com/.

ondrej 2011-06-21