<!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>CEDAR: a Fast Taxonomic Reasoner Based on Lattice Operations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Samir Amir</string-name>
          <email>samir.amir@univ-lyon1.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hassan At-Kaci</string-name>
          <email>hassan.ait-kaci@univ-lyon1.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universite Claude Bernard Lyon 1</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Taxonomy classi cation and query answering are the core reasoning services provided by most of the Semantic Web (SW) reasoners. However, the algorithms used by those reasoners are based on Tableau method or Rules. These well-known methods in the literature have already shown their limitations for large-scale reasoning. In this demonstration, we shall present the CEDAR system for classifying and reasoning on very large taxonomies using a technique based on lattice operations. This technique makes the CEDAR reasoner perform on par with the best systems for concept classi cation and several orders-ofmagnitude more e ciently in terms of response time for query-answering. The experiments were carried out using very large taxonomies (Wikipedia: 111599 sorts, MESH: 286381 sorts, NCBI: 903617 sorts and Biomodels: 182651 sorts).1 The results achieved by CEDAR were compared to those obtained by well-known Semantic Web reasoners, namely FaCT++, Pellet, HermiT, TrOWL, SnoRocket and RacerPro.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic Reasoning</kwd>
        <kwd>Lattice Operations</kwd>
        <kwd>Partial-Order Encoding</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The demo will demonstrate how an implementation of a system based on lattice
operations can be used for taxonomic reasoning in a robust and scalable way.
Indeed, this challenge was de ned on the frame of CEDAR project. 2 CEDAR
system is a Boolean reasoner that can support a huge amount of sorts
without any noticeable degradation of query evaluation performance. The essential
technique we used for implementing the CEDAR reasoner is based on bit-vector
encoding. This method was proposed over 20 years ago for implementing e cient
lattice operations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Since the common aspect of all Semantic Web reasoning
systems is the representation and processing of taxonomic data, we implemented
a taxonomic concept classi cation and Boolean query-answering system based
1 We use \sort" as a synonym of atomic \class" or \concept." In other words, sorts
are partially ordered symbols.
2 Constraint Event-Driven Automated Reasoning|http://cedar.liris.cnrs.fr
on the method described above. We made measurements over several very large
taxonomies under the exact same conditions for so-called TBox reasoning. A
comparative evaluation was conducted to assess the performance of CEDAR over
the mentioned systems which have been implemented by using OWL-API. 3 In
terms of query-answering response time, CEDAR is several orders-of-magnitude
more e cient than that of the best existing SW reasoning systems.
2
      </p>
      <p>
        Lattice Operations for Taxonomic Reasoning
The CEDAR reasoner is an implementation in Java of the technique described
as bottom-up transitive-closure encoding in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This technique consists in
representing the elements of a taxonomy (an arbitrary poset) as bit vectors. Thus,
each element has a code (a bit vector) carrying a \1" in the position
corresponding to the index of any other elements that it subsumes. In this manner, the
three Boolean operations on sorts are readily and e ciently performed as their
corresponding operations on bit-vectors. This is possible if the bit-vectors
encoding the sorts comprising a taxonomy are obtained by computing the re
exivetransitive closure of the "is-a" relation derived from the subsort declarations.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Demonstration</title>
      <p>
        The demo will show how CEDAR di ers from existing and known reasoners in
