<!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>HermiT: A Highly-E cient OWL Reasoner</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Oxford University Computing Laboratory Oxford</institution>
          ,
          <addr-line>OX1 3QD</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>HermiT is a new OWL reasoner based on a novel \hypertableau" calculus. The new calculus addresses performance problems due to nondeterminism and model size|the primary sources of complexity in state-of-the-art OWL reasoners. The latter is particularly important in practice, and it is achieved in HermiT with an improved blocking strategy and and an optimization that tries to reuse existing individuals rather than generating new ones. HermiT also incorporates a number of other novel optimizations, such as a more e cient approach to handling nominals, and various techniques for optimizing ontology classi cation. Our tests show that HermiT is usually much faster than other reasoners when classifying complex ontologies, and it is already able to classify a number of ontologies which no other reasoner has been able to handle.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Reasoning services for Description Logic ontologies, such as subsumption testing
and classi cation, are usually performed by testing the consistency of a
number of knowledge bases derived from the original ontology [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Satis ability of a
class, for example, is reduced to checking the consistency of a knowledge base
in which at least one individual is an instance of that class. Tableau reasoners
perform such consistency tests by attempting to construct a model for the
knowledge base. The di culties in constructing such models primarily arise from two
sources. First, there are often a great number of di erent possible constructions
which might be models; in general a tableau algorithm must analyze every one
of these possibilities before concluding that no model is possible. Second, the
models built by tableau reasoners can be extremely large, even for relatively
small ontologies. These two sources of complexity also frequently interact: when
the models constructed are large there are also usually more potential models
which need to be considered, and reasoning can become impossible in practice.
      </p>
      <p>HermiT is a Description Logic reasoning system based on an entirely new
architecture which addresses both of these sources of complexity. HermiT
implements a \hypertableau" calculus which greatly reduces the number of possible
models which must be considered (down to only a single possibility for a
significant subset of ontologies). HermiT also incorporates the \anywhere blocking"
strategy, which limits the sizes of models which are constructed. Finally, HermiT
makes use of a novel and highly-e cient approach to handling nominals in the
presence of number restrictions and inverse roles; we expect that this will allow
ontology authors to make much freer use of nominals than has been possible to
date. This combination of fundamental algorithmic improvements also enables
a range of additional optimizations.</p>
      <p>Our tests show that HermiT is as fast as other DL reasoners when classifying
relatively easy-to-process ontologies, and usually much faster when classifying
more di cult ontologies. In fact, HermiT can classify a number of ontologies
which no other reasoner has previously been able to handle.</p>
      <p>
        The HermiT system also serves as a platform for prototypical
implementations of new language features. For example, HermiT already includes support
for reasoning with ontologies which include description graphs [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>HermiT is available as an open-source Java library, and includes both a Java
API and a simple command-line interface. We use the OWL API both as part
of the public Java interface and as a parser for OWL les; HermiT can process
ontologies in any format handled by the OWL API, including RDF/XML, OWL
Functional Syntax, KRSS, and OBO.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Architecture and Optimizations</title>
      <p>On OWL ontology O can be divided into three parts: the property axioms, the
class axioms, and the facts. These correspond to the RBox R, TBox T , and
ABox A of a Description Logic knowledge base.
2.1</p>
      <sec id="sec-2-1">
        <title>Reducing Tableau Complexity</title>
        <p>To show that a knowledge base K = (R; T ; A) is satis able, a tableau algorithm
constructs a derivation|a sequence of ABoxes A0; A1; : : : ; An, where A0 = A
and each Ai is obtained from Ai 1 by an application of one inference rule. The
inference rules make the information implicit in the axioms of R and T explicit,
and thus evolve the ABox A towards a (representation of a) model of K. The
algorithm terminates either if no inference rule is applicable to some An, in which
case An represents a model of K, or if An contains an obvious contradiction, in
which case the model construction has failed. The following inference rules are
commonly used in DL tableau calculi.</p>
        <p>{ t-rule: Given (C1 t C2)(s), derive either C1(s) or C2(s).
{ u-rule: Given (C1 u C2)(s), derive C1(s) and C2(s).
{ 9-rule: Given (9R:C)(s), derive R(s; t) and C(t) for t a fresh individual.
{ 8-rule: Given (8R:C)(s) and R(s; t), derive C(t).</p>
        <p>{ v-rule: Given an axiom C v D and an individual s, derive (:C t D)(s).
The t-rule is nondeterministic: if (C1 t C2)(s) is true, then C1(s) or C2(s) or
both are true. Therefore, tableau calculi make a nondeterministic guess and
choose either C1 or C2 If choosing C1 leads to a contradiction, the algorithm
must backtrack and try C2; this procedure is known as reasoning by case. The
knowledge base K is unsatis able if and only if all choices fail to construct a
model. We next discuss several sources of complexity in this procedure, and how
HermiT addresses them.
(i)
(ii)
(iii)
(iv)
a0</p>
        <p>R
b1</p>
        <p>R</p>
        <p>a1
:A
8R::A t A 8R::A t A 8R::A t A
8R::A :A 8R::A
8R::A :A
an 1</p>
        <p>R
bn</p>
        <p>R
an</p>
        <p>A
8R::A t A 8R::A t A 8R::A t A
8R::A :A 8R::A</p>
        <p>:A 8R::A :A
Or-Branching Handing disjunctions through reasoning by case is often called
or-branching. The v-rule is the main source of or-branching, as it adds a
disjunction for each TBox axiom to each individual in an ABox and can be a major
source of ine ciency [1, Chapter 9]. For example, let T1 and A1 be a TBox and
an ABox as speci ed in (1).</p>
        <p>T1 = f9R:A v Ag
A1 = f:A(a0); R(a0; b1); R(b1; a1); : : : ; R(an 1; bn); R(bn; an); A(an)g
(1)
The ABox A1 is graphically shown in Figure 1. The individuals occurring in the
ABox are represented as black dots, an assertion of the form A(a0) is represented
by placing A next to the individual a0, and an assertion of the form R(a0; b1) is
represented as an R-labeled arrow from a0 to b1. Initially, A1 contains only the
concept assertions shown in line (i ).</p>
        <p>
          To satisfy the axiom in T1, a tableau algorithm applies the v-rule, thus adding
the assertions shown in line (ii ) of Figure 1. Tableau algorithms are usually free
to choose the order in which they process the assertions in an ABox; tableau
systems often use advanced heuristics to try to nd an order that exhibits good
performance in practice [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Let us assume that the algorithm chooses to process
the assertions on ai before those on bj . Hence, by applying the rules to all ai,
the algorithm derives the assertions shown in line (iii ) of Figure 1; after that,
by applying the rules to all bi, the algorithm derives the assertions shown in line
(iv ) of Figure 1. The ABox now contains both A(an) and :A(an), which is a
contradiction. Thus, the algorithm needs to backtrack its most recent choice, so
it ips its guess on bn 1 to A(bn 1). This generates a contradiction on bn 1,
so the algorithm backtracks from all guesses for bi, changes the guess on an to
A(an), and repeats the work for all bi. This also leads to a contradiction, so
the algorithm must revise its guess for an 1; but then, two guesses are again
possible for an. In general, after revising a guess for ai, all possibilities for aj ,
i &lt; j n, must be reexamined, which results in exponential behavior. None of
the standard backtracking optimizations [1, Chapter 9] are helpful: the problem
arises because the order in which the individuals are processed makes the guesses
on ai independent from the guesses on aj for i 6= j.
        </p>
        <p>The axiom 9R:A v A, however, is not inherently nondeterministic: it is
equivalent to the Horn clause R(x; y) ^ A(y) ! A(x), which can be applied bottom-up
to derive the assertions A(bn); A(an 1); : : : ; A(a0) and reveal a contradiction on
a0. These inferences are deterministic, so we can conclude that K1 is
unsatisable without any backtracking. This example suggests that the processing of
TBox axioms in tableau algorithms can be unnecessarily nondeterministic.</p>
        <p>
          Various absorption optimizations [1, Chapter 9] have been developed to
address this problem. The basic absorption algorithm tries to rewrite TBox axioms
into the form B v C where B is an atomic concept. Then, instead of deriving
:B t C for each individual in an ABox, C(s) is derived only if the ABox
contains B(s); thus, the absorbed axioms can be applied in a \more deterministic"
way. This technique has been extended in several ways. Role absorption [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
rewrites axioms into the form 9R:&gt; v C; then, C(s) is derived only if an ABox
contains R(s; t). Binary absorption [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] rewrites GCIs into the form B1 u B2 v C;
then, C(s) is derived only if an ABox contains both B1(s) and B2(s). Neither of
these two optimizations, however, helps us deal with the axiom in (1) directly.
Role absorption produces an axiom 9R:&gt; v A t 8R::A, which still contains a
disjunction in the consequent. Furthermore, binary absorption is not applicable
to (1), since the axiom does not contain two concepts on the left-hand side of
the implication symbol v. The axiom (1) can be absorbed if it is rewritten as
A v 8R :A. In practice, however, it is often unclear in advance which
combination of transformation and absorption techniques will yield the best results;
absorption algorithms are, therefore, typically guided primarily by heuristics and
may not eliminate all nondeterminism.
        </p>
        <p>HermiT's hypertableau algorithm generalizes these absorption optimizations
by rewriting description logic axioms into a form which allows standard
absorption, role absorption, and binary absoprtion to be performed simultaneously, as
well as allowing additional types of \absorption" impossible in standard tableau
calculi. In the hypertableau calculus, an axiom A u B u 9R:C v D would only
introduce D(s) if the ABox already contained A(s), B(s), R(s; t), and C(t) for
some t. Furthermore, HermiT actually rewrites DL concepts to further reduce
nondeterminism. Testing satis ability of the concept :A t B causes
nondeterministic application of the t-rule in standard tableau reasoners; HermiT
transforms this concept into an expression equivalent to A v B, and is thus able
to apply absorption-style optimizations much more pervasively than standard
tableau reasoners can.</p>
        <p>
          And-Branching The introduction of new individuals in the 9-rule is called
andbranching, and it is another major source of ine ciency in tableau algorithms
[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Consider, for example, the following (satis able) knowledge base K2.
        </p>
        <p>T2 = f A0 v
A2 = f A0(a) g
2 S:A1; : : : ; An 1 v
2 S:An; An v A1 g
(2)</p>
        <p>At-least restrictions are dealt with in tableau algorithms by the -rule, which
is quite similar to the 9-rule: from n R:C(s), the -rule derives R(s; ti) and
C(ti) for 1 i n, and ti 6 tj for 1 i &lt; j n. Thus, the assertion A0(a)
implies the existence of at least two individuals in A1, each of which imply
the existence of at least two individuals in A2, and so on. Given K2, a tableau
algorithm thus constructs a binary tree, shown in Figure 2a. Each individual
at depth n is an instance of An; because of the GCI An v A1, this individual
a
S</p>
        <p>S
S</p>
        <p>S</p>
        <p>S</p>
        <p>S
(a) Without blocking
(b) Ancestor Blocking</p>
        <p>(c) Anywhere Blocking
must be an instance of A1 as well, so we can repeat the whole construction and
generate an even deeper tree. Clearly, a nave application of the tableau rules
does not terminate if the TBox contains existential quanti ers in cycles.</p>
        <p>
          To ensure termination in such cases, tableau algorithms employ blocking [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]:
if the two individuals s and t are identical1, then we say that s directly blocks t
and we need not apply further expansion rules to t. Intuitively, blocking ensures
that the part of the ABox rooted at s \behaves" just like the part rooted at t,
so we can generate a model by replacing the individual t with a copy of the tree
rooted at s. The model may be in nite (the copy of the s subtree may include
a copy of t, which will be replaced with another copy of s, and so on), but we
need never actually construct it|an ABox with blocked individuals is su cient
to prove that such a model exists.
        </p>
        <p>Standard tableau algorithms only allow individuals to be blocked by their
ancestors|this is called ancestor blocking. This causes the derivation for K2 to
terminate but results in the exponentially-large construction shown in Figure 2b,
where blocking is indicated by dashed lines. HermiT extends this blocking
strategy such that an individual can be blocked by (almost) any other individual. On
K2 our improved anywhere blocking approach results in the construction shown
in Figure 2c. Anywhere blocking can reduce the size of generated models by an
exponential factor, and this substantially improves real-world performance on
many di cult and complex ontologies.</p>
        <p>Although anywhere blocking can often prevent the creation of multiple copies
of identical individuals, it is not uncommon for tableau procedures to produce
models containing a great many very similar individuals. If an expression 9R:C
occurs in di erent parts of a partially-constructed model, then multiple
individuals labeled with C will be created, and if the structures surrounding these new
individuals di er in any way then one will not block the other. In many cases this
results in unnecessary replication. HermiT takes advantage of this observation
through individual reuse: when we expand an existential 9R:C we rst attempt
to re-use some existing individual labeled with C to construct a model, and only
1 The de nition of \identical" depends upon the logic used.
if this model construction fails do we introduce a new individual. This approach
allows HermiT to consider non-tree-shaped models, and drastically reduces the
size of models produced for ontologies which describe complex structures, such
as ontologies of anatomy. \Reused" individuals, however, are semantically
equivalent to nominal concepts, and thus performance gains due to individual reuse
are highly dependent upon e cient handling of nominals.</p>
        <p>Nominal Generation In logics which include both inverses and number
restrictions, nominal concepts|concepts which refer to a particular individual in
the ABox|make the blocking rules more complex. Because each nominal has a
unique identity, it cannot be copied, and thus cannot appear in a part of a subtree
which occurs multiple times in a model due to blocking. In fact, the combination
of inverse roles and number restrictions can limit the number of neighbors of a
nominal node, making them \unique" and uncopyable as well; these neighbors
can impose uniqueness constraints on neighbors of neighbors, and so on. In order
to ensure the correctness of blocking, it is necessary to identify precisely which
individuals can be copied and which are unique.</p>
        <p>Standard tableau algorithms identify unique individuals, called root
individuals, recursively, beginning with the individuals in the initial ABox. Whenever
there are number restrictions and inverse roles which limit the number of
neighbors of such a root individual, the tableau N N -rule guesses exactly how many
such neighbors will exist in the nal model and constructs an appropriate
number of root individuals. Number restrictions on these new individuals can cause
another application of the N N -rule to produce new root neighbors-of-neighbors,
and so on. This procedure will eventually terminate, but each possible \guess"
for each N N -rule application must be explored if a model cannot be found, and
each application can produce a large number of new individuals, leading to larger
models. A single large number in a number restriction can make reasoning using
the N N -rule completely impractical.</p>
        <p>HermiT addresses this problem by replacing the N N -rule with an N I-rule
which does not introduce new root individuals but instead simply labels
existing individuals as roots. By keeping track of unique identi ers for each root
individual this approach is able to ensure correctness of the algorithm without
increasing the sizes of the models constructed.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Additional Optimizations</title>
        <p>
          DL reasoning algorithms are often used in practice to compute a classi cation
of a knowledge base K|that is, to determine whether K j= A v B for each pair
of atomic concepts A and B occurring in K. Clearly, a nave classi cation
algorithm would involve a quadratic number of calls to the subsumption checking
algorithm, each of which can potentially be highly expensive. To obtain
acceptable levels of performance, various optimizations have been developed that
reduce the number of subsumption checks [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and the time required for each
check [1, Chapter 9]. Along these lines, HermiT implements a number of new
classi cation optimizations which exploit unique properties of the system's new
model construction calculus.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Reading Classi cation Relationships from ABox Labels In order to check</title>
        <p>satis ability of a concept A in knowledge base K, HermiT creates the knowledge
base K0 = K [ fA(a)g, where a is a new individual, and attempts to construct
a model of K0. If A is satis able, then the construction will yield a model I.
HermiT is able to exploit the information in I to derive information about A
beyond its satis ability.</p>
        <p>If the assertion B(a) does not occur in I, then it is clearly possible for an
individual to be a member of A without being a member of B, thus we can
conclude A 6v B. If the assertion B(a) does occur in I, and the derivation of
B(a) does not depend on any nondeterministic choice (and thus B(a) would
appear in any model), this proves that A v B. HermiT's ability to minimize
nondeterminism often makes it possible to perform most of the classi cation of
a concept A using only a single satis ability check.</p>
        <p>Caching Blocking Labels HermiT's anywhere blocking technique, described
in Section 2.1, avoids the creation of identical sub-models in the course of a
consistency test; we further extend this approach to avoid the creation of
identical sub-models across an entire set of consistency tests. Conceptually, instead
of performing n di erent tests by constructing n di erent models, we perform a
single test which constructs a single model containing n independent fragments.
Although no two fragments are connected, the individuals in one fragment can
block those in another, greatly reducing the size of the combined model.</p>
        <p>In practice, tests are not actually performed simultaneously. Instead, after
each test a compact representation of the model generated is retained for the
purpose of blocking in future tests. This nave strategy is not compatible with
ontologies containing nominals, however, which could connect the models from
independent tests.</p>
        <p>This optimization has been key to obtaining the results that we present in
Section 3. For example, on GALEN only one subsumption test is costly because it
computes a substantial part of a model of the TBox; all subsequent subsumption
tests reuse large parts of that model.
2.3</p>
      </sec>
      <sec id="sec-2-4">
        <title>Features</title>
        <p>
          HermiT includes some nonstandard functionality that is currently not available
in any other system. In particular, HermiT supports reasoning with ontologies
containing description graphs. As shown in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], description graphs allow for the
representation of structured objects|objects composed of many parts
interconnected in arbitrary ways. These objects abound in bio-medical ontologies such
as FMA and GALEN, but they cannot be faithfully represented in OWL.
To evaluate our reasoning algorithm in practice, we compared HermiT with the
state-of-the-art tableau reasoners Pellet 1.5.1 [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], and FaCT++ 1.1.10 [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
Pellet and FaCT++ are based on the existing reasoning algorithms [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], so they di er
from HermiT in both derivation rules and blocking strategy. (Both Pellet and
FaCT++ employ ancestor blocking.) In order to estimate the practical impact
of these two di erences separately, we implemented a version of HermiT with
ancestor blocking, which we call HermiT-Anc.
        </p>
        <p>
          We selected test ontologies from the Gardiner ontology suite [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], the Open
Biological Ontologies (OBO) Foundry2, and several variants of the GALEN
ontology [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Most ontologies from the Gardiner and OBO collections contain
datatypes, which are currently not supported in HermiT; therefore, we have
converted datatypes in these ontologies to atomic classes.
        </p>
        <p>We measured the time needed to classify each test ontology using all of the
mentioned reasoners. All tests were performed on a 2.2 GHz MacBook Pro with
2 GB of physical memory. A classi cation attempt was aborted if it exhausted
all available memory (Java tools were allowed to use 1.5 GB of heap space), or
if it exceeded a timeout of 20 minutes.</p>
        <p>The majority of the test ontologies were classi ed in under a second by
HermiT, and under ten seconds by Pellet and FaCT++. For these \trivial"
ontologies, the performance of HermiT was comparable to that of the other reasoners.
Therefore, we consider here only the tests results for \interesting" ontologies|
that is, ontologies that are either not trivial or on which the tested reasoners
exhibited a signi cant di erence in performance.</p>
        <p>Table 1 summarizes the results of tests on the \interesting" ontologies. In
most cases, HermiT performs as well as or better than the other reasoners.</p>
        <p>HermiT performs worse than Pellet and FaCT++ on the DLP ExtDnS
ontology. This ontology includes a substantially more complex RBox than most
other ontologies in the test suite, with 384 role axioms. The tested version of
HermiT implements transitivity through axiom rewriting; our analysis revealed
that HermiT's poor performance on DLP ExtDnS is due to ine ciencies in this
rewriting. We are currently working to develop more e cient role encodings.</p>
        <p>HermiT also performs worse than Pellet and FaCT++ on the MGED
ontology. This ontology contains nominals, as well as a moderately complex ABox
(over 600 assertions). Since the ontology uses nominals, the ABox must be taken
into account when classifying the ontology. HermiT is not yet optimized for
ABox reasoning.</p>
        <p>
          Di erent versions of GALEN have commonly been used for testing the
performance of DL reasoners. The full version of the ontology (called GALEN-full)
cannot be processed by any of the reasoners. To simplify the ontology, we
extracted a module (called GALEN-module1) from GALEN-full using the
techniques from [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Although the module is much smaller than the full ontology,
2 http://obofoundry.org/
        </p>
        <sec id="sec-2-4-1">
          <title>Ontology Name</title>
        </sec>
        <sec id="sec-2-4-2">
          <title>Fly Taxonomy</title>
        </sec>
        <sec id="sec-2-4-3">
          <title>GO Term DB</title>
        </sec>
        <sec id="sec-2-4-4">
          <title>Biological Process NCI</title>
        </sec>
        <sec id="sec-2-4-5">
          <title>MGED</title>
        </sec>
        <sec id="sec-2-4-6">
          <title>BP XP OBOL</title>
        </sec>
        <sec id="sec-2-4-7">
          <title>OWL Guide Food</title>
        </sec>
        <sec id="sec-2-4-8">
          <title>FMA Lite</title>
        </sec>
        <sec id="sec-2-4-9">
          <title>DLP ExtDnS</title>
        </sec>
        <sec id="sec-2-4-10">
          <title>FMA-constitutional part</title>
        </sec>
        <sec id="sec-2-4-11">
          <title>GALEN-horrocks</title>
        </sec>
        <sec id="sec-2-4-12">
          <title>Not-GALEN</title>
        </sec>
        <sec id="sec-2-4-13">
          <title>GALEN-doctored</title>
        </sec>
        <sec id="sec-2-4-14">
          <title>GALEN-original</title>
        </sec>
        <sec id="sec-2-4-15">
          <title>GALEN-module1</title>
        </sec>
        <sec id="sec-2-4-16">
          <title>GALEN-full</title>
          <p>no reasoner was able to classify it either. Similarly, no reasoner could classify
FMA-constitutional part. Our analysis has shown that, due to a large number
of cyclic axioms, on these ontologies reasoners construct extremely large ABoxes
and eventually exhaust all available memory. Our individual reuse technique is
designed to address this issue; the above tests were conducted using a version of
HermiT which did not include this optimization.</p>
          <p>Because of the failure of DL reasoners to process GALEN-full, various
simpli ed versions of GALEN have often been used in practice. As Table 1 shows,
these ontologies are still challenging for state-of-the-art reasoners. HermiT,
however, can classify them quite e ciently; in fact, HermiT is the only reasoner that
can classify GALEN-original. All the other reasoners, including HermiT-Anc,
quickly run out of memory on GALEN-original; this suggests that, by
drastically reducing the sizes of generated ABoxes, anywhere blocking can mean the
di erence between success and failure on complex ontologies.</p>
          <p>On ontologies that can be processed by both HermiT and HermiT-Anc, both
reasoners show comparable performance, suggesting that the ABoxes generated
on these ontologies are not particularly large. On some of these ontologies (e.g.,
BP XP OBOL and OWL Guide Food), other reasoners can perform signi cantly
more slowly; this suggests that the increase in HermiT's performance is mainly
due to the hypertableau rule application strategy and reduced nondeterminism.
Thus, while the hypertableau strategy may not be as important as anywhere
blocking in determining the practical limits of DL reasoners, it can still lead to
signi cant performance improvements in practice.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Directions</title>
      <p>We have described HermiT, a new reasoner for SHOIQ+ (and OWL) based
on novel algorithms and optimizations. HermiT shows signi cant performance
advantages over other reasoners across a wide range of real-world ontologies. In
several cases, HermiT is able to classify ontologies that no other reasoner can
process. HermiT also includes support for some non-standard ontology features,
such as description graphs.</p>
      <p>We intend to continue to develop HermiT to track the emerging OWL 2.0
standard, including extended datatype support. We expect the performance of
HermiT to continue to improve as we re ne our optimization techniques,
including the development of heuristics to maximize the bene t of our individual reuse
technique.</p>
      <p>In our future work, we intend to extend the ABox reasoning capabilities
of HermiT with both a more expressive ABox query interface as well as new
optimization techniques which allow reasoning with extremely large ABoxes.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-</surname>
          </string-name>
          Schneider, editors.
          <source>The Description Logic Handbook. 2nd edition</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hollunder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nebel</surname>
          </string-name>
          , H.-J. Pro tlich, and
          <string-name>
            <given-names>E.</given-names>
            <surname>Franconi</surname>
          </string-name>
          .
          <source>Making KRIS Get a Move on. Applied Intelligence</source>
          ,
          <volume>4</volume>
          (
          <issue>2</issue>
          ):
          <volume>109</volume>
          {
          <fpage>132</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>T.</given-names>
            <surname>Gardiner</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          .
          <source>Automated Benchmarking of Description Logic Reasoners</source>
          .
          <source>In Proc. DL</source>
          <year>2006</year>
          , volume
          <volume>189</volume>
          <source>of CEUR Workshop Proceedings.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>B.</given-names>
            <surname>Cuenca Grau</surname>
          </string-name>
          , I. Horrocks,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <source>Modular Reuse of Ontologies: Theory and Practice. JAIR</source>
          ,
          <volume>31</volume>
          :
          <fpage>273</fpage>
          {
          <fpage>318</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>A Tableau Decision Procedure for SHOIQ</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>39</volume>
          (
          <issue>3</issue>
          ):
          <volume>249</volume>
          {
          <fpage>276</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Tobies</surname>
          </string-name>
          .
          <article-title>Reasoning with Individuals for the Description Logic SHIQ</article-title>
          .
          <source>In Proc. CADE-17</source>
          , pages
          <fpage>482</fpage>
          {
          <fpage>496</fpage>
          ,
          <string-name>
            <surname>Pittsburgh</surname>
          </string-name>
          , USA,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Hudek</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Weddell</surname>
          </string-name>
          .
          <article-title>Binary Absorption in Tableaux-Based Reasoning for Description Logics</article-title>
          .
          <source>In Proc. DL</source>
          <year>2006</year>
          ,
          <article-title>Windermere</article-title>
          , UK, May 30-June 1
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. Cuenca</given-names>
            <surname>Grau</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>Structured Objects in OWL: Representation and Reasoning</article-title>
          .
          <source>In Proc. WWW</source>
          <year>2008</year>
          , Beijing, China,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Horrocks. Individual</surname>
          </string-name>
          <article-title>Reuse in Description Logic Reasoning</article-title>
          .
          <source>In Proc. IJCAR</source>
          <year>2008</year>
          ), Sydney, Australia,
          <source>August</source>
          <volume>10</volume>
          {
          <fpage>15</fpage>
          2008. To appear.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          .
          <article-title>Pellet: An OWL-DL Reasoner</article-title>
          . Poster,
          <source>In Proc. ISWC</source>
          <year>2004</year>
          , Hiroshima, Japan,
          <source>November</source>
          <volume>7</volume>
          {
          <fpage>11</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>A. L. Rector</surname>
            ,
            <given-names>W. A.</given-names>
          </string-name>
          <string-name>
            <surname>Nowlan</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Glowinski</surname>
          </string-name>
          .
          <article-title>Goals for concept representation in the GALEN project</article-title>
          .
          <source>In Proc. SCAMC '93</source>
          ,
          <string-name>
            <surname>Washington</surname>
            <given-names>DC</given-names>
          </string-name>
          , USA,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. E.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>B. Cuenca</given-names>
          </string-name>
          <string-name>
            <surname>Grau</surname>
            , and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Parsia</surname>
          </string-name>
          . From Wine to Water:
          <article-title>Optimizing Description Logic Reasoning for Nominals</article-title>
          .
          <source>In Proc. KR</source>
          <year>2006</year>
          ,
          <string-name>
            <surname>Lake</surname>
            <given-names>District</given-names>
          </string-name>
          , UK.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>E cient Reasoning with Range and Domain Constraints</article-title>
          .
          <source>In Proc. DL</source>
          <year>2004</year>
          ,
          <article-title>Whistler</article-title>
          ,
          <string-name>
            <surname>BC</surname>
          </string-name>
          , Canada, June 6{8
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Horrocks.</surname>
          </string-name>
          <article-title>Ordering Heuristics for Description Logic Reasoning</article-title>
          .
          <source>In Proc. IJCAI</source>
          <year>2005</year>
          , pages
          <fpage>609</fpage>
          {
          <fpage>614</fpage>
          ,
          <string-name>
            <surname>Edinburgh</surname>
          </string-name>
          , UK,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Horrocks.</surname>
          </string-name>
          <article-title>FaCT++ Description Logic Reasoner: System Description</article-title>
          .
          <source>In Proc. IJCAR</source>
          <year>2006</year>
          , pages
          <fpage>292</fpage>
          {
          <fpage>297</fpage>
          , Seattle, WA, USA,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>