<!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>Sequoia: A Consequence-Based Reasoner for S ROI Q</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>David Tena Cucala</string-name>
          <email>david.tena.cucala@cs.ox.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernardo Cuenca Grau</string-name>
          <email>bernardo.cuenca.grau@cs.ox.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ian Horrocks</string-name>
          <email>ian.horrocks@cs.ox.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Oxford</institution>
          ,
          <addr-line>Oxford OX1 3QD</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We describe and evaluate a new extension of Sequoia, the consequence-based reasoner for SRIQ presented in [4], which introduces support for nominals. Our reasoner implements the calculus for the logic ALCHOIQ+ presented in our recent work [30]. By using well-known ontology preprocessing methods, Sequoia can be used to classify ontologies in SROIQ |a rich DL covering all features of OWL 2 DL apart from datatypes. We show that Sequoia o ers competitive performance and thus it provides an important addition to the repertoire of practical implementation techniques for reasoning in expressive DLs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Consequence-based (CB) reasoning [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a promising approach to DL reasoning
which combines features of (hyper)tableau [
        <xref ref-type="bibr" rid="ref10 ref27 ref28 ref31 ref6 ref9">6, 9, 10, 27, 28, 31</xref>
        ] and
resolutionbased [
        <xref ref-type="bibr" rid="ref11 ref14 ref18 ref21">11, 14, 18, 21</xref>
        ] algorithms. On the one hand, similarly to resolution, CB
calculi derive formulae entailed by the ontology (thus avoiding the explicit
construction of large models), and they are typically worst-case optimal. On the
other hand, CB calculi organise clauses into contexts arranged as a graph
structure reminiscent of that used for model construction in (hyper)tableau; this
prevents CB calculi from drawing many unnecessary inferences and yields a
nice goal-oriented behaviour. Furthermore, in contrast to both resolution and
(hyper)tableau, CB calculi can verify a large number of subsumptions in a
single execution, allowing for one-pass classi cation. Finally, CB calculi have
proved highly e ective in practice. Leading reasoners for lightweight DLs such
as ELK [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] or Snorocket [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] are based on CB calculi. Furthermore, prototypical
implementations of CB calculi for more expressive languages, such as Sequoia [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
or Avalanche [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], have shown promising results.
      </p>
      <p>
        CB calculi were rst proposed for the E L family of DLs [
        <xref ref-type="bibr" rid="ref1 ref7">1, 7</xref>
        ], and later
extended to more expressive logics such as Horn-SHIQ [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], Horn-SROIQ [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ],
and ALCH [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. Simanc k et al. proposed a unifying framework for CB reasoning
in ALCHI, which explicitly introduced for the rst time the notion of context
as a mechanism for constraining resolution inferences and make reasoning
goaldirected [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. This framework was subsequently extended to ALCHIQ+, which
supports number restrictions and inverse roles, as well as self-re exivity and
disjoint roles [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The framework was also extended to ALCHOI, which supports
inverse roles and nominals [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], and ALCHOQ, which supports nominals and
number restrictions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Finally, in our recent work we extended the framework
to ALCHOIQ+, which supports all of the aforementioned constructs [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
      <p>
        This paper describes an extension of the CB reasoner Sequoia [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] with full
support for nominals and novel optimisations. Our reasoner implements the
calculus in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] and supports all of OWL 2 DL with the exception of datatypes.1
      </p>
      <p>In Section 2 we recapitulate the calculus and the classi cation algorithm
underpinning our extension of Sequoia. In Section 3 we present the system's
architecture and discuss implementation techniques and optimisations. Finally, in
Section 4 we present the results of an evaluation of Sequoia against
state-of-theart reasoners over a corpus of 777 DL ontologies. Our evaluation shows that
Sequoia was able to classify more ontologies than any other evaluated reasoner, and
its overall performance was highly competitive. Furthermore, the performance
of Sequoia was also comparable to that of ELK on OWL 2 EL ontologies.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Consequence-Based Reasoning in Sequoia</title>
      <p>
        In this section we outline the classi cation algorithm in Sequoia and the CB
calculus for ALCHOIQ+ that underpins it. A complete description of the
classi cation algorithm, the calculus, and their properties, can be found in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
      <p>
        The calculus implemented in Sequoia is based on the framework for CB
reasoning in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. The framework de nes a context structure for a given ontology
O. Intuitively, a context structure is a graph having contexts as nodes, where each
context summarises a set of elements in a model of O. Each context has a unique
core|a condition satis ed by all domain elements represented by the context;
for instance, a context v with core A(x) represents all elements interpreted as
instances of A in a model of O.
      </p>
      <p>Consequences derived by the calculus are distributed among contexts.
Consequences in a context v are expressed as context clauses, which are Skolemised
rst-order clauses restricted to a form wherein variables x and y receive a
special treatment. Rather than allowing x and y to range over the entire domain,
variable x ranges only over elements represented by v and, for any such element
t, variable y may range only over elements related to t via particular roles. For
instance, in a context v with core A(x), context clause R(y; x) ! B(x) _ C(x)
represents that, for every instance t of A in a model, if R(s; t) holds for some s
in the model, then either B(t) or C(t) holds as well.</p>
      <p>
        The calculus in Sequoia has been designed for ALCHOIQ+ ontologies
expressed as a set of DL-clauses of a particular form; any SROIQ ontology can
be (exponentially) reduced to such clauses using well-known techniques [
        <xref ref-type="bibr" rid="ref23 ref24 ref8">8, 23,
24</xref>
        ]. To classify an ontology O, the calculus creates a context structure with a
fresh context vB for each atomic concept B in O. This context will gather all
      </p>
      <sec id="sec-2-1">
        <title>1 http://www.cs.ox.ac.uk/isg/tools/Sequoia/</title>
        <p>relevant consequences expressing constraints on instances of B. Next, the rules
of the calculus are applied until the context structure becomes saturated. Each
of the following inference rules can be applied to a context v.</p>
        <p>
          { Rule Core ensures that all elements represented by v satisfy the condition
expressed by the core of the context. For instance, if the core of v is A(x),
the rule will add context clause &gt; ! A(x) to v.
{ Rule Hyper applies hyperresolution [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] using context clauses in v as side
premises and a clause in O as main premise; e.g., the rule adds clause
S(y; x) ! A(x) _ C(y) to v if clauses fS(y; x) ! S(y; x); &gt; ! A(x) _ B(x)g
appear in v, and S(z; x) ^ B(x) ! C(z) 2 O; inferences by Hyper can only
unify variable x in O with variable x in context clauses; this ensures that
consequences preserve the form of context clauses.
{ Rule Eq uses an equality in the head of a context clause in v to make a
substitution in the head of another context clause in v. For instance, if we
have context clauses f&gt; ! R(x; f (x)); &gt; ! f (x) g(x)g in a context v,
rule Eq will write the context clause &gt; ! R(x; g(x)) in v. This rule, together
with the next two, implement a form of paramodulation reasoning [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
{ Rule Ineq eliminates literals of the form t 6 t from heads of context clauses
in v. For instance, if a context clause A(x) ! f (x) 6 f (x) appears in v, the
rule will write A(x) ! ? in this context.
{ Rule Factor replaces two equalities in the head of a context clause in v by two
equivalent equations; this step is required for completeness. For instance, if
there is in v a context clause &gt; ! g(x) o _ g(x) f (x), this rule will add
in v the context clause &gt; ! f (x) 6 o _ g(x) f (x).
{ Rule Elim eliminates redundant context clauses, such as those subsumed by
other context clauses in v.
        </p>
        <p>In addition to these rules, which can be independently applied to each
context, the calculus provides rules that may involve two neighbouring contexts in
the context structure, where an edge (v; w) labelled with function f indicates
that, for each element t represented by v, element f (t) is represented by w.
{ Rule Succ ensures that literals with function symbols can participate in
inferences. If v contains &gt; ! B(f (x)) and B(x) ! C(x) 2 O, we cannot
apply Hyper to infer &gt; ! C(f (x)) in v; instead, we apply Succ to derive
a context clause B(x) ! B(x) that can participate in such inference. This
clause is written in a fresh context w or in a suitable context w chosen from
those already in the context structure; in either case, an edge (v; w) labelled
\f " is added if not already in place. The policy for choosing w (or deciding
to create it fresh) is a parameter of the calculus called the expansion strategy.
{ Rule Pred applies a hyperresolution step involving clauses spread between
two neighbouring contexts. For instance, if context clause &gt; ! R(x; f (x))
appears in v, and context clause R(y; x) ! F (y) appears in w, and there is
an edge (v; w) labelled f , this rule will add &gt; ! F (x) in v.</p>
        <p>To deal with nominals, the calculus allows for ground atoms in context clauses,
and it introduces a special \root context" vr, where we allow applications of
Hyper that unify variable x with a constant; most inferences on named
individuals take place in this context. The calculus also introduces nominal-speci c rules
which allow us to easily propagate ground atoms across contexts.
{ Rule r-Succ is analogous to Succ, and propagates literals from a context v
to the root context; e.g., the rule can be applied to a clause &gt; ! B(o) in v
to generate clause B(o) ! B(o) in the root context.
{ Rule r-Pred is analogous to Pred, and it is used to perform hyperresolution
involving clauses spread between the root context and some other context;
e.g., if rule R(y; o) ! F (y) appears in the root context, and context clause
&gt; ! R(x; o) appears in a context v connected to the root context by an
edge labelled \o", the rule generates &gt; ! F (x) in v.
{ Rule Join applies ground resolution to clauses in the same context; e.g., it
derives &gt; ! F (x) in v if it contains &gt; ! F (x) _ A(o) and A(o) ! F (x).
{ Rule Nom generates fresh constants to represent successors of named
individuals by inverse roles constrained by an \at-most" number restriction.
Introducing fresh constants captures the nominal-like behaviour of these elements
explicitly. For instance, if S(o; y) ! S(o; y) appears in the root context, and
S is a functionally restricted role according to O, Nom adds S(o; y) ! y oS
to the root context. Applications of this rule are suitably restricted to ensure
termination.</p>
        <p>When the context structure becomes saturated under all rules of the calculus,
each relevant subsumption for concept B can be read directly from context vB.
In particular, by choosing appropriate parameters for the calculus (such as a
suitable literal order), soundness and completeness of the calculus ensure that
vB will contain a context clause &gt; ! A(x) if and only if O j= B(x) ! A(x).
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>System Architecture</title>
      <p>
        Ontology loading, clausi cation, and indexing. Sequoia accepts as input
OWL 2 DL ontologies without datatypes and HasKey axioms; by default, Sequoia
will throw an exception if the input ontology is not supported, but the reasoner
can be con gured to work in best-e ort mode and ignore unsupported axioms.
Sequoia converts OWL axioms to normalised DL-clauses; for this, it rst encodes
away role inclusion axioms using a variant of the algorithm in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] (see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for
2 Version 0.6.2, which does not support nominals, is also available as a Protege plugin
and a command line utility. These will soon be updated to the latest version.
      </p>
      <p>OWL API Bindings</p>
      <p>Sequoia Reasoning Engine
Ontology Loader
RIA Encoding
Clausification</p>
      <p>Indexing</p>
      <p>Context Structure Manager</p>
      <p>Saturation</p>
      <p>
        Taxonomy
Sequoia OWL Model
details), and then it applies the clausi cation sub-routine, which uses a variant
of structural transformation to produce a set of DL-clauses of the form required
by the calculus. Like rst-order theorem provers, Sequoia uses several indexes to
e ciently identify clauses that can participate in an inference or a simpli cation
rule. Sequoia uses custom indexing techniques adapted to the special syntax of
ontology and context clauses. The version of Sequoia described in this paper uses
very similar index structures to those described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Reasoning with a context structure. Once an ontology O has been loaded,
the Sequoia Reasoning Engine can check its consistency and classify it. The
Context Structure Manager creates, saturates, and interprets the contexts of a
context structure. For consistency checking, it initialises a single context with an
empty core. For classi cation, it initialises a context vA with core A(x) for each
atomic concept A in O (excluding auxiliary predicates created during clausi
cation), and con gures the context parameters (such as the literal ordering) to
ensure that for each atomic concept B, inclusion &gt; ! B(x) will be derived in vA
if and only if O j= A(x) ! B(x). Each context in the context structure is
implemented as a bre. When a context v is created, an empty set Sv of context clauses
is initialised, together with an auxiliary (empty) set of unprocessed clauses Uv.
Then, Sequoia applies the steps below to v; since the derivation of new inferences
within each context is independent from the state of other contexts, this part of
the algorithm is easily parallelisable (see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for details).
1. Apply the Core rule; add any resulting clauses to Uv and Sv.
2. Apply the Hyper rule using all ontology clauses of the form &gt; !
derived clauses to Uv and Sv.
3. While Uv is not empty:
(a) Pick a clause C from Uv; let L be the set of maximal literals in C.
; add all
(b) Apply all inferences with the Hyper rule involving a literal in L, ontology
clauses, and clauses in Sv. Add inferences to sets Uv and Sv.
(c) Apply all inferences with the Pred rule involving a literal in L, a clause
in a neighbour context, and clauses in Sv. Add inferences to Uv and Sv.
(d) Apply all inferences with the r-Pred rule involving a literal in L and
clauses in Sv and the root context. Add inferences to Uv and Sv.
(e) Apply all inferences with the Eq and Factor rules involving a literal in L
and clauses in Sv; add inferences to sets Uv and Sv.
(f) Apply all inferences with the Nom rule involving a literal in L, clauses
in Sv, and a clause in O; add inferences to sets Uv and Sv.
      </p>
      <p>(g) Erase C from Uv.
4. For each new clause added to Sv, propagate the relevant inference(s) to
neighbour contexts using Succ or r-Succ. Clauses are propagated through
communication channels between contexts.
5. For every new clause added to Sv, if this clause may trigger Pred or r-Pred
in a neighbour context w, propagate this clause to a look-up set Pw in w.</p>
      <p>The context w will use this set in Steps 3.(c)-(d).
6. Sleep until a clause C is received through an incoming communication
channel. If this happens, add C to Uv and go to Step 3.</p>
      <p>The Join rule is combined with Pred and r-Pred. The Ineq rule is applied as a
simpli cation after each clause C is derived. Set Sv uses a redundancy index to
ensure that no clause C is added to Sv if it is subsumed by a clause C0 2 Sv.
Furthermore, clauses in Sv subsumed by C are dropped when C is added to Sv.</p>
      <p>
        When all contexts are sleeping, the context structure has become saturated.
Then, Sequoia runs the Taxonomy sub-routine to read all relevant concept
inclusions from the saturated context structure and compute their transitive
reduction. The result can be accessed using standard OWL API methods.
Optimisations Sequoia implements a number of optimisation techniques. We
discuss those introduced in this version and refer the reader to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for the rest.
{ We have divided the saturation phase into two consecutive phases. The rst
phase derives only Horn context clauses until the context structure becomes
saturated. The second phase then completes the context structure by
deriving all the remaining (non-Horn or Horn) context clauses. This prevents
the generation of context clauses with many disjuncts in the head (a known
source of ine ciency in Sequoia) which turn out to be subsumed by Horn
clauses derived in the rst phase.
{ The concentration of inferences involving named individuals in the root
context prevents the possibility of parallelising such inferences. To address this
problem, we split the root context into a separate nominal context vo for each
individual o. In nominal context vo, we freely swap the constant o for variable
x, and disallow applications of the Hyper rule that unify variable x in
ontology clauses with constant o in context clauses. To retain completeness, we
have suitably modi ed the calculus rules interacting with the root context;
for instance, the rule r-Succ propagates clauses of the form B(o) ! B(o)
to vo. Furthermore, we have added rules to ensure that relevant clauses are
propagated across nominal contexts.
{ Many context clauses of the form ! _B(o) turn out to be redundant due
to the existence of a clause of the form &gt; ! B(o) in the root context. The
generation of such clauses can often be prevented if we propagate &gt; ! B(o)
immediately after it is derived to all contexts which mention o; to make this
task easier, each context keeps track of the constants that have appeared so
far in its context clauses.
{ For classi cation tasks, Sequoia requires all atomic concepts to be
incomparable on contexts introduced at initialisation. This can be a source of
ine ciency: if we have a context clause &gt; ! A1(x) _ A2(x) _ _ An(x)
and clauses Ai(x) ! A(x) 2 O for each 1 i n, the calculus will derive
approximately 2n clauses. However, it is possible to introduce an ordering
between these atoms and preserve completeness by allowing both maximal
atoms and second-maximal atoms (i.e. atoms smaller only than maximal
atoms) in clause heads to participate in inferences in those contexts. By
using this strategy in the example above, our calculus derives n3 clauses.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Evaluation</title>
      <p>
        Methodology We evaluated the performance of classi cation in Sequoia version
0.7.0 against other DL reasoners using the methodology described in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. We
      </p>
      <p>ELK
Sequoia</p>
      <p>Hermit
105
used the Oxford Ontology Repository as our corpus,3 and we preprocessed the
ontologies according to the following steps:
{ Seven ontologies were not in OWL 2 DL due to violations of restrictions on
the use of non-simple object properties; we removed all axioms involved in
such violations. Moreover, we manually xed syntax errors on 9 ontologies.
{ Sequoia does not yet support datatypes; we have replaced each data range
by a fresh class, each data property by a fresh object property, and each
literal by a fresh named individual.</p>
      <p>As a result, we obtained 777 ontologies, out of which 77 contain nominals in the
TBox (that is, excluding ABox assertions). A total of 48 ontologies in the corpus
are captured by the fragment of OWL 2 EL supported by ELK.</p>
      <p>We ran all experiments on a Dell server with 512 GB of RAM and two
Intel CPU E5-2640 V3 2.60 GHz processors, with eight cores per processor
and two threads per core. The system OS was Fedora 26, kernel version
4.11.9300.fc26.x86 64, and Java 1.8.0 update 151. The other evaluated reasoners were
HermiT 1.3.8, Konclude 0.6.2, FaCT++ 1.6.5, Pellet 2.4.0, and ELK 0.4.0. To
streamline the tests, we accessed all reasoners through the OWL API interface.
Konclude does not o er direct access through this interface, so we accessed it via
the OWLlink OWL API adapter; we do not expect this to have had a signi cant
impact on performance since axioms were loaded to the OWLlink server before
the test started. Reasoners such as ELK and Konclude o er support for parallel
reasoning; however, this feature is not yet available in the current version of
Sequoia, so we compared all reasoners in single-threaded mode.</p>
      <sec id="sec-4-1">
        <title>3 http://www.cs.ox.ac.uk/isg/ontologies/</title>
        <p>Easy category</p>
        <p>Medium category</p>
        <p>Hard category</p>
        <p>Fail category
100%
75%
50%
25%
0%</p>
        <p>S</p>
        <p>Nom rule not red</p>
        <p>K H P</p>
        <p>F</p>
        <p>S</p>
        <p>Nom rule red
K H P</p>
        <p>F</p>
        <p>For each ontology in the (preprocessed) corpus and for each reasoner, we
created a fresh process that used the OWL API to: (i) load the ontology, (ii)
create a new instance of the reasoner, (iii) load the ontology to the reasoner, and
(iv) ask the reasoner to classify the ontology. The process was allowed to run for 5
minutes; if this threshold was reached, the process was destroyed and we recorded
a timeout. Otherwise, we created another fresh process to repeat the task up to
three times. We measured the wall-clock duration of the classi cation task in
each repetition. If all repetitions nished without reaching timeout, we recorded
the average classi cation time. Taxonomies were hashed to verify correctness;
in all cases, the results of Sequoia matched those of at least one other reasoner.
The systems, ontologies, and results of the experiment are available online.4
Results The (averaged) classi cation times for the full corpus are summarised
in Figure 2. For each reasoner, we sorted the classi cation times in ascending
order; a value point (n; m) in the gure represents that the n-th smallest average
classi cation time for that reasoner was m milliseconds. Points where m = 300s
represent timeouts. We excluded the results for ELK from Figure 2 and included
them in Figure 3, which considers only the 48 ontologies supported by ELK. In
all cases, we checked correctness using a hash function on the taxonomy and
veri ed that Sequoia agreed with at least one other reasoner.</p>
        <p>Figure 4 considers the 77 ontologies with nominals in the TBox and divides
them into two buckets. The rst one represents the 70 ontologies where the
Nom rule did not re during classi cation, and the second bucket contains the
remaining 7 ontologies. For each bucket and reasoner, we further divided these</p>
      </sec>
      <sec id="sec-4-2">
        <title>4 http://krr-nas.cs.ox.ac.uk/2019/DL-sequoia/</title>
        <p>
          ontologies into four categories: Easy (classi cation time &lt; 1s), Medium (
and &lt; 60s), Hard ( 60s and &lt; 300s), and Fail (timeout).
1s
Discussion Sequoia could classify more ontologies than any other reasoner,
and it performed especially well compared to others on ontologies requiring at
least 30s to classify. Sequoia, however, incurred in a measurable overhead on
ontologies with classi cation times up to 10s, which we believe is related to the
management of the context structure and the communication between contexts.
Timeouts mostly occurred on non-Horn ontologies where saturation produced
many clauses with large numbers of disjuncts in the head, which is a well-known
source of performance problems in CB reasoning [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. These are exacerbated for
ontologies where an at-most number restriction is applicable to a context with a
large number of successors for the same role; this leads to the generation of an
exponential number of clauses with quadratically many equalities in the head.
        </p>
        <p>Figure 3 provides evidence of the theoretical pay-as-you-go properties of the
calculus, as the scalability of Sequoia is in line with that of ELK (with a roughly
constant overhead, maybe due to the choice of data structures). It was not
possible to compare the handling of nominals in Sequoia against ELK, for none
of the 77 ontologies with nominals in the TBox was fully supported by ELK.</p>
        <p>
          Figure 4 shows that reasoning with nominals is still hard for Sequoia, and
further optimisation is needed. This is due to the fact that the global nature of
reasoning with nominals does not combine well with the focus on local
consequences in CB reasoning [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. It is also interesting to notice that 7 ontologies
required the generation of fresh nominals by the Nom rule during classi cation;
this supports the widespread belief within the community that such occurrences
are relatively rare. Interestingly, these 7 ontologies were very hard for all
reasoners. Furthermore, note that the calculus in Sequoia is not worst-case optimal if
the Nom rule is triggered (the calculus can then run in triple exponential time);
however, Sequoia's performance on these ontologies seems to be in line with that
of the other reasoners.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>We have presented a new version of the consequence-based reasoner Sequoia,
which supports the whole of OWL 2 DL with the exception of datatypes. Our
evaluation shows that the performance of Sequoia is very competitive and that
the pay-as-you-go theoretical properties of the underpinning calculus manifest
themselves in practice. There is still plenty of room for optimisation. In
particular, Sequoia still struggles with several non-Horn ontologies with number
restrictions. Nominals can also be a source of problems for Sequoia due to the
derivation of large numbers of ground clauses in many contexts. In addition
to extending the system to support datatypes, we will be working on further
optimisation techniques to address the outstanding practical limitations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Pushing the EL Envelope</article-title>
          . In: IJCAI (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bachmair</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ganzinger</surname>
          </string-name>
          , H.:
          <article-title>Equational Reasoning in Saturation-Based Theorem Proving</article-title>
          . In: Bibel,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Schmidt</surname>
          </string-name>
          , P. (eds.)
          <source>Automated Deduction|A Basis for Applications</source>
          , vol. I, pp.
          <volume>353</volume>
          {
          <fpage>397</fpage>
          .
          <string-name>
            <surname>Kluwer</surname>
          </string-name>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bachmair</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ganzinger</surname>
          </string-name>
          , H.:
          <article-title>Resolution Theorem Proving</article-title>
          . In: Robinson,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Voronkov</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Handbook of Automated Reasoning</source>
          , vol. I, chap. 2.
          <string-name>
            <surname>MIT</surname>
          </string-name>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bate</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <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>Tena Cucala</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simancik</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Consequence-based reasoning for description logics with disjunctions and number restrictions</article-title>
          .
          <source>J. Artif. Intell. Res</source>
          .
          <volume>63</volume>
          ,
          <issue>625</issue>
          {
          <fpage>690</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bate</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simancik</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Extending consequencebased reasoning to SRIQ</article-title>
          . In: KR. pp.
          <volume>187</volume>
          {
          <issue>196</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Baumgartner</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furbach</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          , Niemela,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Hyper Tableaux</article-title>
          . In: JELIA. pp.
          <volume>1</volume>
          {
          <fpage>17</fpage>
          . No. 1126
          <string-name>
            <surname>in</surname>
            <given-names>LNAI</given-names>
          </string-name>
          , Springer, Evora, Portugal (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>On subsumption and instance problem in ELH w</article-title>
          .r.t. general TBoxes. In: DL (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Demri</surname>
          </string-name>
          , S., de Nivelle, H.:
          <article-title>Deciding Regular Grammar Logics with Converse Through First-Order Logic</article-title>
          .
          <source>J. Log. Lang. Inf</source>
          .
          <volume>14</volume>
          (
          <issue>3</issue>
          ),
          <volume>289</volume>
          {
          <fpage>329</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Glimm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoilos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>HermiT: An OWL 2 reasoner</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>53</volume>
          (
          <issue>3</issue>
          ),
          <volume>245</volume>
          {
          <fpage>269</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <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.,
          <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</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ),
          <volume>267</volume>
          {
          <fpage>277</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vrandecic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Resolution-based approximate reasoning for OWL DL</article-title>
          . In: ISWC. pp.
          <volume>383</volume>
          {
          <issue>397</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The OWL API: A Java API for OWL ontologies</article-title>
          .
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <volume>11</volume>
          {
          <fpage>21</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutz</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>The even more irresistible SROIQ</article-title>
          . In: KR (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Hustadt</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          :
          <article-title>Issues of decidability for description logics in the framework of resolution</article-title>
          . In: Caferra,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Salzer</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.)
          <source>Automated Deduction in Classical and Non-Classical Logics. LNCS</source>
          , vol.
          <volume>1761</volume>
          . Springer (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Karahroodi</surname>
            ,
            <given-names>N.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haarslev</surname>
          </string-name>
          , V.:
          <article-title>A Consequence-based Algebraic Calculus for SHOQ</article-title>
          . In: Artale,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.) DL.
          <article-title>CEUR 1879 (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Consequence-Driven Reasoning for Horn SHIQ Ontologies</article-title>
          . In: IJCAI. pp.
          <year>2040</year>
          {
          <year>2045</year>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , Krotzsch,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Simanc k</surname>
          </string-name>
          , F.:
          <article-title>The incredible ELK</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>53</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>61</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A resolution-based decision procedure for SHOIQ</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>40</volume>
          (
          <issue>2-3</issue>
          ),
          <volume>89</volume>
          {
          <fpage>116</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. Krotzsch, M.:
          <article-title>E cient rule-based inferencing for OWL EL</article-title>
          . In: IJCAI (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Metke-Jimenez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lawley</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Snorocket 2.0: Concrete Domains and Concurrent Classi cation</article-title>
          .
          <source>In: ORE. CEUR</source>
          , vol.
          <volume>1015</volume>
          , pp.
          <volume>32</volume>
          {
          <issue>38</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. de Nivelle, H.,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hustadt</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Resolution-Based Methods for Modal Logics</article-title>
          .
          <source>Logic Journal of the IGPL</source>
          <volume>8</volume>
          (
          <issue>3</issue>
          ),
          <volume>265</volume>
          {
          <fpage>292</fpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Ortiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simkus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Worst-case optimal reasoning for the Horn-DL fragments of OWL 1 and 2</article-title>
          . In: KR (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hustadt</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>The Axiomatic Translation Principle for Modal Logic</article-title>
          .
          <source>ACM Transactions on Computational Logic</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ) (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Simanc k</surname>
          </string-name>
          , F.:
          <article-title>Elimination of complex RIAs without automata</article-title>
          . In: DL (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Simanc k</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Consequence-Based and Fixed-Parameter Tractable Reasoning in Description Logics</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>209</volume>
          ,
          <fpage>29</fpage>
          {
          <fpage>77</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Simanc k</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Consequence-Based Reasoning beyond Horn Ontologies</article-title>
          . In: IJCAI. pp.
          <volume>1093</volume>
          {
          <issue>1098</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <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>Journal of Web Semantics</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <volume>51</volume>
          {
          <fpage>53</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Steigmiller</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liebig</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Glimm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Konclude: System description</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>27</volume>
          ,
          <issue>78</issue>
          {
          <fpage>85</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>Tena</given-names>
            <surname>Cucala</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Cuenca</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Consequence-based reasoning for description logics with disjunction, inverse roles, and nominals</article-title>
          . In: DL (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <given-names>Tena</given-names>
            <surname>Cucala</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Cuenca</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Consequence-based reasoning for description logics with disjunction, inverse roles, number restrictions, and nominals</article-title>
          .
          <source>In: IJCAI</source>
          . pp.
          <year>1970</year>
          {
          <year>1976</year>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <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: IJCAR. LNAI</source>
          , vol.
          <volume>4130</volume>
          , pp.
          <volume>292</volume>
          {
          <fpage>297</fpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Vlasenko</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Daryalal</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haarslev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaumard</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A Saturation-based Algebraic Reasoner for ELQ</article-title>
          .
          <source>In: PAAR. CEUR</source>
          , vol.
          <volume>1635</volume>
          , pp.
          <volume>110</volume>
          {
          <issue>124</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>