terms of classi cation (Figures 1 and 2) and query answering (Figures 3 and
4) where it is several orders-of-magnitude more e cient than other reasoners.
Developed software integrates six other reasoners to provide a comparison with
CEDAR (HermiT [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], FaCT++ [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], RacerPro [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], TrOWL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Pellet [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and
SnoRocket [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] all of which use the OWL-API interface). The proposed structure
of the demonstration is the following:
{ Classi cation performance using very large taxonomies as Wikipedia4 (111599
sorts), NCBI5(903617 sorts), MESH6 (286381 sorts) and Biomodels7 (182651
sorts). The demo will show the results illustrated in Figures 1 and 2 where
CEDAR is always among the best three out of six reasoners.
{ Query Answering using boolean queries (and, or and not) involving a large
number of concepts (up to 100 concepts). The obtained results will be
compared with those of traditional reasoners as shown in Figures 3 and 4.
{ Saving and reusing an encoded taxonomy. With CEDAR, there is no need to
perform a classi cation each time. A classi ed taxonomy can be saved and
reused.
{ Detecting Cycles: We will show how to detect cycles in taxonomies, which
are a particular case of inconsistency resulting from modeling errors.
3 http://owlapi.sourceforge.net
4 http://www.h-its.org/english/research/nlp/download/wikitaxonomy.php
5 http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/
6 http://www.nlm.nih.gov/mesh/meshhome.html
7 https://code.google.com/p/sbmlharvester/
      </p>
      <p>FaCT++</p>
      <p>HermiT</p>
      <p>Pellet</p>
      <p>RacerPr</p>
      <p>CEDAR</p>
      <p>FaCT++</p>
      <p>HermiT</p>
      <p>Pellet RacerPr</p>
      <p>CEDAR
Wikipedia (111 599 sorts)
20
15
10
5
0
3
number of concepts
10 20 30 40 50 60 70 80 90 100 in the query</p>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgements</title>
      <p>The authors wish to thank Mohand-Sad Hacid for his comments. This work was
carried out as part of the CEDAR Project (Constraint Event-Driven Automated
Reasoning) under the Agence Nationale de la Recherche (ANR) Chair of Excellence grant
No ANR-12-CHEX-0003-01 at the Universite Claude Bernard Lyon 1.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. A
          <string-name>
            <surname>t-Kaci</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boyer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lincoln</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Nasr</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>E cient implementation of lattice operations</article-title>
          .
          <source>ACM Transactions on Programming Languages and Systems</source>
          <volume>11</volume>
          ,
          <issue>1</issue>
          (
          <year>January 1989</year>
          ),
          <volume>115</volume>
          {
          <fpage>146</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Haarslev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hidde</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , Moller, R., and
          <string-name>
            <surname>Wessel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>The RacerPro knowledge representation and reasoning system</article-title>
          .
          <source>Semantic Web Journal 1 (March</source>
          <year>2011</year>
          ),
          <volume>1</volume>
          {
          <fpage>11</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Lawley</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Bousquet</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Fast classi cation in Protege: Snorocket as an OWL 2 EL reasoner</article-title>
          .
          <source>In Proceedings of the 2nd Australasian Ontology Workshop: Advances in Ontologies (Adelaide</source>
          , Australia,
          <year>December 2010</year>
          ), T. Meyer,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Orgun</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. Taylor, Eds.,
          <source>AOW'10, ACS</source>
          , pp.
          <volume>45</volume>
          {
          <fpage>50</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Shearer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>HermiT: A highly-e cient OWL reasoner</article-title>
          .
          <source>In Proceedings of the 5th International Workshop on OWL Experiences and Directions</source>
          (Karlsruhe, Germany,
          <year>October 2008</year>
          ), U. Sattler and C. Dolbear, Eds.,
          <source>OWLED'08, CEUR Workshop Proceedings.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>
          , and
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>Pellet: A practical OWL-DL reasoner</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>5</volume>
          ,
          <issue>2</issue>
          (
          <year>June 2007</year>
          ),
          <volume>51</volume>
          {
          <fpage>53</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J. Z.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Ren</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>TrOWL: Tractable OWL 2 reasoning infrastructure</article-title>
          .
          <source>In Proceedings of the 7th Extended Semantic Web Conference (Heraklion</source>
          , Greece, May-June 2010),
          <source>ESWC'10</source>
          , Springer-Verlag, pp.
          <volume>431</volume>
          {
          <fpage>435</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Tsarkov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>FaCT++ description logic reasoner: System description</article-title>
          .
          <source>In Proceedings of the 3rd International Joint conference on Automated Reasoning</source>
          (Seattle, WA, USA,
          <year>August 2006</year>
          ), U. Furbach and
          <string-name>
            <given-names>N.</given-names>
            <surname>Shankar</surname>
          </string-name>
          , Eds.,
          <source>IJCAR'06</source>
          , Springer-Verlag, pp.
          <volume>292</volume>
          {
          <fpage>297</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>