<!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>Towards CATS: A Modular ABox Abduction Solver Based on Black-Box Architecture (Extended Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Janka Boborová</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jakub Kloc</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Homola</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Júlia Pukancová</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Comenius University in Bratislava</institution>
          ,
          <addr-line>Mlynská dolina, 842 41 Bratislava</addr-line>
          ,
          <country country="SK">Slovakia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>DentalTrauma</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>CATS, standing for Comenius Abduction Team Solver, is an ABox abduction solver for description logics that allows the users to choose among multiple abduction algorithms. The solver integrates the JFact reasoner as a black-box, thanks to which it handles expressivity up to ℛℐ (OWL 2). It handles inputs and outputs via OWL API and it ofers a command line, GUI, and API interface. Abduction [1] is a type of hypothetical inference aiming to explain an observation using the background knowledge of the problem domain. We specifically deal with ABox abduction [ 2]: Given a finite set of ABox assertions Abd (hypotheses), a knowledge base  and an ABox assertion  (observation), an ABox abduction problem is a pair  = (, ) and a solution of  (explanation) is a finite set of ABox assertions ℰ ⊆ Abd such that  ∪ ℰ |= . We also require explanations to have standard properties [2] such as minimality. In our work,  can include any concept or role assertion (possibly multiple ones), which may involve even complex concepts and negated roles. To prevent an infinite hypothesis space, Abd consists of only atomic (concept and role) assertions and their complements involving any named individuals from  or . In the following example, we define an ABox abduction problem  = ( ,  ) to determine the potential causes of John's toothache.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Abduction</kwd>
        <kwd>description logics</kwd>
        <kwd>ontologies</kwd>
        <kwd>solver</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        known to be incomplete [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], though our version does not use the third pruning condition to regain
completeness. (ii) HST: Wotava’s variant of MHS [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. It generates the HS-tree in a way that prevents
duplicate paths from existing. This eliminates the need for Reiter’s second pruning condition and thus
avoids performing numerous subset checks while building the tree. (iii) MXP: A highly eficient but
incomplete method by Shchekotykhin et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], relying on the divide and conquer principle. Currently,
it is the only incomplete method in CATS. (iv) MHS-MXP: A hybrid combination of MHS and MXP [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
MXP can find multiple explanations in each node of the HS-tree and possibly prune the tree to reduce
its size and terminate the algorithm faster. (v) HST-MXP: An analogous hybrid combination of HST and
MXP.
      </p>
      <p>
        CATS1 is a freely available software written in Java, using the OWL API [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to work with DL objects.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Black-Box Integration with a DL Reasoner</title>
      <p>
        To solve ABox abduction in a complete way, MHS and the algorithms derived from it require to run
repeated knowledge base consistency checks. Additionally, after each successful consistency check, the
algorithms need to obtain the ABox assertions that are satisfied in a model of the knowledge base to
navigate the search for explanations in the hypothesis space [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This latter functionality is referred
to as model extraction. In a truly black-box setting, we wish to delegate these tasks to an external DL
reasoner.
      </p>
      <p>
        While consistency checking is a standard task for any DL reasoner, model extraction is not. Not
all DL reasoners need to construct a model (or its suficient representation) to check knowledge base
consistency. But for instance, tableau-based DL reasoners [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14, 15</xref>
        ] build a finite representation of a
model (dubbed completion graph). This representation is suficient [ 16] to extract the facts required
in the basic ABox abduction setting, namely the set of all atomic concept and role assertions that are
satisfied in the model.
      </p>
      <p>
        CATS currently uses a modified version of the JFact reasoner 2 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. To our best knowledge, this is
the only DL reasoner to date that supports the OWLKnowledgeExplorerReasoner interface3 of the
OWL API that enables to read the completion graph. Possibly, other tableau-based DL reasoners could
implement this OWL API interface in the future. This would grant CATS the potential to experiment
with diferent reasoners in a modular way, to compare their capabilities, and to give the user the option
to choose between them.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. CATS Solver</title>
      <p>CATS supports any OWL 2 [17] ontology as the background knowledge of an abduction problem.
It currently implements the abduction algorithms listed above. The option to choose from diferent
algorithms can be utilised in multiple ways. Firstly, CATS may be used to empirically compare their
performance. Secondly, the user can choose an algorithm that is most suitable for their needs, as each
algorithm has an advantage over the others in specific situations. For example, when the user wants
to obtain any set of explanations quickly, it is best to use MXP. When all explanations are required,
diferent algorithms are necessary. MHS-MXP can be very eficient if we limit the hypothesis space to
atomic assertions only. If negations are included, it is better to use MHS or HST.</p>
      <p>The solver also provides various options for configuring the abduction problem, such as the maximal
length of the explanations found, the maximal duration of solving, or limiting what symbols or axioms
the explanations can include.</p>
      <p>By default, CATS is a command-line application that uses structured text files as its inputs. Let us
show an example of CATS’s input using the problem  from the introduction:</p>
      <sec id="sec-3-1">
        <title>1https://github.com/Comenius-Abduction-Team/CATS-Abduction-Solver</title>
        <p>2https://github.com/boborova3/jfact
3https://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/reasoner/knowledgeexploration/
OWLKnowledgeExplorerReasoner.html
-f: files/toothache_ontology.owl
-o: Prefix: pref: &lt;http://www.semanticweb.org/janbo/ontologies/2024/4/
untitled-ontology-10#&gt; Class: pref:Toothache</p>
        <p>Individual: pref:john Types: pref:Toothache
-alg: MHS-MXP
 was processed into toothache_ontology.owl. For readability,  is split into three lines, but
in a proper input file, it would have to be in one. To compute explanations, MHS-MXP will be used.
This example can be run using command java -jar cats.jar &lt;relative path to the input
file&gt;. Subsequently, we obtain an output:
1; 1; 0,05; {{DentalTrauma(john)}}
2; 2; 0,05; {{Cavity(john),DrankColdDrink(john)},</p>
        <p>{SensitiveTeeth(john),DrankColdDrink(john)}}
0,08
The last output line contains the total running time. Other lines are in the form: &lt;length n&gt;;&lt;number
of explanations&gt;;&lt;tree level completion time&gt;; {&lt;found explanations of the
length n&gt;}. As we can see, with MHS-MXP, we found all explanations ℰ1–ℰ3 in 0.08 seconds. Because
this is a small example, we cannot demonstrate the diferences between the algorithms in time eficiency.
We would get the same result using MHS, HST and HST-MXP. The only diference is in MXP, which
could not find ℰ3.</p>
        <p>CATS can be also used via a graphical interface in the DL Abduction App4 [18], which can be seen in
Figure 1. Another way of utilising the solver is by integrating it directly into Java code through the DL
Abduction API5 [18]. This library allows developers to work with the solver through abstract interfaces,
without the need to know how it functions internally.</p>
      </sec>
      <sec id="sec-3-2">
        <title>4https://github.com/Comenius-Abduction-Team/Abduction-App 5https://github.com/Comenius-Abduction-Team/DL-Abduction-API</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Outlook</title>
      <p>
        Our main future goal is to extend CATS with more well-known abduction algorithms, such as HS-DAG
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] (and its improved version, RC-Tree [19]) and combine them with MXP. We will also add the option
to use other eficient incomplete algorithms, such as QuickXplain [ 20], that is already implemented in
the solver, but currently only used as a part of MXP.
      </p>
      <p>
        In the future, we would like to conduct a comparative evaluation of the algorithms, taking advantage of
the fact that they all share the same code-base and modular architecture. However, further considerations
are needed in regard to what test cases and methodology to use. Some works [
        <xref ref-type="bibr" rid="ref6 ref7">21, 6, 7</xref>
        ] already performed
evaluations, but to our knowledge, there is no standard proven procedure yet.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>We were sponsored by the Slovak Republic under the grant no. APVV-19-0220 (ORBIS) and by the EU
under the H2020 grant no. 952215 (TAILOR). J. Boborová was supported by a DL student grant. J. Kloc
was supported by an extraordinary scholarship awarded by Comenius University in Bratislava, Faculty
of Mathematics, Physics and Informatics, and by a DL student grant.
[15] E. Sirin, B. Parsia, B. Cuenca Grau, A. Kalyanpur, Y. Katz, Pellet: A practical OWL-DL reasoner,</p>
      <p>Journal of Web Semantics 5 (2007) 51–53.
[16] F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, P. F. Patel-Schneider (Eds.), The Description</p>
      <p>Logic Handbook: Theory, Implementation, and Applications, Cambridge University Press, 2003.
[17] B. Cuenca Grau, I. Horrocks, B. Motik, B. Parsia, P. Patel-Schneider, U. Sattler, OWL 2: The next
step for OWL, J. Web Semant. 6 (2008) 309–322.
[18] J. Kloc, M. Homola, J. Pukancová, DL abduction API v2 and GUI interface (Extended abstract), in:
Proceedings of the 36th International Workshop on Description Logics (DL 2023), Rhodes, Greece,
September 2–4, 2023, volume 3515 of CEUR-WS, 2023.
[19] I. Pill, T. Quaritsch, RC-Tree: A variant avoiding all the redundancy in Reiter’s minimal hitting set
algorithm, in: 2015 IEEE International Symposium on Software Reliability Engineering Workshops,
ISSRE Workshops, Gaithersburg, MD, USA, November 2-5, 2015, IEEE Computer Society, 2015, pp.
78–84.
[20] U. Junker, QuickXplain: Preferred explanations and relaxations for over-constrained problems, in:
Proceedings of the Nineteenth National Conference on Artificial Intelligence, Sixteenth Conference
on Innovative Applications of Artificial Intelligence, San Jose, California, US, AAAI Press, 2004,
pp. 167–172.
[21] J. Du, G. Qi, Y. Shen, J. Z. Pan, Towards practical ABox abduction in large description logic
ontologies, Int. J. Semantic Web Inf. Syst. 8 (2012) 1–33.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Peirce</surname>
          </string-name>
          ,
          <article-title>Illustrations of the logic of science VI: Deduction, induction, and hypothesis</article-title>
          ,
          <source>Popular Science Monthly</source>
          <volume>13</volume>
          (
          <year>1878</year>
          )
          <fpage>470</fpage>
          -
          <lpage>482</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Elsenbroich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          ,
          <article-title>A case for abductive reasoning over ontologies</article-title>
          ,
          <source>in: Proceedings of the OWLED*06 Workshop on OWL: Experiences and Directions</source>
          , Athens, GA, US, volume
          <volume>216</volume>
          <source>of CEUR-WS</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Du</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <article-title>A tractable approach to ABox abduction over description logic ontologies</article-title>
          ,
          <source>in: Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence, July 27-31</source>
          ,
          <year>2014</year>
          ,
          <string-name>
            <given-names>Québec</given-names>
            <surname>City</surname>
          </string-name>
          , Québec, Canada.,
          <year>2014</year>
          , pp.
          <fpage>1034</fpage>
          -
          <lpage>1040</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>W.</given-names>
            <surname>Del-Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>Abox abduction via forgetting in ALC, in: The Thirty-</article-title>
          <source>Third AAAI Conference on Artificial Intelligence</source>
          ,
          <source>AAAI</source>
          <year>2019</year>
          , Honolulu, Hawaii, USA, AAAI Press,
          <year>2019</year>
          , pp.
          <fpage>2768</fpage>
          -
          <lpage>2775</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pukancová</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Homola, The AAA ABox abduction solver</article-title>
          ,
          <source>Künstliche Intell</source>
          .
          <volume>34</volume>
          (
          <year>2020</year>
          )
          <fpage>517</fpage>
          -
          <lpage>522</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Koopmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Del-Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tourret</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>Signature-based abduction for expressive description logics</article-title>
          ,
          <source>in: Proceedings of the 17th International Conference on Principles of Knowledge Representation and Reasoning</source>
          , KR 2020, Rhodes, Greece,
          <year>2020</year>
          , pp.
          <fpage>592</fpage>
          -
          <lpage>602</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Homola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Pukancová</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Boborová</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Balintová</surname>
          </string-name>
          , Merge, explain, iterate
          <article-title>: A combination of MHS and MXP in an ABox abduction solver</article-title>
          ,
          <source>in: Logics in Artificial Intelligence - 18th European Conference, JELIA</source>
          <year>2023</year>
          , Dresden, Germany,
          <source>September 20-22</source>
          ,
          <year>2023</year>
          , Proceedings, volume
          <volume>14281</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2023</year>
          , pp.
          <fpage>338</fpage>
          -
          <lpage>352</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.</given-names>
            <surname>Reiter</surname>
          </string-name>
          ,
          <article-title>A theory of diagnosis from first principles</article-title>
          ,
          <source>Artif. Intell</source>
          .
          <volume>32</volume>
          (
          <year>1987</year>
          )
          <fpage>57</fpage>
          -
          <lpage>95</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Greiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. W.</given-names>
            <surname>Wilkerson</surname>
          </string-name>
          ,
          <article-title>A correction to the algorithm in Reiter's theory of diagnosis, Artif</article-title>
          . Intell.
          <volume>41</volume>
          (
          <year>1989</year>
          )
          <fpage>79</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Wotawa</surname>
          </string-name>
          ,
          <article-title>A variant of Reiter's hitting-set algorithm</article-title>
          ,
          <source>Inf. Process. Lett</source>
          .
          <volume>79</volume>
          (
          <year>2001</year>
          )
          <fpage>45</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>K. M. Shchekotykhin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Jannach</surname>
          </string-name>
          , T. Schmitz,
          <article-title>MergeXplain: Fast computation of multiple conflicts for diagnosis</article-title>
          ,
          <source>in: Proceedings of the 24th International Joint Conference on Artificial Intelligence, IJCAI</source>
          <year>2015</year>
          ,
          <string-name>
            <given-names>Buenos</given-names>
            <surname>Aires</surname>
          </string-name>
          , Argentina, AAAI Press,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bechhofer</surname>
          </string-name>
          ,
          <article-title>The OWL API: A java API for OWL ontologies</article-title>
          ,
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <year>2011</year>
          )
          <fpage>11</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>I. Palmisano</surname>
          </string-name>
          ,
          <string-name>
            <surname>JFact</surname>
          </string-name>
          <article-title>DL reasoner</article-title>
          , http://jfact.sourceforge.net/, .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Stoilos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Hermit: An OWL 2 reasoner</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          <volume>53</volume>
          (
          <year>2014</year>
          )
          <fpage>245</fpage>
          -
          <lpage>269</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>