<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Wolpertinger: A Fixed-Domain Reasoner</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Rudolph</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lukas Schweizer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Satyadharma Tirtarasa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computational Logic Group, TU Dresden</institution>
          ,
          <addr-line>Dresden</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Web Ontology Language OWL [5] comes with comprehensive modeling tool support. This sometimes leads to situations where OWL is the modeling paradigm chosen over other formalisms, even if the application scenario does not match the typical usage of this language. For example, problems of a constraint-satisfaction nature do not go well with OWL's standard semantics. Consider a toy configuration problem: Five people want to go home after a party in one car having five seats. The situation is conveniently (and seemingly adequately) modeled using OWL (for brevity, we use DL-style notation): five persons their gender and intoxication: W oman u Drunk(alice), W oman(claire), W oman(eve), M an u Drunk(bob), M an u Drunk(dan), five seats, where the driver's seat must be occupied by a sober person: Seatu9sits :P ersonu:Drunk( ), Seat(fr ), Seat(bl), Seat(bm), Seat(br), relative location of the seats (and symmetry of seat-neighbourhood) next(f r; f l), next(br; bm), next(bm; bl), next v next , some elementary background knowledge W oman t M an v P erson, P erson v :Seat, everyone has to be seated (in distinct seats), women don't want to sit next to men: P erson v 9sits:Seat, &gt; v 61sits :&gt;, W oman v 8sits :8next:8sits::M an.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>It is easy to see there is no seating satisfying the given constraints. However, an
OWL reasoner will still (rightfully) indicate that the given ontology is satisfiable, since
the open-world semantics of OWL allows for the existence of anonymous individuals
(in our example, a model might contain more than the indicated persons and seats).</p>
      <p>
        To overcome these problems and to enable the usage of OWL in those settings, we
proposed fixed-domain reasoning under a non-standard model-theoretic semantics that
restricts the domain to an explicitly given finite set (in our example, this would be the 10
explicitly mentioned entities). We also showed that for expressive ontology languages,
this semantics has a significantly lower complexity than the standard semantics [
        <xref ref-type="bibr" rid="ref2 ref4">2, 4</xref>
        ].
      </p>
      <p>
        We observed that the fixed-domain semantics can be axiomatized in OWL, allowing
