<!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>Just: a Tool for Computing Justi cations w.r.t. ELH Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michel Ludwig?</string-name>
          <email>michel@tcs.inf.tu-dresden.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Theoretical Computer Science</institution>
          ,
          <addr-line>TU Dresden</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We introduce the tool Just for computing justi cations for general concept inclusions w.r.t. ontologies formulated in the description logic EL extended with role inclusions. The computation of justi cations in Just is based on saturating the input axioms under all possible inferences w.r.t. a consequence-based calculus. We give an overview of the implemented techniques and we conclude with an experimental evaluation of the performance of Just when applied on several practical ontologies.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>rst give a brief overview of the implemented techniques, and we conclude the
paper with an experimental evaluation of its performance on several practical
ontologies. The tool and proofs establishing its correctness and completeness are
available from http://lat.inf.tu-dresden.de/~michel/software/just/
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        We assume the reader to be familiar with basic notions of description logics [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
An ELH-ontology, or ELH-TBox T , is a nite set of axioms of the form C v D or
r v s, where C, D are EL-concepts and r, s are roles names. An EL-concept C is
either a concept name, or a concept that makes use of the concept constructors
&gt;, u, 9r:D only, where r is a role name and D an EL-concept. We assume
standard set-theoretic semantics.
      </p>
      <p>We now formally introduce the main notion relevant for our tool.
De nition 1. Let T be an ELH-TBox and let C; D be EL-concepts. A justi
cation1 for T j= C v D is a subset M T such that M j= C v D, and for
every M0 ( M it holds that M0 6j= C v D. The set of all the justi cations for
T j= C v D will be denoted by JustT (C v D).</p>
      <p>Example 1. Let T = fA v X; A v Y; X v 9r:Y; 9r:Y v B; Y v B; Y v
Y 0; Y 0 v Y g. Then the set JustT (A v B) consists of the two sets fA v X; X v
9r:Y; 9r:Y v Bg and fA v Y; Y v Bg.</p>
      <p>
        Note that there can exist exponentially many justi cations for a given TBox T
and a concept inclusion C v D. Hence, unlike with standard reasoning in ELH,
it is not possible to compute all justi cations in polynomial time w.r.t. the size of
the TBox in every case [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. It is however still (theoretically) possible to compute
one justi cation in polynomial time.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Tool Overview &amp; Computation Techniques</title>
      <p>Just v 0.1 is implemented in Java and it takes an ELH-TBox T and two EL
concepts C; D as input. The default operation mode of Just is then to compute
and output the set JustT (C v D). Alternatively, the tool can be instructed to
search for one justi cation for T j= C v D only.</p>
      <p>We rst focus on describing how the computation of justi cations for
inclusions between concept names w.r.t. normalised TBoxes is performed in Just. A
TBox T is said to be in normal form if every axiom of T is of one of the following
forms: din=1 Ai v B, A v 9r:X, 9r:X v B, or r v s, where n 0, A; B are
concept names, and an expression of the form X stands either for the concept
name X or for the &gt;-concept.</p>
      <p>The computation of justi cations for inclusions between concept names w.r.t.
a normalised TBox T is performed by a saturation procedure that computes all
the (minimal) derivations for inclusions of the form A v B, &gt; v A, or &gt; v &gt;, for
1 Justi cations are also known as MinAs in the literature.</p>
      <p>(RoleSucc) r v s</p>
      <p>r v t
(Ex) X v Y</p>
      <p>A v B</p>
      <p>r v s
(Conj) A v X1</p>
      <p>A v Xn
(Merge) A v X</p>
      <p>X v B</p>
      <p>if s v t 2 T
if A v 9r:X 2 T and 9s:Y v B 2 T
if X1 u : : : u Xn v B 2 T with n
0
(Ax)</p>
      <p>A v A
(AxTop)</p>
      <p>A v &gt;
(RoleAx)
: : :
A v B
A v B
A v B</p>
      <p>
        A v B
concept names A and B, using the calculus T depicted in Fig. 1. The calculus T is
related to calculi used for consequence-based reasoning [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Note that expressions
of the form A must be consistently instantiated (either with concept names or
&gt;) in the premise and the conclusion of inference rules.
      </p>
      <p>The axioms used in the application of the inference rules for generating a
derivation for X v Y yield a subset of T from which the consequence X v Y
logically follows. The minimal such axiom sets resulting from all the (minimal)
derivations for X v Y are therefore the justi cations for X v Y w.r.t. T .
Example 2. Let T be de ned as in Example 1. Then, for instance, the following
two derivations 1 and 2 for the inclusion A v B can be generated w.r.t. T
using the calculus T. We associate with each derivation i a set Axioms( i)
which consists of the axioms of T that were used in the inference rule applications
occurring in i. First, 1 is given as follows:</p>
      <p>(Ax)
(Conj) A v A</p>
      <p>A v Y</p>
      <p>Y v Y (Ax)
Y v B (Conj)
(Merge)
We have Axioms( 1) = fA v Y; Y v Bg. The derivation
2 can be depicted as
with Axioms( 2) = fA v Y; Y v B; Y v Y 0; Y 0 v Y g ) Axioms( 1).</p>
      <p>(Ax)
(Conj) A v A</p>
      <p>A v Y</p>
      <p>(Ax) Y v Y
(Conj) Y v Y 0</p>
      <p>Y v Y
Y v B</p>
      <p>Y 0 v Y 0 (Ax)
Y 0 v Y ((CMoenrjg)e)
(Conj)
(Merge)</p>
      <p>Following the example of derivation 2, it is possible to construct in nitely
many derivations for the inclusion A v B from the TBox T (as de ned in
Example 1). However, one can prove that for nding all justi cations it is
sufcient to construct so-called admissible derivations only in which every
subderivation 0 of an inclusion does not contain an occurrence of as a premise
in 0. It is easy to see that there can only exist nitely many admissible
derivations w.r.t. a normalised TBox T for a given inclusion .</p>
      <p>To compute justi cations w.r.t. general TBoxes, Just keeps track of which
original axiom corresponds to which normalised axiom. The justi cations for a
consequence C v D w.r.t. a general TBox T are then generated from the justi
cations for C v D w.r.t. the normalisation of T by successively replacing every
normalised axiom with all the axioms from which it originates. The minimal sets
obtained in that way are the justi cations w.r.t. the general TBox.
Example 3. Let T = fA v B u 9r:&gt;; A v B u 9s:&gt;g and let TN = fA v B; A v
9r:&gt;; A v 9s:&gt;g be the normalisation of T . Then JustTN (A v B) = ffA v Bgg.
As the axiom A v B in TN originates from both axioms in T , we obtain that
JustT (A v B) consists of the two sets fA v B u 9r:&gt;g and fA v B u 9s:&gt;g.</p>
      <p>The computation of justi cations for inclusions of the form C v D w.r.t. T ,
where C and D are not necessarily concept names, can be done analogously by
computing justi cations for AC v AD w.r.t. T [ X , where X = fAC v C; D v
ADg for fresh concept names AC and AD. The justi cations for C v D are then
the minimal sets obtained from the justi cations for AC v AD after removing
the axioms contained in X .</p>
      <p>Example 4. Let T = fA v Bg and let X = fAC v A u Y; B v ADg. Then
JustT [X (AC v AD) = ffAC v A u Y; B v AD; A v Bgg and JustT (A u Y v
B) = ffA v Bgg.</p>
      <p>
        Similarly to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], Just extracts a reachability-based module for X v Y rst
before starting to compute all the (minimal) derivations for X v Y . Moreover, we
used techniques from resolution-based theorem provers to obtain an acceptable
performance of our tool in practice. In particular, whenever a derivation 0 for
an inclusion was generated, another derivation for had been obtained
previously, and all the axioms associated with were contained in the set of
axioms associated with 0, then 0 was discarded. Such a deletion strategy
corresponds to forward subsumption deletion in resolution theorem provers. We
also employed a technique equivalent to backward subsumption deletion.
      </p>
      <p>
        The computation of a single justi cation is currently implemented by
stopping the saturation process after a derivation for the target inclusion has been
found.2 As the axioms occurring in this derivation might not represent a justi
cation yet, super uous axioms are identi ed by checking for each axiom whether
the target inclusion still follows (using the reasoner ELK [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) after the considered
axiom has been removed.
2 Note that in Just v 0.1 the saturation step is not guaranteed to nish in polynomial
time w.r.t. the size of the input TBox, even when only one justi cation is computed.
For our experiments we picked three ontologies that are typically considered to
pose di erent challenges to DL reasoners and that are expressed mainly in ELH:
version 13.12e of the NCI thesaurus,3 the January 2010 international release
of SNOMED CT, and the GALEN-OWL ontology.4 In the case of NCI all the
152 axioms that fell outside the considered ELH fragment were rst removed
from the ontology. The number of axioms, concept names, and role names in
the resulting ontologies is shown in Tbl. 1. For each of the three ontologies T
we then randomly selected 1000 inclusions between concept names, A v B, such
that T j= A v B holds. In a rst set of experiments we used Just and the
algorithm for computing all justi cations implemented in the OWL-API [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ] (using
the reasoner FaCT++5 [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) to compute all the justi cations for each selected
inclusion w.r.t. the respective ontology. In a second series of experiments we
instructed Just to only search for one justi cation for each considered inclusion.
All experiments were conducted on a PC equipped with an Intel i5-2500K CPU
running at 3.30GHz and with 16 GiB of main memory. An execution timeout of
10 CPU minutes was imposed on each problem.
      </p>
      <p>The results obtained for computing all justi cations are shown in Tbl. 2.
The rst column indicates which ontology was used. The next ve columns then
show the results obtained with Just, whereas the last two columns refer to
the OWL-API implementation. More precisely, the second and seventh column
indicate the number of successful computations within the given time limit by
the respective implementations. The average and the maximal number, as well
as the maximal size of the justi cations as computed by Just are shown in the
next three columns. The sixth and eighth columns contain the average CPU time
3 http://evs.nci.nih.gov/ftp1/NCI_Thesaurus
4 http://owl.cs.manchester.ac.uk/research/co-ode/
5 Note that at the time of writing it was not possible to use the reasoner ELK in
combination with the OWL-API implementation for computing justi cations.
required by the respective implementations for the successful computations over
each considered set of inclusions.</p>
      <p>Regarding the computation of all justi cations with Just, the lowest number
of successful computations were observed for GALEN-OWL, despite it being the
smallest ontology of the corpus. The largest size, average &amp; maximal number of
justi cations, as well as the longest average computation times involving Just,
were found for SNOMED. No computation succeeded within the allocated time
for experiments involving GALEN-OWL using the OWL-API implementation.
In general, we observed fewer timeouts and shorter average computation times
with Just than with the OWL-API.</p>
      <p>The results obtained for computing only one justi cation using Just are
given in Tbl. 3. Analogously to Tbl. 2, the number of successful computations
and the maximal size of the computed justi cations are given in the second
and third columns. The last column shows the average CPU time required to
compute one justi cation.</p>
      <p>One can see that fewer timeouts occurred when only one instead of all
justi cations were computed with Just. The least number of successful
computations was now observed for SNOMED, whereas only 22 computations involving
GALEN-OWL did not succeed within the given time limit. The longest average
computation times were reported for GALEN-OWL, and the largest justi cation
was again computed for SNOMED CT.</p>
      <p>In all the successful computations Just required at most 14.13 GiB of main
memory.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We presented the tool Just for computing either one, or all the justi cations
for general concept inclusions w.r.t. ontologies formulated in ELH. Our
experimental evaluation showed that Just is capable of nding all the justi cations
for consequences in many practical cases within a reasonable time, even when a
large number of justi cations exist.</p>
      <p>As future work we aim to implement an extended calculus which would allow
it to compute justi cations for more expressive description logics. Our tool could
also bene t from a more goal-oriented construction of derivations and from an
improved module extraction procedure that yields smaller modules. It would
also be interesting to implement an incremental computation of justi cations,
which would permit it to generate as many justi cations as requested by the user.
Finally, we also plan to perform a more extensive comparison of the performance
of our tool against other approaches for computing justi cations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.F</given-names>
          </string-name>
          . (eds.):
          <article-title>The Description Logic Handbook: Theory, Implementation, and Applications</article-title>
          . Cambridge University Press, 2nd edn. (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , Pen~aloza, R.,
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Pinpointing in the description logic EL+</article-title>
          .
          <source>In: Proceedings of the 30th Annual German Conference on AI (KI 2007). Lecture Notes in Computer Science</source>
          , vol.
          <volume>4667</volume>
          , pp.
          <volume>52</volume>
          {
          <fpage>67</fpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The OWL API: A Java API for OWL ontologies</article-title>
          .
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <volume>11</volume>
          {
          <fpage>21</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
          </string-name>
          , E.:
          <article-title>Finding all justi cations of OWL DL entailments</article-title>
          .
          <source>In: Proceedings of the 6th International Semantic Web Conference &amp; 2nd Asian Semantic Web Conference (ISWC</source>
          <year>2007</year>
          &amp;
          <article-title>ASWC 2007)</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>4825</volume>
          , pp.
          <volume>267</volume>
          {
          <fpage>280</fpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Debugging unsatis able classes in OWL ontologies</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <volume>268</volume>
          {
          <fpage>293</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Consequence-driven reasoning for Horn SHIQ ontologies</article-title>
          .
          <source>In: Proceedings of the 21st International Joint Conference on Arti cial Intelligence (IJCAI'09)</source>
          . pp.
          <year>2040</year>
          {
          <year>2045</year>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , Krotzsch,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Simancik</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>The incredible ELK: From polynomial procedures to e cient reasoning with EL ontologies</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>53</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>61</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Finding all justi cations in SNOMED CT</article-title>
          .
          <source>ScienceAsia</source>
          <volume>39</volume>
          (
          <issue>1</issue>
          ),
          <volume>79</volume>
          {
          <fpage>90</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ji</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A modularization-based approach to nding all justi cations for OWL DL entailments</article-title>
          .
          <source>In: Proceedings of the 3rd Asian Semantic Web Conference (ASWC 2008). Lecture Notes in Computer Science</source>
          , vol.
          <volume>5367</volume>
          , pp.
          <volume>1</volume>
          {
          <fpage>15</fpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Tsarkov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          , I.:
          <article-title>FaCT++ description logic reasoner: System description</article-title>
          .
          <source>In: Proceedings of the Third International Joint Conference on Automated Reasoning (IJCAR 2006). Lecture Notes in Computer Science</source>
          , vol.
          <volume>4130</volume>
          , pp.
          <volume>292</volume>
          {
          <fpage>297</fpage>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A new method of nding all justi cations in OWL 2 EL</article-title>
          . In
          <source>: Proceedings of the 2013 IEEE/WIC/ACM International Conferences on Web Intelligence (WI</source>
          <year>2013</year>
          ). pp.
          <volume>213</volume>
          {
          <fpage>220</fpage>
          . IEEE Computer Society (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>