<!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>DRAOn: A Distributed Reasoner for Aligned Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Chan Le Duc</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Myriam Lamolle</string-name>
          <email>myriam.lamolleg@iut.univ-paris8.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antoine Zimmermann</string-name>
          <email>antoine.zimmermann@emse.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olivier Cure´</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>E ́ cole Nationale Supe ́rieure des Mines</institution>
          ,
          <addr-line>FAYOL-ENSMSE, LSTI, F-42023 Saint-E ́ tienne</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LIASD Universite ́ Paris 8 - IUT de Montreuil</institution>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>LIGM Universite ́ Paris-Est</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>DRAOn is a distributed reasoner which offers inference services for a network of OWL ontologies correlated by alignments. Reasoning with such networks of ontologies depends on the semantics we define for alignments with respect to ontologies. DRAOn supports two semantics for a network of ontologies: the standard Description Logics (DL) semantics for non-distributed reasoning, and the Integrated Distributed Description Logics (IDDL) semantics for distributed reasoning. Unlike the DL semantics where alignments are considered as inter-ontology axioms, the IDDL semantics interprets alignments as correspondences enabling to propagate non-emptiness (always satisfiable) and unsatisfiability of atomic concepts from an ontology to another one. Consequently, this makes distributed reasoning for a network of ontologies possible since consistency of the whole network can be decided from consistency of each ontology with axioms built from alignments such that these axioms ensure just necessary propagations of knowledge.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>We present DRAOn, a reasoner for a distributed network of aligned ontologies. The goal
of DRAOn is to be able to reason on a set of independently developed ontologies that
may overlap in concepts but are following different modelling perspectives, granularity,
coverage, etc. To be able to do that, we assume that there exists explicit correspondences
between different ontologies, that have been built by automatic ontology matchers, by
humans, or partly by both. Therefore, the structure that DRAOn is reasoning with is not
a monolithical theory, but a network of aligned ontologies. Moreover, DRAOn is able
to make use of existing reasoners as black boxes for some of its tasks.</p>
      <p>The issues faced when reasoning with heterogeneous, distributed ontologies, even
when they have been already matched, are twofold: (a) the semantics of cross-ontology
correspondences can be tricky to define when ontologies have different modelling
perspectives because a correspondence of terms from different ontologies does not
necessarily translates directly to an axiom in the ontology language (or languages); and (b)
the distribution of ontologies, and possibly of reasoning services associated with them
may influence the design of the global reasoner.</p>
    </sec>
    <sec id="sec-2">
      <title>Background and related work</title>
      <p>
        In this paper, we assume that ontologies are all Description Logic theories and we
