<!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>The Benefits of Incremental Reasoning in OWL EL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yevgeny Kazakov</string-name>
          <email>yevgeny.kazakov@uni-ulm.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pavel Klinov</string-name>
          <email>pavel.klinov@uni-ulm.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>The University of Ulm</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This demo will present the advantages of the new, bookkeeping-free method for incremental reasoning in OWL EL on incremental classification of large ontologies.1 In particular, we will show how the typical experience of a user editing a large ontology can be improved if the reasoner (or ontology IDE) provides the capability of instantaneously re-classifying the ontology in the background mode when a change is made. In addition, we intend to demonstrate how incremental reasoning helps in other tasks such as answering DL queries and computing explanations of entailments. We will use our OWL EL reasoner ELK and its Protege plug-in as the main tools to highlight these benefits.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The E L family of Description Logics (DLs) are tractable extensions of the DL E L
featuring conjunction and existential restriction. It is the formal basis of the OWL EL
profile [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] of the Web ontology language OWL 2 specifically aimed at applications
that require management of large terminologies, which is common in biology, health
care and life sciences. Ontology classification is the core reasoning task used by such
applications. It requires computing all entailed (implicit) subsumption relations
between atomic classes. Specialized E L reasoners, such as CEL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], ELK [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], jcel [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
and Snorocket [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] are able to compute the classification for ontologies as large as
SNOMED CT [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] with about 300,000 axioms. Classification plays the key role
during ontology development, e.g., for detecting modeling errors that result in mismatches
between terms. But even with fast classification procedures, frequent re-classification of
ontologies can introduce significant delays in the development workflow, especially as
ontologies grow over time. This motivates development of incremental reasoning
methods which do not recompute the entire class hierarchy after local changes but manage
to incorporate the changes incrementally.
      </p>
      <p>The demo will present a novel incremental reasoning procedure implemented in
ELK 0.4.0 and its positive impact on re-classification and related reasoning problems.2
1.1</p>
      <sec id="sec-1-1">
        <title>State of the Art</title>
        <p>Several incremental reasoning procedures have been developed for ontology languages.
Most procedures maintain extra information to trace conclusions back to the axioms in
order to deal with axiom deletions.</p>
        <p>
          1This submission complements the accepted research paper which explains the developed
incremental reasoning method in full technical detail [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>2A screencast will be available at https://code.google.com/p/elk-reasoner/.</p>
        <p>
          The Pellet reasoner [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] implements a technique called tableau tracing to keep track
of the axioms used in tableau inferences [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Tracing maps tableau elements (nodes,
labels, and relations) to responsible axioms. Upon deletion of axioms, the corresponding
elements get deleted. This method is memory-intensive for large tableaux and currently
supports only ABox changes.
        </p>
        <p>
          The module-based incremental reasoning method does not perform full tracing of
inferences, but instead maintains a collection of modules for derived conclusions [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
The modules are (not necessarily minimal) subsets of the ontology that entail the
respective conclusion. If no axiom in the module was deleted then the entailment is still
valid. Unlike tracing, the method does not require changes to the reasoning algorithm,
but still incurs the cost of computing and storing the collection of modules.
        </p>
        <p>Managing the extra information such as traces or modules, broadly referred to as
bookkeeping, typically incurs only a linear overhead. However, even that can
substantially hurt user experience on large ontologies such as SNOMED CT.
1.2</p>
      </sec>
      <sec id="sec-1-2">
        <title>Common Use Cases for Incremental Reasoning</title>
        <p>The most frequently occurring scenarios when incremental reasoning is beneficial can
be summarized as follows:
Continuous Classification The typical ontology development workflow consists of
adding, removing, or modifying axioms and occasionally invoking a reasoner to classify
the ontology. The latter is done to verify that the changes do not trigger any unwanted
entailments and that all desirable entailments are there. Since classification tends to get
slower as the ontology grows large, the ontology engineers often do it “offline” after
a considerable set of changes has been accumulated. This is sub-optimal because if an
error did occur it can become a needle in the haystack to find. A better approach is to
classify the ontology continuously in the background mode, i.e., similarly to how
modern IDEs continuous compile software’s source code and immediately point out errors.
Of course, this approach requires a fast, incremental incorporation of changes.
DL Queries Certain applications make use of a form of queries, also called DL Queries,
based on complex class expressions. Every DL query is a class expression for which
inferred superclasses, subclasses, or individuals need to be computed. One example of
such application is the Virtual Fly Brain project.3 DL Queries can be straightforwardly
implemented by introducing fresh class names. Suppose superclasses need to be
computed for a complex class C. Then one can introduce a fresh class name C0, add the
axiom C0 v C to the ontology, and then re-classify it so that C0 finds its place in the
class hierarchy. Obviously, the last step is better be implemented incrementally.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2 Incremental Reasoning in ELK</title>
      <p>This section briefly describes the main aspects of the incremental reasoning procedure
implemented in ELK. Full technical details, including the E L+ inference rules,
algo</p>
      <sec id="sec-2-1">
        <title>3http://www.virtualflybrain.org/</title>
        <p>
          rithms, proofs, and experiments can be found in the research track paper [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Also, the
interested reader can run the code examples provided on the ELK Web page.4
        </p>
        <p>
          There are two main ideas behind our method. The first has been borrowed from
the known DRed (over-delete, re-derive) method for maintaining materialized views in
databases [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. When an axiom is deleted or modified, conclusions of all E L+
inferences in which the axiom was used (as a side-condition) are deleted. Then the same
happens to conclusions of all inferences which use deleted conclusions as premises
(until a fixpoint). It is well-known that it may lead to over-deletion since some
conclusions may have alternative derivations. Our second idea is based on partitioning of all
conclusions to identify those which may need to be restored. Crucially, partitions are
not stored, as modules or traces, during the forward classification and do not incur any
overhead. Due to space limitations, we only illustrate the method on a small example.
        </p>
        <p>A v 9R:B
(ax4): 9S:C v C
Example 1. Consider the following E L+ ontology O:
(ax1): (ax2): 9R:B v C (ax3):
(ax5):</p>
        <p>C v D</p>
        <p>B v 9S:A
(ax6): 9S:&gt; v D</p>
        <p>One can see that O entails the following atomic subsumptions: A v C, B v C,
and B v D (we omit the intermediate inferences). Now, let us see what will happen if
(ax4) is deleted. The axiom was used to derive B v C (together with (ax3) and another
conclusion A v C) which is retracted first. Then B v D is also deleted since it was
produced by an inference which had B v C as a premise (using (ax5)). After that the
conclusions whose left hand-side is one of f9S:C; 9S:A; Bg are repaired (intuitively,
these are classes whose superclasses changed during the deletion). The repair stage
re-applies the inference rules w.r.t. the remaining axioms and restores the conclusion
B v D using (ax3) and (ax6). Other conclusions, e.g., for A or C on the left, are intact.</p>
        <p>
          Our experiments demonstrate that in practice the partitioning tends to be pretty fine
and the changes are rather local, i.e., not many partitions need to be repaired. This is
the reason why for large ontologies, such as SNOMED CT, incremental classification is
10–40 times faster than full classification, making re-classification nearly instantaneous
(see [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] for more details and a comparison with the modularity-based method).
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Structure of the Demonstration</title>
      <p>Finally we describe what we intend to demonstrate during the demo session. Our
general goal is to demonstrate performance gains resulted from incremental reasoning to
give ontology developers a sense of how their user experience can be improved.
3.1</p>
      <sec id="sec-3-1">
        <title>Continuous Classification</title>
        <p>We will use large ontologies, such SNOMED CT, an E L+ version of GALEN, or others
suggested by participants, to demonstrate the sub-second re-classification for a typical
ontology editing workflow. We will use the ELK Protege 4+ plug-in5 which allows users</p>
        <sec id="sec-3-1-1">
          <title>4https://code.google.com/p/elk-reasoner/wiki/IncrementalReasoning</title>
          <p>5Available at https://code.google.com/p/elk-reasoner/downloads/list
to turn incremental reasoning on and off to highlight the performance differences. We
plan to prepare some changesets, including those introducing errors, e.g., class
unsatisfiability, but will also let the participants make their own changes to ontology axioms.
3.2</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Fast DL Query Answering</title>
        <p>We will demonstrate fast answering of DL queries based on incremental reasoning.
For large ontologies, such as SNOMED CT, it will be visible that answering a single
query takes considerably less time than re-classification. We plan to use the DL Query
plugin for Protege for interactive query answering (so that participants can enter their
own queries). To people more interested in answering DL queries via a programming or
Web interface, we will show how a simple Web service can handle parallel DL queries
posted over HTTP (by computing the corresponding E L saturations incrementally).</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klinov</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Incremental reasoning in OWL EL without bookkeeping</article-title>
          . In: International Semantic Web Conference. (
          <year>2013</year>
          ) to appear.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</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>Wu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
          </string-name>
          , C., eds.
          <source>: OWL 2 Web Ontology Language: Profiles. W3C Recommendation</source>
          (
          <issue>27 October 2009</issue>
          ) Available at http://www.w3.org/TR/owl2-profiles/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Efficient reasoning in E L+</article-title>
          . In
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toman</surname>
          </string-name>
          , D., eds.
          <source>: Proc. 19th Int. Workshop on Description Logics (DL'06)</source>
          . Volume 189 of CEUR Workshop Proceedings., CEUR-WS.org (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krötzsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simancˇík</surname>
          </string-name>
          , F.:
          <article-title>Concurrent classification of E L ontologies</article-title>
          . In Aroyo, L.,
          <string-name>
            <surname>Welty</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alani</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kagal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blomqvist</surname>
          </string-name>
          , E., eds.
          <source>: Proc. 10th Int. Semantic Web Conf. (ISWC'11)</source>
          . Volume 7032 of LNCS., Springer (
          <year>2011</year>
          )
          <fpage>305</fpage>
          -
          <lpage>320</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mendez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ecke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turhan</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          :
          <article-title>Implementing completion-based inferences for the E Lfamily</article-title>
          . In Rosati, R.,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
          </string-name>
          , M., eds.
          <source>: Proc. 24th Int. Workshop on Description Logics (DL'11)</source>
          . Volume 745 of CEUR Workshop Proceedings., CEUR-WS.org (
          <year>2011</year>
          )
          <fpage>334</fpage>
          -
          <lpage>344</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lawley</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bousquet</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Fast classification in Protégé: Snorocket as an OWL 2 EL reasoner</article-title>
          . In Taylor, K., Meyer, T.,
          <string-name>
            <surname>Orgun</surname>
          </string-name>
          , M., eds.
          <source>: Proc. 6th Australasian Ontology Workshop (IAOA'10)</source>
          . Volume
          <volume>122</volume>
          of Conferences in Research and Practice in Information Technology., Australian Computer Society Inc. (
          <year>2010</year>
          )
          <fpage>45</fpage>
          -
          <lpage>49</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Schulz</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cornet</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spackman</surname>
            ,
            <given-names>K.A.</given-names>
          </string-name>
          :
          <article-title>Consolidating SNOMED CT's ontological commitment</article-title>
          .
          <source>Applied Ontology</source>
          <volume>6</volume>
          (
          <issue>1</issue>
          ) (
          <year>2011</year>
          )
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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>Cuenca Grau</surname>
            ,
            <given-names>B.</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 practical OWL-DL reasoner</article-title>
          .
          <source>J. of Web Semantics</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ) (
          <year>2007</year>
          )
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Halaschek-Wiener</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
          </string-name>
          , E.:
          <article-title>Description logic reasoning with syntactic updates</article-title>
          .
          <source>In: OTM Conferences (1)</source>
          . (
          <year>2006</year>
          )
          <fpage>722</fpage>
          -
          <lpage>737</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Cuenca</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Halaschek-Wiener</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Suntisrivaraporn</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          :
          <article-title>Incremental classification of description logics ontologies</article-title>
          .
          <source>J. of Autom. Reason</source>
          .
          <volume>44</volume>
          (
          <issue>4</issue>
          ) (
          <year>2010</year>
          )
          <fpage>337</fpage>
          -
          <lpage>369</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mumick</surname>
            ,
            <given-names>I.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Subrahmanian</surname>
            ,
            <given-names>V.S.:</given-names>
          </string-name>
          <article-title>Maintaining views incrementally</article-title>
          . In Buneman, P.,
          <string-name>
            <surname>Jajodia</surname>
          </string-name>
          , S., eds.
          <source>: Proc. 1993 ACM SIGMOD Int. Conf. on Management of Data</source>
          , Washington,
          <string-name>
            <surname>D.C.</surname>
          </string-name>
          , ACM Press (May 26-28
          <year>1993</year>
          )
          <fpage>157</fpage>
          -
          <lpage>166</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>