=Paper= {{Paper |id=None |storemode=property |title=Comparing Ontologies with ecco |pdfUrl=https://ceur-ws.org/Vol-1035/iswc2013_demo_13.pdf |volume=Vol-1035 |dblpUrl=https://dblp.org/rec/conf/semweb/GoncalvesPS13 }} ==Comparing Ontologies with ecco== https://ceur-ws.org/Vol-1035/iswc2013_demo_13.pdf
                    Comparing ontologies with ecco

                    Rafael S. Gonçalves, Bijan Parsia, and Uli Sattler

    School of Computer Science, University of Manchester, Manchester, United Kingdom


       Abstract. 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 categori-
       sation, 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.


1   Introduction

The diff tool presented in this paper, ecco, incorporates structural and semantic tech-
niques to detect differences between OWL ontologies at both axiom and concept level.
     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 cate-
gories, we derive finer-grained ones that reflect the apparent impact of the changes
detected, as described in [1]. 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.
     In addition to detecting axiom changes, ecco computes entailment and term differ-
ences between ontologies. Differences at the entailment level are computed according
to several entailment grammars explained in [2], and only shown to users upon re-
quest. 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.
     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.


2   Related Work

Structural difference, based on OWL’s notion of structural equivalence, is used in
several tools to present axiom changes between ontologies; specifically within Con-
tentCVS [3], Bubastis [6] and OWLDiff [5]. However, none of these produce any form
of alignment between axioms. The tool ContentCVS also computes entailment differ-
ences between ontologies, but does not extrapolate affected concepts from the entail-
ments in the diff. The tool CEX [4] computes entailment and concept differences be-
tween acyclic EL 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 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 hav-
ing 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.

                           Table 1: Example ontologies O1 and O2 .
                                O1                        O2
                    α1 :     AvB                  β1 :   AvB
                    α2 :     BvC                  β2 :   B vC uF
                    α3 :     C v ∃r.X             β3 :   C v ∃r.X
                    α4 :     ∃r.X v ∃r.Y          β4 :   XvD
                    α5 :     X vDuE               β5 :   F v ∃r.Y u G
                    α6 :     F v ∃r.Y


    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 be-
tween 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.

           Table 2: Coarse-grained categorisation of changes in diff(O1 , O2 ).
                        Removals                               Additions
           Effectual            Ineffectual       Effectual            Ineffectual
           {α4 , α5 }              {α2 , α6 }     {β2 , β5 }               {β4 }

 1
     The code is hosted at https://github.com/rsgoncalves/ecco-webui.
    Subsequently, ecco performs a fine-grained categorisation of the changes accord-
ing to entailment and justification relations, allowing us to identify and align changes
between ontologies. The categorisation is shown in Table 3, where we denote effec-
tual additions as EffAdds(O1 , O2 ), ineffectual additions as IneffAdds(O1 , O2 ), and
analogously for removals.

                    Table 3: Fine-grained categorisation of changes in diff(O1 , O2 ).
                    Coarse-grained              Fine-grained         Axiom           Axiom
                       category                   category           change        alignment
                                             Strgth(O1 , O2 )           β2           {α2 }
        Additions




                     EffAdds(O1 , O2 )
                                             StrgthNT(O1 , O2 )         β5           {α6 }
                     IneffAdds(O1 , O2 )     NewRed(O1 , O2 )           β4           {α5 }
                                             Weakng(O1 , O2 )           α5           {β4 }
        Removals




                     EffRems(O1 , O2 )
                                             PrRem(O1 , O2 )            α4             –
                                                                        α2           {β2 }
                     IneffRems(O1 , O2 )     NewRed(O1 , O2 )
                                                                        α6           {β5 }

     The fine-grained categorisation shown in Table 3 reveals such changes as α2 be-
ing 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. prospec-
tive) 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 .
     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 differ-
ences 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 ex-
trapolates 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 {α} →d A (resp. {α} →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 [2], e.g., differences w.r.t. atomic sub-
     sumptions, or differences over subsumptions involving asserted subconcepts.
    Table 4: Affected concepts with corresponding witness axioms and justifications.
                    Affected                       Witness                        Axiom
                                    Effect                   Justification(s)
                    concept                        axioms                       alignment
                                    Gained         AvF         {β1 , β2 }       {β2 } →i A
                       A
                                 superconcept      AvG        {β1 , β2 , β5 }   {β5 } →i A
     Specialised
                                    Gained         BvF           {β2 }          {β2 } →d B
                       B
                                 superconcept      BvG          {β2 , β5 }      {β5 } →i B
                      X        Lost superconcept   XvE            {α5 }         {α5 } →d X
                                                   F vG          {β5 }          {β5 } →d G
                                    Gained
                       G                           BvG         {β2 , β5 }       {β2 } →i G
                                  subconcept
      Generalised




                                                   AvG        {β1 , β2 , β5 }     —”—
                                    Gained         BvF           {β2 }          {β2 } →d F
                       F
                                  subconcept       AvF          {β1 , β2 }        —”—
                       E       Lost subconcept     XvE            {α5 }         {α5 } →d E


4    Discussion
In this paper we presented the diff tool ecco, and exemplified how its categorisation
mechanisms and presentation of differences can facilitate change analysis. By cate-
gorising 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 re-
port 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.

References
1. Gonçalves, R.S., Parsia, B., Sattler, U.: Categorising logical differences between OWL on-
   tologies. In: Proc. of CIKM-11 (2011)
2. Gonçalves, R.S., Parsia, B., Sattler, U.: Concept-based semantic difference in expressive de-
   scription logics. In: Proc. of ISWC-12 (2012)
3. Jiménez-Ruiz, E., Cuenca Grau, B., Horrocks, I., Berlanga Llavori, R.: Supporting concurrent
   ontology development: Framework, algorithms and tool. DKE 70(1), 146–164 (2011)
4. Konev, B., Ludwig, M., Wolter, F.: Logical difference computation with CEX 2.5. In: Proc. of
   IJCAR-12 (2012)
5. Kr̆emen, P., Šmı́d, M., Kouba, Z.: OWLDiff: A practical tool for comparison and merge of
   OWL ontologies. In: Proc. of DEXA-11 (2011)
6. Malone, J., Holloway, E., Adamusiak, T., Kapushesky, M., Zheng, J., Kolesnikov, N.,
   Zhukova, A., Brazma, A., Parkinson, H.: Modeling sample variables with an experimental
   factor ontology. Bioinformatics 26(8), 1112–1118 (2010)