to employ available OWL reasoners for standard reasoning tasks. Still, we showed that
available OWL reasoners struggle with standard reasoning under this new semantics [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
Besides standard reasoning tasks, a particular requirement arising from industrial
collaboration is the need to enumerate models. Note that in our considered toy scenario,
it might not just be interesting if a seating is possible, but – in the positive case – also,
what these seatings are.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Implementation</title>
      <p>
        To implement efficient fixed-domain reasoning in OWL, we proposed a translation of
arbitrary OWL DL ontologies into answer set programming (ASP) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This allows us
to leverage existing optimized ASP machinery to perform both standard reasoning as
well as the non-standard tasks model enumeration and query entailment quite elegantly.
      </p>
      <p>
        The translation takes an OWL DL ontology O and a given fixed domain and
produces a corresponding answer-set program (O; ) whose answer sets correspond to
the models of O with domain . Intuitively, the set of all fixed-domain interpretations
defines a search space, which can be traversed searching for models, guided by
appropriate constraints. These constraints correspond exactly to the axioms of the given
ontology (after a structural transformation has been carried out). Thereby
interpretations violating any of the given axioms are ruled out as models. For more details, we
refer the interested reader to our previous work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
2.1
      </p>
      <p>Implementation Overview
The mentioned translation was implemented, and is available in the open-source tool
Wolpertinger.1 Figure 1 abstractly depicts the main components of the tool and
their interplay. At the core, we provide an implementation of the OWLReasoner
interface, which is accessible either via a command-line interface, or from within Protégé
for which we additionally provide a reasoner plugin. In the following, we describe all
features and the realizing components.</p>
      <p>OWL API</p>
      <p>Wolpertinger</p>
      <p>Wolpertinger-Reasoner
OWLReasoner</p>
      <p>User</p>
      <p>Wolpertinger</p>
      <p>ClingoAdapter</p>
      <p>Clingo
ASPTranslation</p>
      <p>HermiT Normalization
WolpertingerCLI</p>
      <p>Protege-Plugin</p>
      <p>
        Protégé
1 https://github.com/wolpertinger-reasoner/Wolpertinger
Wolpertinger This component realizes the OWL API’s OWLReasoner interface, for
which many of the defined reasoning tasks are supported.2 Moreover, it orchestrates
the translation process, consisting of (1) normalizing the input ontology, (2)
translating the normalized ontology into an answer-set program, and finally (3) managing the
communication with the ASP solver clingo [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which computes as many answer
sets as requested each representing a model of the input ontology. The translation and
interaction is encapsulated, thus the user is not aware of the internal mechanics. Model
enumeration is a functionality beyond what is defined in OWLReasoner and is
therefore one of the functionalities provided outside that interface. User interfaces to access
Wolpertinger are (1) a command line interface, and (2) a Protégé reasoner plugin.
WolpertingerCLI The command line interface is currently the only user interface that
gives access to all supported features. In short, the supported functionalities are:
      </p>
      <p>Model Enumeration: Generate 1, n or all models.</p>
      <p>Consistency Checking: Check if there is any model with the given domain for the input.
Entailment Checking: Given the input ontology O and another ontology O0, check if O0 is
entailed by O.</p>
      <p>Classification: Output all subclasses/superclasses of a given class C.</p>
      <p>Justification: In case of inconsistency, provide a minimal set of axioms that cause
the inconsistency.</p>
      <p>Instance Retrieval: Provide all individuals that are an instance of a given class.</p>
      <p>Individual Types: Provide all classes of which a given individual is an instance.</p>
      <p>Regarding the specification of the fixed domain, two options are supported: either
the domain is implicitly built by collecting the individuals occurring in the given input
ontology, or the explicit domain is extracted from the named individuals in another
given OWL file.</p>
      <p>Protégé-Plugin We provide a preliminary implementation of a reasoner Protégé-plugin,
such that Wolpertinger can conveniently be used in the known way (like other
available OWL reasoners) from within Protégé. At the moment, the plugin only gives
access to the standard reasoning tasks, under the fixed-domain semantics. Especially the
enumeration feature has not yet been made available from within Protégé and remains
as future work.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Future Work</title>
      <p>We presented a tool for reasoning in OWL under the fixed-domain semantics, where
models are confined to a given form. This is particularly adequate for OWL ontologies
representing constraint-type problems. Although the usage of OWL (as opposed to,
2 At the current stage, we support all of OWL DL except data properties.
say, full first-order logic) still imposes some restrictions regarding expressivity (e.g., by
restricting the predicate arity to 1 and 2), quite large and involved problem scenarios can
be modeled by OWL ontologies. In fact, Wolpertinger is being used successfully
for solving configuration problems in industry projects.</p>
      <p>Clearly, more comprehensive evaluations of our system with respect to such
ontologies remain as imperative issue. Moreover, ASP is only one possible target formalism
for translating fixed-domain reasoning problems; other formalisms are also
conceivable, including pure CSP languages or even SAT. An implementation and comparative
evaluation of these alternatives will allow us to pick the most efficient formalism.</p>
      <p>In the future, we also plan to extend the presented work in several directions. We
will provide a Protégé-plugin for the added functionality beyond the standard reasoning
tasks, such as the enumeration of models and functions to handle models (i.e.
exporting them to proper OWL formats). We plan to incorporate typical ontology engineering
tasks such as explanation and axiom pinpointing into our framework, for which we have
preliminary results already. Finally, we will consider extensions of the source
formalism OWL, e.g. by non-monotonic features. As ASP itself is a non-monotonic logic
programming formalism, rule-based extensions of OWL – monotonic or non-monotonic –
should be straightforward to accommodate.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Truszczyn´ski, M.:
          <article-title>Answer set programming at a glance</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>54</volume>
          (
          <issue>12</issue>
          ),
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Gaggl</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schweizer</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Fixed-Domain Reasoning for Description Logics</article-title>
          . In: Kaminka,
          <string-name>
            <given-names>G.A.</given-names>
            ,
            <surname>Fox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Bouquet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Hüllermeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Dignum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Dignum</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F</given-names>
          </string-name>
          . (eds.)
          <source>Proceedings of the 22nd European Conference on Artificial Intelligence (ECAI</source>
          <year>2016</year>
          ).
          <source>Frontiers in Artificial Intelligence and Applications</source>
          , vol.
          <volume>285</volume>
          , pp.
          <fpage>819</fpage>
          -
          <lpage>827</lpage>
          . IOS Press (
          <year>September 2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaminski</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Kaufmann,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Schaub</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Clingo = ASP + control: Preliminary report</article-title>
          . In: Leuschel,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Schrijvers</surname>
          </string-name>
          , T. (eds.)
          <source>Technical Communications of the Thirtieth International Conference on Logic Programming (ICLP'14)</source>
          . vol.
          <volume>arXiv</volume>
          :
          <volume>1405</volume>
          .
          <string-name>
            <surname>3694v1</surname>
          </string-name>
          (
          <year>2014</year>
          ),
          <article-title>theory and Practice of Logic Programming</article-title>
          , Online Supplement
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schweizer</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Not too big, not too small... complexities of fixed-domain reasoning in first-order and description logics</article-title>
          . In: Oliveira,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Gama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Vale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.A.</given-names>
            ,
            <surname>Cardoso</surname>
          </string-name>
          , H.L. (eds.)
          <source>Progress in Artificial Intelligence - 18th EPIA Conference on Artificial Intelligence, EPIA</source>
          <year>2017</year>
          , Porto, Portugal, September 5-
          <issue>8</issue>
          ,
          <year>2017</year>
          ,
          <source>Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10423</volume>
          , pp.
          <fpage>695</fpage>
          -
          <lpage>708</lpage>
          . Springer (
          <year>2017</year>
          ), https://doi.org/10.1007/ 978-3-
          <fpage>319</fpage>
          -65340-2_
          <fpage>57</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. W3C OWL Working Group:
          <article-title>OWL 2 Web Ontology Language: Document Overview</article-title>
          . W3C
          <string-name>
            <surname>Recommendation</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>