assume some familiarity with DLs. We simply repeat that DL ontologies are interpreted
according to an interpretation function I over a domain I , and interpretations that
satisfy all the axioms of an ontology are called models of the ontology. There are a
number of existing OWL DL reasoners such as HermiT [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Pellet [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or FacT++ [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>In order to use several ontologies for reasoning, we assume the existence of
correspondences between ontologies of the form (ei; ej ; r), where ei is a term from one
ontology, ej a term from another ontology, and r denotes a fixed binary relation such as
equality, subsumption, disjointness, etc. In this paper, only correspondences where r is
= (equality of individuals), 2 (class membership) or v (subsumption) will be
considered. A set of correspondences between a pair of ontologies is an ontology alignment
(or alignment for short). A set of ontologies together with their pairwise alignments is
called a network of aligned ontologies (NAO). We will use bold face to denote sets, and
therefore, the notation for an NAO will generally be hO; Ai.</p>
      <p>Reasoning with NAOs strongly depends on the semantics of alignments. We say
that a certain semantics of alignments defines a distributed logic (sometimes called
“contextual logic“ or even “modular ontology language”). In a distributed logic L,
correspondences map to formula of the logic in question, so we will use a function L to
denote the logical formula associated to the correspondence. For instance, the simplest
form of distributed logic is normal DL. An NAO can be interpreted as a DL ontology
by mapping (ei; ej ; v) (resp. (ei; ej ; =), (ei; ej ; 2)) to DL(ei; ej ; v) = ei v ej (resp.
ei = ej , ej (ei)). Reasoning over an NAO is then the same as reasoning with an ontology
formed by the union of all the ontologies in the NAO, and the axioms corresponding to
the correspondences.</p>
      <p>
        A number of authors, including ourselves, have argued that this is not satisfying
when dealing with heterogeneous ontologies. Therefore, several other distributed
logics were proposed. Here we focus on the ones that are adopting a Local Model
Semantics (LMS [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), among which we find Distributed Description Logics (DDL [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]),
E -connections [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and IDDL [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. LMS states that ontologies in an NAO have to be
interpreted separately (i.e., an interpretation of an NAO has a set of DL interpretations)
and the NAO is satisfied if each ontology is locally satisfied, and some extra knowledge,
such as alignments, can constrain further that satisfying models of the NAO. In DDL, a
correspondence is interpreted as a bridge rule DDL(ei; ej ; v) = i:ei v! j:ej which
intuitively states that, from the view point of ej ’s ontology, the term ei is a subclass of
the term ej . In E -connections, correspondences can take many more forms but can be
translated into axioms using links, that are terms similar to DL roles, but which denote
binary relations between elements of different interpretations domains. More precisely,
Econn(ei; ej ; v) = ei v 9hLiej , where L is a link, says that the elements of ei in the
first ontology are in relationship with the elements of ej in the second ontology, via link
L. Such a link axiom would be part of ontology ei, which means that it represents a fact
from ei’s ontology point of view.
      </p>
      <p>As opposed to E -connections and DDL, which treats correspondences as
subjective views of an ontology wrt another ontology’s terms, we proposed Integrated
Distributed Description Logics (IDDL) as a distributed logic that assumes local ontologies
are agnostic to each others, and correspondences express knowledge of a mediation
view that ties together the ontologies. In IDDL, DDL(ei; ej ; v) = i:ei v! j:ej is
simply called a correspondence. An IDDL interpretation of an NAO hO; Ai is a
structure hI; i such that I = fIogo2O is a set of DL interpretations of the ontologies, and
= f o : Io ! go2O is a set of functions (so called equalising functions) from
local domains of interpretations to a set called the global domain. The composition of
a local interpretation function Ii with its corresponding equalising function i defines
the global interpretations of local terms. A correspondence i:ei v! j:ej is satisfied iff
i(eiIi ) j (ejIj ).4</p>
      <p>
        There are implementations of DDL (Drago, a tableau-based peer-to-peer reasoner [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ])
and E -connections (embedded in an earlier version of Pellet. DRAOn, the reasoner
described here, implements both the classical DL semantics of NAOs, and the IDDL
semantics, according to our algorithm described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Implementation and Architecture</title>
      <p>
        DRAOn implements the algorithm in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] in Java, and provides a Java API. We first
present an overview of the algorithm before giving more implementation details.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Algorithm</title>
        <p>Let hO; Ai be an NAO where O is a set of DL decidable ontologies, and A is a set of
alignments between these ontologies. We assume that each ontology o 2 O is attached
to a reasoner that can be queried with a set X of DL axioms and answer whether o [ X
is consistent. Then, checking the consistency of an NAO amounts to querying the
local reasoners multiple times with a well chosen set of axioms. The main idea is that,
when correspondences are restricted to cross-ontology subsumption, equality or
membership, alignments can only influence the vacuity (unsatisfiability) and non-vacuity
(non-emptiness) of concepts or roles appearing in the alignments.</p>
        <p>The main steps of the algorithm are the following:
1. build an alignment ontology, noted A, which corresponds to the translation of
correspondences into OWL axioms (using DL mentioned in Sect. 2);
2. if A is inconsistent then the NAO is inconsistent;
3. choose a subset S (resp. P ) of the concepts (resp. roles) appearing in A to build a
global configuration consisting of axioms Ci(x) (non-emptiness) with x a fresh
individual name for each Ci 2 S and Cj v ? (unsatisfiability) for each Cj 62 S
(resp., Ri(x; y) for R 2 P and &gt; v 8Rj :? instead);
4. for a given ontology o, define a local configuration wrt o as the subset of which
involves only terms from o, noted !o;
5. if A [ is inconsistent, then go back to step 3;
6. for each o 2 O, query the local reasoner attached to o using the axioms in !o; if
all local reasoners answer positively, then the network is consistent. Otherwise, go
back to step 3 until there are no more configuration available.
4 For a set S, (S) has to be understood as the set f (x) j x 2 Sg.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Architecture</title>
        <p>In terms of system architecture, DRAOn consists of a global OWL reasoner and several
local OWL reasoners. The global reasoner is in charge of (i) computing global
configurations , (ii) checking consistency of A [ for each global configuration and
(iii) sending a local configuration to each local reasoner. Each local reasoner checks
consistency of o [ .</p>
        <p>The distributed behavior of the algorithm results from a feature of IDDL which does
not enforce a strong relationship between alignments and ontologies. Instead of merging
ontologies and alignments into a unique ontology, DRAOn distributes reasoning tasks
over ontologies to different local reasoners. In addition to early improvements, we
implement optimizations for reducing the number of configurations to be considered and
for improving communication protocol between global and local reasoners. The main
ideas are:
– Global configurations are built in an incremental way, and results obtained from
checking previous configurations are reused. For each configuration, we check
entailment rather than consistency. This allows for putting forward eventual
backtracking points. For example, if Oi j= Ci v ? (resp. Oi j= Ci(x)) then we do not
need to check the configurations that contain Oi j= Ci(x) (resp. Ci v ?).
– If there is a set of concepts (or roles) which are equivalent, we need to check only
configurations which contain one representative concept (or role) from this set.
– Configurations consisting of non-emptiness axioms Ci(x) are checked prior to
those consisting of unsatisfiability axioms Cj v ?. This idea is based on the fact
that concepts are commonly satisfiable in ontologies.
– The communication protocol between global and local reasoners is parallelized,
that means, configurations are sent to local reasoners in a broadcasting way rather
than a sequential one. The global reasoner uses Java threads to manage
communication with the local reasoners. We have to use sockets to establish the communication
between global and local reasoners instead of OWLLink5. This is due to efficiency
question and an intrinsic characteristic of IDDL.</p>
        <p>Apart from checking consistency of an NAO, the current version of DRAOn
implements entailment services under the IDDL semantics for some kinds of entailment
concept axioms. Therefore, DRAOn offers the following inference services:
– Checking consistency of an NAO under the DL semantics in a non-distributed way.</p>
        <p>In this setting, DRAOn creates a unique OWL ontology, namely global ontology,
that is obtained by merging the axioms of all ontologies and the correspondences
of alignments. Reasoning on the global ontology is performed in a non-distributed
way, that means, a OWL reasoner is used for checking consistency of the global
ontology. The network is consistent if and only if the global ontology is consistent
– Checking entailment of an OWL axiom by an NAO under the DL semantics in a
non-distributed way;
5 http://www.owllink.org/
– Checking consistency of an NAO based on the IDDL semantics in a non-distributed
way, that is, all reasoning over ontologies and alignments is sequentially performed
at one site on a computer.
– Checking consistency of an NAO based on the IDDL semantics in a distributed
way.
– Checking entailment of some kinds of OWL axioms by a network of aligned
ontologies based on the IDDL semantics in a distributed way.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experiments</title>
      <p>
        DRAOn uses the OWL API6 to manipulate ontologies, the Alignment API [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] to deal
with alignments, and the HermiT (version 1.3.6) 7 reasoner to check locally consistency
of ontologies and alignments. We have performed some experiments with well-known
ontologies and alignment methods. The following table presents empirical results
obtained from the current version of DRAOn8. These experiments have run on a MAC
with 4Gb RAM, 2.4 GHz Intel Core i5. The result for the distributed IDDL reasoning
was obtained with a computer network consisting of the MAC and a DELL with 2Gb
RAM, 1.06GHz Intel i2.
      </p>
      <p>Ontology 1 Ontology 2 Alignment DL non-distr. IDDL distr. IDDL
Small NCI Small FMA Alcomo Map. 7,5s 46s 30s
(10,000 axioms, (3,800 axioms, (2,800 corr.)
6,500 entities) 3,700 entities)</p>
      <p>Human Mouse Ref. Map. 6s 4.5s 4s
(5,500 axioms, ( 4,500 axioms, (1516 corr.)
3,300 entities) 2,750 entities)
IDDL reasoning performances depend on the two services
OWLReasoner.getTypes(.) and OWLReasoner.getUnsatisfiableClasses() which are called
for checking unsatisfiability and non-emptiness of concepts involved in alignments.
These services check for unsatisfiability and non-emptiness every concept name
occurring in an ontology while the algorithm for IDDL consistency requires to check for
unsatisfiability and non-emptiness only concepts involved in alignments. Consequently,
HermiT raises an “OutOfMemoryError ” when it is called for getTypes(.) on the
ontology “Small SNOMED”.</p>
      <p>Theoretically, response time of inference services under the DL and IDDL
semantics increases, respectively, double exponentially and exponentially in the number of
ontologies (and the size of alignments). To make this difference occur, we might need
a very large network of aligned ontologies. In addition, it might be required to perform
further experiments to establish relationships between kinds of aligned ontologies and
IDDL reasoning performance.
6 http://owlapi.sourceforge.net/
7 http://www.hermit-reasoner.com/
8 http://iddl.gforge.inria.fr/</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>We have presented an OWL-based distributed reasoner, called DRAOn, which offers
inference services for a network of aligned OWL ontologies. The distributed behavior
of DRAOn is based on a feature of the IDDL semantics which allows a reasoner to
distribute reasoning tasks over ontologies to different reasoners. In terms of performance,
DRAOn is considerably penalized by unavailability of specific services of an OWL
reasoner, for instance, returning all unsatisfiable concepts which belong to a given set
of concepts; or returning all non-empty concepts which belong to a given set of
concepts. Availability of such services in a future release of OWL reasoners may improve
dramatically the performance of DRAOn.</p>
      <p>We intend to extend DRAOn to reasoning on a network with disjointness
correspondences in alignments. This may require us to develop new optimizations since the
current algorithm for such a network is highly intractable.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Shearer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          , I.:
          <article-title>HermiT: A Highly-Efficient OWL Reasoner</article-title>
          .
          <source>In: Proc. of the OWLED</source>
          <year>2008</year>
          .
          <article-title>(</article-title>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: a pratical OWL-DL reasoner</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ) (
          <year>2007</year>
          )
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <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: Proc. of IJCAR 2006</source>
          . Volume
          <volume>4130</volume>
          ., Springer (
          <year>2006</year>
          )
          <fpage>292</fpage>
          -
          <lpage>297</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ghidini</surname>
          </string-name>
          , Giunchiglia: Local Models Semantics,
          <source>or contextual reasoning=Locality+Compatibility. ai 127(2)</source>
          (
          <year>2001</year>
          )
          <fpage>221</fpage>
          -
          <lpage>259</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Borgida</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serafini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Distributed description logics : Assimilating information from peer sources</article-title>
          .
          <source>Journal Of Data Semantics (1)</source>
          (
          <year>2003</year>
          )
          <fpage>153</fpage>
          -
          <lpage>184</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kutz</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>E-connections of abstract description systems</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>156</volume>
          (
          <issue>1</issue>
          ) (
          <year>2004</year>
          )
          <fpage>1</fpage>
          -
          <lpage>73</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Zimmermann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Integrated distributed description logics</article-title>
          .
          <source>In: Proceedings of the International Workshop on Description Logics</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Serafini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tamilin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Drago: Distributed reasoning architecture for the semantic web</article-title>
          .
          <source>In: Proceedings of the Europeen Semantic Web Conference</source>
          . (
          <year>2005</year>
          )
          <fpage>361</fpage>
          -
          <lpage>376</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Zimmermann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Le Duc</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Reasoning with a network of aligned ontologies</article-title>
          .
          <source>In: RR</source>
          . (
          <year>2008</year>
          )
          <fpage>43</fpage>
          -
          <lpage>57</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>David</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Euzenat</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scharffe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>dos Santos</surname>
          </string-name>
          , C.T.:
          <article-title>The Alignment API 4.0</article-title>
          . In:
          <article-title>Semantic web journal</article-title>
          . Volume
          <volume>2</volume>
          (
          <issue>1</issue>
          ). (
          <year>2011</year>
          )
          <fpage>3</fpage>
          -
          <lpage>10</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>