<!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>Comparing ontologies with ecco</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rafael S. Gonc¸alves</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bijan Parsia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Uli Sattler</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science, University of Manchester</institution>
          ,
          <addr-line>Manchester</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we present the diff tool ecco, which detects changes to both axioms and concepts between OWL ontologies. Furthermore, the tool aligns axiom changes between each other, according to a fine-grained change categorisation, and subsequently aligns axiom changes with the concepts that each of those directly affect. The diff is open source, and made available as a standalone command-line tool, as well as a Web-based application.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>The diff tool presented in this paper, ecco, incorporates structural and semantic
techniques to detect differences between OWL ontologies at both axiom and concept level.</p>
      <p>
        At the axiom level, ecco uses structural difference to detect additions and removals,
and subsequently verifies whether these changes have any logical impact (i.e., whether
they are logically effectual or ineffectual). Based on these two, coarse-grained
categories, we derive finer-grained ones that reflect the apparent impact of the changes
detected, as described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. For instance, by further constraining an axiom A v B
into A v B u C we “strengthen” it, and the relation between the stronger axiom and
its preceding version is made explicit by our categorisation (that is, we align the source
and target of the change), and suitably presented by our tool. Such a categorisation of
changes is shown to facilitate the navigation through, and analysis of axioms in the diff.
      </p>
      <p>
        In addition to detecting axiom changes, ecco computes entailment and term
differences between ontologies. Differences at the entailment level are computed according
to several entailment grammars explained in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and only shown to users upon
request. These entailment differences are used to retrieve the sets of concepts that were
specialised or generalised, that is, concepts which have a new superconcept or a new
subconcept, respectively. Finally, the tool aligns concept changes with axiom changes,
where each (effectual) axiom is aligned with the concepts it directly affects.
      </p>
      <p>
        The diff ecco is freely available as a command-line tool with advanced features, as
well as a Web-based application. Both of these output an XML change set file and a
transformation of that into HTML, which allows users to browse through and focus on
those changes of utmost interest using any Web browser and operating system.
Structural difference, based on OWL’s notion of structural equivalence, is used in
several tools to present axiom changes between ontologies; specifically within
ContentCVS [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], Bubastis [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and OWLDiff [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, none of these produce any form
of alignment between axioms. The tool ContentCVS also computes entailment
differences between ontologies, but does not extrapolate affected concepts from the
entailments in the diff. The tool CEX [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] computes entailment and concept differences
between acyclic E L terminologies with role hierarchies and range restrictions. In addition
to the major restriction on its input, CEX does not compute changes between axioms,
nor does it produce any form of alignment between axioms and the terms they affect.
3
      </p>
      <p>ecco: A hybrid diff for OWL 2 ontologies
The diff ecco is an open source Java tool available at https://github.com/
rsgoncalves/ecco. Most major (i.e., computationally expensive) operations are
performed in parallel, taking advantage of new concurrency features in Java 7. The
command line interface allows tuning the diff using advanced options, all of which
can naturally be used programatically as well. Additionally, there is a Web-based front
end that allows users to use the system on small to medium ontologies, without
having to download it. A demo instance of the Web-based version of ecco is deployed
at http://owl.cs.manchester.ac.uk/diff.1 In order to demonstrate the
functionality of the tool, as well as how its output can be interpreted, we carry out
an example diff walkthrough using the toy ontologies in Table 1, and further on we
show the output of ecco on those same ontologies.</p>
      <p>To start with, ecco computes the sets of additions and removals between O1 and
O2 according to structural equivalence. From these changes the tool distinguishes
between those that have logical impact (effectual) and those that do not (ineffectual), that
is, we check which removed axioms are entailed by O2 (ineffectual removals), and
analogously for added axioms. This coarse-grained categorisation is shown in Table 2.
1 The code is hosted at https://github.com/rsgoncalves/ecco-webui.</p>
      <p>Subsequently, ecco performs a fine-grained categorisation of the changes
according to entailment and justification relations, allowing us to identify and align changes
between ontologies. The categorisation is shown in Table 3, where we denote
effectual additions as E Adds(O1; O2), ineffectual additions as Ine Adds(O1; O2), and
analogously for removals.</p>
      <p>The fine-grained categorisation shown in Table 3 reveals such changes as 2
being strengthened into 2 with shared terms, and similarly 6 into 5 though using new
terms. In the set of ineffectual changes we have only new retrospective (resp.
prospective) redundancies, that is, added axioms (resp. removed axioms) for which there are
more constraining axioms in O1 (resp. O2). For instance, 4 is a weaker version of
5. Within the effectual removals we have 5 which is weakened into 4 using shared
terms, and 4 which has no identifiable relation with axioms in O2.</p>
      <p>
        After axiom changes are categorised, ecco detects which atomic terms had their
meaning affected between ontologies.2 In order to do that, ecco first computes
differences w.r.t. finite sets of entailments, defined according to some entailment grammar.3
From the sets of lost and gained entailments, so called witness axioms, the tool
extrapolates the affected terms depending on whether these occur on the left hand side
of an entailment difference (specialised term), or right hand side (generalised term).
Furthermore, ecco distinguishes between whether a concept A is directly affected, or
indirectly affected via some other concept change which propagates to A. Finally, the
tool aligns term and axiom changes based on witness axioms and their justifications:
if the justification for a witness axiom that witnesses a direct (resp. indirect) change to
A contains an effectual change , then is said to directly (resp. indirectly) affect A,
denoted f g !d A (resp. f g !i A). In Table 4 we show the result of computing and
aligning term differences according to entailments between atomic concepts.
2 Currently restricted to concept changes only, though roles are easily added.
3 The tool supports all entailment grammars specified in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], e.g., differences w.r.t. atomic
subsumptions, or differences over subsumptions involving asserted subconcepts.
f 5g
f 2; 5g
f 1; 2; 5g
f 5g
      </p>
      <p>Axiom
alignment
f 2g !i A
f 5g !i A
f 2g !d B
f 5g !i B
f 5g !d X
f 5g !d G
f 2g !i G</p>
      <p>— ” —
4</p>
    </sec>
    <sec id="sec-2">
      <title>Discussion</title>
      <p>In this paper we presented the diff tool ecco, and exemplified how its categorisation
mechanisms and presentation of differences can facilitate change analysis. By
categorising axioms the tool presents the changed axioms and what they are a change of.
Thus we can group and align changes according to their impact, allowing users to shift
their attention to specific types of changes rather than going through an unstructured
change set while inspecting both ontologies. Based on the combination and alignment
of axiom and term changes, ecco provides a comprehensive and intelligible change
report that would suit most ontology engineers, whether they are only interested in term
or axiom changes. In particular, it facilitates the understanding of the impact of axiom
changes on the ontology, and the meaning of its terms (via entailment differences). The
diff tool is freely distributed as both a command line tool and a Web-based application.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Gonc¸alves, R.S.,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Categorising logical differences between OWL ontologies</article-title>
          .
          <source>In: Proc. of CIKM-11</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Gonc¸alves, R.S.,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Concept-based semantic difference in expressive description logics</article-title>
          .
          <source>In: Proc. of ISWC-12</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jime</surname>
          </string-name>
          <article-title>´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuenca Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berlanga</surname>
            <given-names>Llavori</given-names>
          </string-name>
          , R.:
          <article-title>Supporting concurrent ontology development: Framework, algorithms and tool</article-title>
          .
          <source>DKE</source>
          <volume>70</volume>
          (
          <issue>1</issue>
          ),
          <fpage>146</fpage>
          -
          <lpage>164</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Konev</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ludwig</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Logical difference computation with CEX 2.5</article-title>
          .
          <source>In: Proc. of IJCAR-12</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Kr˘emen, P., Sˇm´ıd,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Kouba</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z.</surname>
          </string-name>
          :
          <article-title>OWLDiff: A practical tool for comparison and merge of OWL ontologies</article-title>
          .
          <source>In: Proc. of DEXA-11</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Malone</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Holloway</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adamusiak</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kapushesky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheng</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolesnikov</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhukova</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brazma</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parkinson</surname>
          </string-name>
          , H.:
          <article-title>Modeling sample variables with an experimental factor ontology</article-title>
          .
          <source>Bioinformatics</source>
          <volume>26</volume>
          (
          <issue>8</issue>
          ),
          <fpage>1112</fpage>
          -
          <lpage>1118</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>