<!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>Nonmonotonic Existential Rules for Non-Tree-Shaped Ontological Modelling ?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Despoina Magka</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus Krötzsch</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ian Horrocks</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>desmag</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>markus.kroetzsch</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ian.horrocksg@cs.ox.ac.uk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Oxford</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Description logic (DL) formalisms are extensively used for ontological modelling, e.g., in biology [16] and chemistry [19]. One such example is the ChEBI ontology [20] - a reference terminology adopted by various biological databases for chemical annotation [23,8,10]. Despite their wide range of expressive features, DLs are severely limited in their ability to represent structures that are not tree-shaped. This explains, e.g., why ChEBI does not capture molecular structures in its ontology, thus excluding its main content from logical reasoning. In order to overcome this deficiency, numerous rulebased extensions of DLs have been proposed that provide certain kinds of graph-based modelling, such as description graphs [27]. However, in order to retain decidability of description graphs several constraints are imposed, such as role separation restrictions and a cumbersome acyclicity condition, that restrict the range of structures that can be modelled and thus hinder practical usability [26]. Moreover, when performing structurebased classification a form of closed-world assumption is often needed to reason about the absence of structural features, e.g., to conclude that a molecule is inorganic if it does not contain carbon. Expressing completeness (closure) of finite structures in DLs is prohibitively inefficient, whereas nonmonotonic extensions of DLs remain largely unrealised in tools and applications [28]. This motivates the use of logical languages that draw upon rules enriched with nonmonotonic negation for the representation and classification of objects with a complex internal structure. Existential rules-function-free Horn rules with existential quantifiers in rule heads-have been proposed as a new expressive ontological language [6,2], and can be viewed as a restricted kind of logic programs with function symbols. Recent works have considered nonmonotonic rule-based ontology languages using stratified negation [5,26], stable model semantics [13], and well-founded semantics [17]. If we additionally remove the stratification requirement, then the resulting language allows for the accurate modelling of complex finite structures such as those found in ChEBI. Unfortunately, reasoning in these formalisms is computationally challenging. If negation is stratified, then all of these semantics agree, and programs have uniquely determined stable models; this is highly desirable and easy to check, but too restrictive for many applications. Moreover, even without negation, satisfiability, fact entailment, ? This work was supported by the Royal Society, the Seventh Framework Program (FP7) of the European Commission under Grant Agreement 318338, "Optique", and the EPSRC projects ExODA, Score!, and MaSI3.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>query answering, and the existence of finite models are all undecidable; and, while
many non-stratified programs also have unique stable models, this property, too, is
undecidable in general. As most ontologies are concerned with finite, uniquely determined
structures, these problems prevent the use of such formalisms in ontological modelling.</p>
      <p>We address this issue by presenting new conditions that are computationally
feasible to check, and that identify a large class of programs having finite and unique stable
models. These conditions are based on an analysis of whether one rule relies on
another, in the sense that it might either be ‘triggered’ or ‘inhibited’ by the other rule’s
application. These relationships allow us to define R-acyclicity and R-stratification. Our
contributions can be summarised as follows:
– We define R-acyclic and R-stratified logic programs, and show that recognising
such programs is coNP-complete.
– We show that R-acyclic programs have finite stable models, and that reasoning is
coN2EXPTIME-complete (NP-complete for data complexity).
– We show that R-stratified programs have unique stable models, so that reasoning
becomes deterministic, and that if programs are also R-acyclic, reasoning becomes
2EXPTIME-complete (P-complete for data complexity).
– We extend reliances to exploit constraints, and show that this strictly generalises
our earlier criteria. Reasoning complexities carry over, but deciding R-acyclicity
and R-stratification under constraints is complete for P P.
2
– We conduct a case study with ChEBI, which demonstrates that our conditions do
not preclude suitable modelling, that R-stratification can be exploited to allow the
DLV reasoner [22] to scale to the large number of rules in our experiments, and that
DLV can then be used to discover missing relationships in ChEBI.</p>
      <p>This paper is an adapted version of [24]; omitted proofs and additional details can be
found in the companion report [25].
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        We consider a standard first-order language. We use the letters a, b for constants, f ,
g for functions, x, y, z, for variables, and t for terms. Lists of terms ht1; : : : ; tni are
abbreviated as t, similarly for lists of variables x. We treat lists as sets when order
is irrelevant. A special nullary predicate symbol ? is used to denote falsity. We use
Pred(e), Var(e), and Const(e) to denote the predicates, variables, and constants,
respectively, that occur in an expression e. Atoms, i.e., formulae without operators, are
written a, b , g. When used like a formula, sets of atoms always denote the conjunction
of their members. Nonmonotonic negation is denoted not. For a set A of atoms, we
define not A := fnot a j a 2 Ag. A (nonmonotonic existential) rule is of the form
r :
8x:8z: B+ ^ not B
! 9y:H
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
where the positive body B+, negative body B , and head H are sets (or conjunctions)
of atoms without function symbols, such that Var(B+) = x [ z, Var(B ) x [ z, and
Var(H) x [ y. We abbreviate r as (B+; B ; H). When writing rules as in (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), universal
quantifiers are usually omitted. Sets of rules are called (logic) programs.
      </p>
      <p>
        The skolemisation sk(r) of a rule r as in (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) is obtained by replacing each variable
y 2 y in H by a skolem term fy(x), where fy is a fresh skolem function symbol of arity jxj.
Given a program P, we set sk(P) := fsk(r) j r 2 Pg. Assuming a fixed choice of skolem
functions, sk is a bijection between rules and their skolemisations, which allows us to
use the term rule liberally without risk of confusion. Our results refer to rules (or their
skolemisations), and do not generally hold for arbitrary rules with function symbols.
      </p>
      <p>A term or formula is ground if it contains no variables. Ground atoms are called
facts. The Herbrand universe HU(P) of a program P is the set of all ground terms
formed with constants and function symbols from sk(P) (using an auxiliary constant
if Const(sk(P)) = 0/ ). The grounding ground(P) of P is the set of all rules that can be
obtained from rules in sk(P) by uniformly replacing variables with terms from HU(P).</p>
      <p>An (Herbrand) interpretation M is a set of facts with ? 2= M. Satisfaction is
defined as usual: M j= B+; not B holds if B+ M and B \ M = 0/ ; M j= (B+; B ; H)
if M 6j= B+; not B or M j= H; and M j= P if M j= r for all r 2 P. The
GelfondLifschitz reduct of P w.r.t. M is GL(P; M) := f(B+; 0/ ; H) j (B+; B ; H) 2 ground(P)and
B \ M = 0/ g. M is a stable model of P, written M j=SM P, if M j= GL(P; M) and
there is no smaller model M0 ( M with M0 j= GL(P; M). We consider cautious
entailment: for a program P and a fact a, P j= a if a 2 M for all stable models M of P.
Consequences of programs can be computed with the TP operator:
Definition 1. For a program P, a set of facts F and r 2 P with sk(r) = (B+; B ; H), let
r(F) := fHq j B+q F and B q \ F = 0/ g: Moreover, let TP(F) := F [ Sr2P r(F) and
define TP0(F) := F, TPi+1(F) := TP(TPi (F)), and TP¥(F) := [ TPi (F):
i 0</p>
      <p>For a program P, a sequence of disjoint programs P = P1; : : : ; Pn is a
stratification of P if P = Sin=1 Pi and, for all programs Pi; Pj 2 P, rules (B1+; B1 ; H1) 2 Pi and
(B2+; B2 ; H2) 2 Pj, and every predicate R 2 Pred(H1), we have: (i) if R 2 Pred(B2+)
then i j, and (ii) if R 2 Pred(B2 ) then i &lt; j; P1; : : : ; Pn are called strata. P is stratified
if it has a stratification. The TP operator can be used to characterise stable models; for
stratified programs, we even obtain a deterministic computation procedure [1].
Fact 1 Given a program P, a set of facts F, and a stable model M j=SM P [ F, we
have M = TG¥L(P;M)(F). Also, if P = P1; : : : ; Pn is a stratification of P, then M :=
TP¥n (: : : TP¥1 (F) : : :) is the unique stable model of P if ? 2= M.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Modelling with Nonmonotonic Rules</title>
      <p>Rule-based formalisms are well suited for modelling relational structures,
irrespective of whether these structures are tree-shaped or cyclic. We consider practical
examples related to the modelling of chemical compounds in ChEBI. The structure of
molecules can be readily represented as a logical structure. For example, the formula
MH2O(x; y; z) := o(x) ^ bond(x; y) ^ bond(x; z) ^ h(y) ^ h(z) could represent a water
molecule (using unidirectional bonds for simplicity). We model molecules as members
of a unary predicate mol, related to their constituting atoms by the predicate hA (has
atom). The following rule represents methanol (CH3OH), described by MCH3OH(y):
methanol(x) ! 9y:mol(x) ^ MCH3OH(y) ^ Vi6=1hA(x; yi)
Molecules can also be classified by their structure, e.g., to identify molecules that
contain oxygen, or organic hydroxy molecules (those with a substructure C-O-H):
It is not hard to express syntactic identity with a predicate =, predefined in most rule
engines; see [25] for details. Using not we can express syntactic inequality and define,
e.g., molecules with exactly one carbon atom:</p>
      <p>
        Vi2=1(hA(x; yi) ^ c(yi)) ^ not y1 = y2 ! multiC(x)
mol(x) ^ hA(x; y) ^ c(y) ^ not multiC(x) ! oneC(x)
Rules (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and methanol(a) have a unique stable model (using f1; : : : ; f6 for (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )):
M1 := fmethanol(a); hasO(a); orgHydroxy(a); oneC(a); mol(a); hA(a; fi(a))i6=1;
MCH3OH( f1(a); : : : ; f6(a))g
      </p>
      <p>
        hA(x; y) ^ o(y) ! hasO(x)
MCOH(y) ^ Vi3=1 hA(x; yi) ! orgHydroxy(x)
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
M2 := forgHydroxy(b); hasO(b);
      </p>
      <p>
        hA(b; gi(b))i3=1; MCOH(g1(b); g2(b); g3(b))g
So, organic hydroxy molecules contain oxygen, as expected. However, if we consider all
of the above rules and facts together, then rather than M1 [ M2 we obtain M1 [ M2 [
fhA(a; gi(a))i3=1; MCOH(g1(a); g2(a); g3(a)); multiC(a)g n foneC(a)g as the unique
stable model, since rule (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) is applicable to orgHydroxy(a). Thus, the stable model no
longer faithfully represents methanol, which is wrongly classified as multi-carbon.
      </p>
      <p>
        Nonmonotonic negation can be used to overcome this problem. We replace rules (
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
and (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) by the following, where we abbreviate orgHydroxy by oH:
We can thus conclude, e.g., that methanol is an organic hydroxy molecule. To obtain
such inferences for organic hydroxy molecules in general, we can use another rule:
orgHydroxy(x) ! 9y:MCOH(y) ^ Vi3=1 hA(x; yi)
Rules (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )–(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) and orgHydroxy(b) have a unique stable model (using g1; : : : ; g3 for (
        <xref ref-type="bibr" rid="ref7">7</xref>
        )):
      </p>
      <p>
        MCOH(y) ^ Vi3=1 hA(x; yi) ^ not n(yi) ! oH(x) ^ r(x)
oH(x) ^ not r(x) ! 9y:MCOH(y) ^ Vi3=1 hA(x; yi) ^ n(yi)
The predicates r (‘recognised’) and n (‘new’) ensure that only one of these rules is
applicable to a given structure. The above facts with rules (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ), and
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) have the unique stable model M1 [ M2 [ fr(a); n(g1(b)); n(g2(b)); n(g3(b))g, as
desired. However, the resulting set of rules is not stratified, which causes various
problems. First, we cannot be sure that the stable model will be unique for other sets of
facts. Second, rule engines may need to apply more complex algorithms to find the
stable model. Our experiments in Section 7 suggest that this may cause performance issues
that prevent rule engines from computing entailments at all. The goal of this work is to
overcome these issues.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Positive Reliances and R-Acyclicity</title>
      <p>As recalled in Fact 1, every stable model of a logic program can be obtained from a
(possibly infinite) sequence of consecutive rule applications. Insights about the semantics of
a program can thus be gained by analysing, for all pairs of rules r1 and r2, whether
applying r1 can potentially enable applying r2 later. We next formalise this idea of positive
reliance between rules and define R-acyclic programs, which have finite stable models.
Definition 2 (Positive Reliance). Let r1 and r2 be rules such that sk(r1) = (B1+; B1 ; H1)
and sk(r2) = (B2+; B2 ; H2); w.l.o.g. assume that Var(r1) \ Var(r2) = 0/ . Rule r2
positively relies on r1 (written r1 !+ r2) if there exists a set of facts F that contains no
skolem terms and a substitution q such that:</p>
      <p>
        Thus, r1 !+ r2 holds if there is a situation where r1 is applicable (P1)/(P2), r2 is not
applicable (P5), and applying r1 allows r2 to derive something new (P3)/(P4)/(P6).
Example 1 Consider rule r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) of (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and rule r(07) obtained from (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) by replacing x with
x0. It is r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) !+ r(07) since (P1)–(P6) are satisfied by F := fMCOH(b)g [ fhA(a; bi)gi3=1
and q := fx 7! a; y 7! b; x0 7! ag. But it is r(07) !+6 r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ). Intuitively, r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) can only derive
facts that are already necessary to apply r(07) in the first place, thus violating (P6).
      </p>
      <p>
        Similar notions have been considered in the past. The activation relation by Greco et
al. [18] is similar to Definition 2, but allows F to contain function terms to accommodate
arbitrary programs with functions. Our stronger restriction is needed to show r(07) !+6 r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
in Example 1. This illustrates how we can take advantage of the specific structure of
existential rules to discard certain potential interactions. Other similar notions are the
relation by Deutsch et al. [12] and the rule dependency by Baget et al. [2], neither of
which cover negation. Baget et al. omit condition (P6), needed to show r(07) !+6 r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ).
      </p>
      <p>If a finite program has an infinite stable model, some rule with an existential
quantifier must be applicable an infinite number of times. This, however, requires that there
is a cycle in rule reliances, motivating the following definition.</p>
      <p>
        Definition 3 (R-Acyclic). A program P is R-acyclic if there is no cycle of positive
reliances r1 !+ : : : !+ rn !+ r1 that involves a rule with an existential quantifier.
Example 2 The complete list of positive reliances for the rules r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ); : : : ; r(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) is r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+
r(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), r(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), r(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), r(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), and r(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) !+
r(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ). Thus the program is R-acyclic. To model =, we assume that yi = yi is derived for
all existential variables yi.
      </p>
      <p>We prove that checking positive reliance for two rules is NP-complete. Similar
results are shown by Deutsch et al. [12] and by Baget et al. [3] for rules without negation.
The complexity refers to the size of the two involved rules rather than to the size of the
whole program: in practice, positive reliances can be checked efficiently by checking
the applicability of one of the rules to a linear number of facts.</p>
      <p>Theorem 1. Given rules r1 and r2, the problem of deciding whether r1 !+ r2 is
NPcomplete. Checking whether a program P is R-acyclic is coNP-complete.</p>
      <p>The main result of this section shows that entailment under stable model semantics
is decidable for R-acyclic programs. Hardness for coN2EXPTIME is shown by reducing
the word problem of 2EXPTIME-bounded non-deterministic Turing machines to fact
entailment, adapting constructions by Calì et al. [7] and Krötzsch and Rudolph [21].
Theorem 2. Let P be an R-acyclic program and let F [ fa g be a set of facts. Every
stable model of P [ F has size doubly exponential in the size of P and polynomial in the
size of F . Deciding P [ F j= a is coN2EXPTIME-complete w.r.t. program complexity
and coNP-complete w.r.t. data complexity.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Negative Reliances and R-Stratification</title>
      <p>While positive reliances capture when one rule ‘triggers’ another, the use of
nonmonotonic negation may cause the opposite interaction where one rule ‘inhibits’ another; we
formalise this by defining negative reliances between rules. This suggests a new kind of
stratification, which generalises the classical notion but can still be decided efficiently.
Definition 4 (Negative Reliance). Let r1 and r2 be rules such that sk(r1) = (B1+; B1 ; H1)
and sk(r2) = (B2+; B2 ; H2); w.l.o.g. assume that Var(r1) \ Var(r2) = 0/ . Rule r2
negatively relies on r1 (written r1 ! r2) if there exists a set of facts F that contains no
skolem terms and a substitution q such that:</p>
      <p>B1+q</p>
      <p>
        F
Example 3 Consider rule r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) of (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ), and rule r(09) obtained from (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) by variable x
with x0. We can show r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) ! r(09) using F := foH(a); MCOH(b)g [ fhA(a; bi)gi3=1 and
q := fx 7! a; y 7! b; x0 7! ag. Conversely, r(09) !6 r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) similarly to Example 1.
Definition 5 (R-Stratification). A sequence of disjoint programs P = P1; : : : ; Pn is an
R-stratification of a program P if P = Sin=1 Pi and, for every two programs Pi; Pj 2 P
and rules r1 2 Pi and r2 2 Pj, we have:
if r1 !+ r2 then i
j
and
if r1 ! r2 then i &lt; j.
      </p>
      <p>P is R-stratified if it has an R-stratification.</p>
      <p>
        Example 4 For P consisting of rules r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), r(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), r(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), r(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ), and r(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) we obtain the
reliances r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) ! r(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), r(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) ! r(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), r(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) !+
r(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), and r(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) !+ r(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ). An R-stratification of P is therefore given by P1 := fr(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ); r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )g,
P2 := fr(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ); r(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ); r(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )g, and P3 := fr(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )g. In contrast, P is not stratified due to r(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) and r(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ).
Proposition 1. If P is stratified, then P is R-stratified.
      </p>
      <p>Example 4 and Proposition 1 above show that R-stratification properly contains
stratification. The graph structure that is induced by reliances, defined next, can be used
to decide R-stratification in practice, as shown in Proposition 2 below.</p>
      <sec id="sec-5-1">
        <title>Definition 6 (Graph of Reliances). For a program P, the graph of reliances GoR(P)</title>
        <p>is a directed graph that has the rules of P as its vertices and two sets of edges: positive
edges that correspond to the positive reliances of P and negative edges that correspond
to the negative reliances of P.</p>
        <p>Proposition 2. P is R-stratified iff its graph of reliances GoR(P) contains no directed
cycle with a negative edge.</p>
        <p>From the previous result it is clear that, given the graph of reliances, R-stratification
can be decided in polynomial time. The overall complexity is therefore dominated by
the complexity of checking individual reliances—in this sense, it is polynomial in the
total number of rules, and coNP-complete only in the maximal size of a rule. Moreover,
in contrast to the NP-completeness of checking positive reliances (Theorem 1), negative
reliances can be detected in polynomial time.</p>
        <p>Theorem 3. Given rules r1 and r2, it can be decided in polynomial time whether r1 !
r2. Checking whether a program P is R-stratified is coNP-complete.</p>
        <p>It remains to show that R-stratified programs have at most one stable model, and that
this model can always be obtained by repeated application of rules according to their
stratification. This leads to a semi-decision procedure for entailment. If the program is
also R-acyclic, we obtain a decision procedure and tight complexity bounds.</p>
        <p>Note that Definition 4 does not include a condition that corresponds to (P6) from
Definition 2. Indeed, as the next example shows, such a condition would not lead to a
notion of R-stratification that ensures unique stable models.</p>
        <p>Example 5 Given the rules r1 : not p ! q and r2 : q ! p, we find that r1 !+ r2 and
r2 ! r1, so that the program is not R-stratified. Indeed, it has no stable models for the
empty set of facts. Yet, if we required H2q 6 F in Definition 4, then r2 ! r1 would not
hold, and the program would be R-stratified. Intuitively speaking, negative reliances do
not just consider the case where r2 could derive something new, but also the case where
r2 has already been used in a derivation that is no longer justified after applying r1.</p>
        <p>We now define a computation scheme that can be used to obtain the unique stable
model of R-stratified programs, or to derive a contradiction ? if no such model exists.
Definition 7. For a set of facts F and a program P with R-stratification P = P1; : : : ; Pn,
define SP0(F) := F and</p>
        <p>SPi+1(F) := TP¥i+1 (SPi(F)) for 0</p>
        <p>For the remainder of this section, let P denote an R-stratified program with
Rstratification P = P1; : : : ; Pn, let F denote a set of facts, and define SPi := SPi(F).</p>
        <p>We first show that SPn is a (not necessarily unique) stable model of F [ P, provided
that ? 2= SPn. The next two lemmas are key ingredients to this proof. Intuitively
speaking, Lemma 1 asserts that, if the body of a rule r 2 Pi is satisfied at some point while
computing SPi, then it will remain satisfied in all later stages of the computation. The
crucial claim is that the negative part of the rule will not be derived at any later stage.
The proof of Lemma 1 relies on the definition of !.</p>
        <p>Lemma 1. Consider numbers 1 i j k n and ` 0, a rule r 2 Pi with
skolemisaj 1
tion sk(r) = (B+; B ; H), and a substitution q . Then TP`j (SP ) j= B+q ; not B q implies
SPk j= B+q ; not B q .</p>
        <p>Lemma 2 complements the previous result. Intuitively speaking, it states that a rule
r 2 Pi, which is clearly satisfied after computing Si , will remain satisfied in all later
P
stages of the computation. The key part of this claim concerns the case that r is
satisfied because its positive body is not satisfied. In this case, the positive body will never
become satisfied later on, unless the head of the rule becomes satisfied as well. This
argument hinges upon the definition of !+.</p>
        <p>Lemma 2. Consider numbers 1 i &lt; j
Then S Pj j= sk(r)q implies SPk j= sk(r)q .</p>
        <p>Using Lemmas 1 and 2, we can show the following result.</p>
        <p>Proposition 3. If ? 2= SPn, then SPn j=SM F [ P.
k
n, a rule r 2 Pi, and a substitution q .</p>
        <p>The main result of this section is that stable models of R-stratified programs are
unique. We prove so by first showing that M j=SM P [ F implies SPn = M, which is
established by showing inductively that for all k 2 f0; : : : ; ng, SPk = T ¥ (F).
GL(Sik=1 Pi;M)
Theorem 4. If ? 2= SPn, then SPn is the unique stable model of F [ P. Otherwise F [ P
does not have a stable model.</p>
        <p>The complexity of reasoning for programs that are both R-acyclic and R-stratified
can thus be improved. Hardness is shown by using a reduction similar to Theorem 2 but
with a deterministic Turing machine, that results in an R-stratified constructed program.
Theorem 5. Let P be an R-acyclic R-stratified program, let F be a set of facts, and let
a be a fact. Deciding P [ F j= a is 2EXPTIME-complete w.r.t. program complexity and
P-complete w.r.t. data complexity.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Reliances under Constraints</title>
      <p>To widen the classes of logic programs with unique stable models, it has been proposed
to study stratification for a particular set of facts [4]. Indeed, it might be that a program
that does not have a unique stable model for all sets of facts still has a unique stable
model for all sets of facts that arise in the context of a given application. In this section,
we therefore propose a generalisation of R-acyclicity and R-stratification that considers
constraints, that is, rules of the form B+ ! ? where B+ is a set of atoms. As Example 6
suggests, constraints restrict the possible inputs so that more programs are stratified.
Example 6 Organic molecules are those containing carbon and each inorganic entity
is a molecule of geological origin:
r1 :
r2 :
r3 :
mol(x) ^ hA(x; y) ^ c(y) ! organic(x)
mol(x) ^ not organic(x) ! inorganic(x)</p>
      <p>inorganic(x) ! mol(x) ^ geoOrigin(x)
It is easily checked that r1 ! r2 !+ r3 !+ r1, so fr1; r2; r3g is not R-stratified by
Proposition 2. Although the program has a unique stable model for all sets of facts, there is no
stratified order of rule applications that produces the stable model. In particular, the set
of facts finorganic(a); hA(a; b); c(b)g requires us to apply r3 before r1. This situation
is undesired, since inorganic molecules usually do not contain carbon, and a refined
notion of reliance should take this into account.</p>
      <sec id="sec-6-1">
        <title>Definition 8 (Reliances under Constraints). Let r1 and r2 be rules, and let C be a set</title>
        <p>of constraints.</p>
        <p>– r2 positively relies on r1 under C (written r1 !+C r2) if there exists a set of facts F
and a substitution q that satisfy the conditions in Definition 2, and where F j= C.
– r2 negatively relies on r1 under C (written r1 !C r2) if there exists a set of facts F
and a substitution q that satisfy the conditions in Definition 4, and where F j= C.
The classes of programs that are R-acyclic under C and R-stratified under C are defined
as in Definition 3 and 5, respectively, but using !C instead of !.</p>
        <p>It should be noted that our earlier results treat constraints like any other rule of P.
This is still possible here, e.g., if some constraints are not deemed to be relevant for
showing stratification. Indeed, the fewer constraints are part of C, the fewer additional
checks are needed to compute reliances.</p>
        <p>Example 7 Consider the rules of Example 6 and the constraint c : inorganic(x)^hA(x; y)^
c(y) ! ?. With C := fcg, we find r3 !+6C r1, and indeed P1 := fr1g, P2 := fr2; r3g is an
R-stratification under these constraints.</p>
        <p>Adding constraints increases the complexity of testing positive reliances from NP
to S P, i.e. they can be checked in polynomial time by a nondeterministic Turing
ma2
chine using an NP oracle. As before, the NP computations correspond to checking the
applicability of a rule or constraint to a small set of facts, for which efficient
implementations exist. A lower bound is obtained by reducing satisfiability of a quantified
Boolean formula 9p:8q:j to testing a positive reliance under a set of constraints.
Theorem 6. Given rules r1 and r2, and a set of constraints C, deciding r1 !+C r2 is
S2P-complete. Checking if a program P is R-acyclic under constraints is P2P-complete.</p>
        <p>As before, the relations !+C and !C induce a graph of reliances under constraints.
Analogously to Proposition 2, we can show that P is R-stratified under constraints if
and only if this graph does not contain cycles that involve !C. This is the basis for
deciding R-stratification under constraints, leading to the following result.
Theorem 7. Given rules r1 and r2, and a set of constraints C, the problem of deciding
r1 !C r2 is in D2P. Checking if a program P is R-stratified under C is P2P-complete.</p>
        <p>Given an R-stratification of P under constraints C, we can again define a
computation scheme to obtain unique stable models. C in this case is evaluated on all strata,
though one can also defer constraint checking to the highest stratum.</p>
        <p>Definition 9. For a set of facts F and a program P with R-stratification P = P1; : : : ; Pn
under constraints C, define SP0;C(F) := TC(F) and</p>
        <p>SPi+;C1(F) := TP¥i+1[C(SPi;C(F)) for 0</p>
        <p>The following result can be shown using the same overall proof structure as in
Section 5. The main difference is that in all arguments that discuss potential reliances
between rules, we also need to show satisfaction of the constraints. This is usually a
consequence of the assumption that ? is not derived.</p>
        <p>Theorem 8. If ? 2= SPn;C(F), then SPn;C(F) is the unique stable model of F [ P [ C, or
else F [ P [ C has no stable model.</p>
        <p>Theorems 2 and 5 carry over for R-acyclic and R-stratified programs under constraints:
Theorem 9. For a set of facts F, a fact a, and a program P that is R-acyclic under a set
of constraints C, deciding P [ F [C j= a is coN2EXPTIME-complete (coNP-complete)
w.r.t. program (data) complexity. If P is also R-stratified under C, deciding P [ F [C j=
a becomes 2EXPTIME-complete (P-complete) w.r.t. program (data) complexity.
7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Experimental Evaluation</title>
      <p>In order to assess the practical utility of our solution, we conducted a case study with
ChEBI. Our test datasets, software, and detailed results are published online [25].</p>
      <p>
        The ChEBI database (release 97) contains about 20,000 molecular structures and
taxonomic relations for about 8,000 chemical classes, while the DL-based ontology
contains taxonomic information only. To obtain rules for reasoning, we considered a
sample of 500 molecules, with sizes ranging from 2 to 138 atoms. The structure of each
molecule (given in MDL Molfile format) was converted to rules of the form (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ).
Chemical classes, such as one-carbon molecule or organic hydroxy, do not have
machinereadable descriptions in ChEBI. We selected 50 chemical classes and manually
formalised their human-readable descriptions as rules, such as (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) and (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ). In addition, we
defined 30 molecule classes that are characterised by small substructures (functional
groups of 2 to 8 atoms), e.g., organic hydroxy. We modelled each with two rules of the
form (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) and (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ), using distinct predicates r and n for each pair of rules. Finally,
existential quantifiers were skolemised, and conjunctions in rule heads were decomposed
into multiple rules. This led to a program P with 78,957 rules, the largest of which had
38 body atoms (8 negative). P was not stratified, but was R-stratified and R-acyclic. In
addition, we generated a set F of 530 facts of the form C(aC), one for each molecule or
functional group. This allowed us to compute subsumptions between chemical classes:
C is subsumed by C0 iff C0(aC) is in the unique stable model of P [ F.
      </p>
      <p>We ran experiments on a desktop computer (2GHz quad-core CPU, 4GB RAM)
running Linux. In a first experiment, we tried to compute a stable model of P [ F using
DLV [22], but the system failed to compute this result within a time limit of 600
seconds. In a second experiment, we split P into R-strata and consecutively computed the
stable model of each stratum. Of the five R-strata of P, the first stratum P1 contained
78,251 rules, while the 706 rules of the remaining four R-strata formed a stratified
program P5. We thus used DLV to compute the stable model of P1 [ F, converted the result
2
into a new set of facts SP1, and used DLV to compute the stable model of SP1 [ P25. This
took 17 seconds, with 13.5 seconds being used for actual reasoning in DLV.</p>
      <p>We obtained 8,639 non-trivial subsumptions between chemical classes, which we
compared to ChEBI’s manually created taxonomy. This revealed several omissions in
ChEBI, e.g., the fact that every organic hydroxy (ChEBI id 33822) is an organooxygen
compound (ChEBI id 36963), illustrating the practical relevance of our approach.
8</p>
    </sec>
    <sec id="sec-8">
      <title>Related Work</title>
      <p>Nonmonotonic extensions for existential rules are considered by Calì et al. [5] using
stratified negation, and more recently by Gottlob et al. [17] using well-founded
semantics. Another approach to nonmonotonic ontological modelling are F DN C programs
[14], which are related to DLs and inherit many of their expressivity limitations.</p>
      <p>Local stratification generalises stratification by considering the (infinite)
groundings of normal logic programs [30]. This condition is undecidable [9], but does not
generalise R-stratification (see [25] for a counterexample). Further extensions along
these lines led to weak stratification [29], effective stratification [4], modular
stratification [33], and left-to-right dynamic stratification [34], all of which are known or
suspected to be undecidable in the presence of function symbols.</p>
      <p>Many other works study the problem of recognising negation-free programs with
finite models [15,21,11]. Deutsch et al. [12] discuss how to generalise weak acyclicity
by first partitioning the program into cyclic components; in the same way, reliances
can be combined with any notion of acyclicity. Negation is rarely considered.
Omegarestrictedness uses a kind of ‘stratification’ to ensure finiteness of stable models [35].
Magka et al. [26] define semantic acyclicity to ensure finite models in reasoning about
structured objects but only consider stratified negation. Finally, the use of constraints on
sets of facts to enhance acyclicity and stratification resembles the use of dependencies
(called extensional constraints) on ABoxes to optimise DL query rewriting [31,32].
9</p>
    </sec>
    <sec id="sec-9">
      <title>Conclusions</title>
      <p>We showed that nonmonotonic existential rules under a stable model semantics can
address complex real-world modelling problems, and presented novel conditions to ensure
efficient, deterministic reasoning in these cases. Our experiments indicate that our
approach can dramatically increase the performance of existing answer set programming
engines, enabling them to address new, practically relevant application areas.</p>
      <p>For future work, it is thus very promising to integrate our approach into existing
rule engines, which will also allow more extensive evaluations. Section 6 suggests that
cyclic or non-stratified programs could be ‘repaired’ by adding suitable constraints,
which could inspire new tools for rule modelling. Equality theories often lead to
additional reliances, whereas datatypes and numeric constraints could be exploited to
discard reliances—further work is needed to study these effects.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Apt</surname>
            ,
            <given-names>K.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bol</surname>
            ,
            <given-names>R.N.</given-names>
          </string-name>
          :
          <article-title>Logic programming and negation: A survey</article-title>
          .
          <source>J. Log. Program. 19/20</source>
          ,
          <fpage>9</fpage>
          -
          <lpage>71</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baget</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leclère</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mugnier</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salvat</surname>
          </string-name>
          , E.:
          <article-title>On rules with existential variables: Walking the decidability line</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>175</volume>
          (
          <issue>9-10</issue>
          ),
          <fpage>1620</fpage>
          -
          <lpage>1654</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baget</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mugnier</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomazo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards farsighted dependencies for existential rules</article-title>
          .
          <source>In: RR</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bidoit</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Froidevaux</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Negation by default and unstratifiable logic programs</article-title>
          .
          <source>Theor. Comput. Sci</source>
          .
          <volume>78</volume>
          (
          <issue>1</issue>
          ),
          <fpage>86</fpage>
          -
          <lpage>112</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Calì</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A general Datalog-based framework for tractable query answering over ontologies</article-title>
          .
          <source>In: PODS</source>
          . pp.
          <fpage>77</fpage>
          -
          <lpage>86</lpage>
          . ACM (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Calì</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marnette</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pieris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          : Datalog+/
          <article-title>-: A family of logical knowledge representation and query languages for new applications</article-title>
          . In: LICS (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Calì</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pieris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards more expressive ontology languages: The query answering problem</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>193</volume>
          ,
          <fpage>87</fpage>
          -
          <lpage>128</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Chan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishore</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sternberg</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Auken</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>The gene ontology: enhancements for 2011</article-title>
          .
          <source>Nucleic Acids Research</source>
          <volume>40</volume>
          (
          <issue>D1</issue>
          ),
          <fpage>D559</fpage>
          -
          <lpage>D564</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cholak</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blair</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>The complexity of local stratification</article-title>
          .
          <source>Fundam. Inform</source>
          .
          <volume>21</volume>
          (
          <issue>4</issue>
          ),
          <fpage>333</fpage>
          -
          <lpage>344</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Croft</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>'Kelly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Haw</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Gillespie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Matthews</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Caudy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Garapati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Gopinath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Jassal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Jupe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Kalatskaya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Mahajan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>May</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Ndegwa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Shamovsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Yung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Birney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Hermjakob</surname>
          </string-name>
          , H.,
          <string-name>
            <surname>D'Eustachio</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stein</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Reactome: a database of reactions, pathways and biological processes</article-title>
          .
          <source>Nucleic Acids Research</source>
          <volume>39</volume>
          (
          <string-name>
            <surname>Database-Issue</surname>
            <given-names>)</given-names>
          </string-name>
          ,
          <fpage>691</fpage>
          -
          <lpage>697</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <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>
            <given-names>I.</given-names>
            ,
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Kupke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Magka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z.</surname>
          </string-name>
          :
          <article-title>Acyclicity conditions and their application to query answering in description logics</article-title>
          .
          <source>In: KR</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Deutsch</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nash</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Remmel</surname>
            ,
            <given-names>J.B.</given-names>
          </string-name>
          :
          <article-title>The chase revisited</article-title>
          .
          <source>In: PODS</source>
          . pp.
          <fpage>149</fpage>
          -
          <lpage>158</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krennwallner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
          </string-name>
          , G.:
          <article-title>Uniform evaluation of nonmonotonic DL-programs</article-title>
          .
          <source>In: FoIKS</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simkus</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>FDNC: Decidable nonmonotonic disjunctive logic programs with function symbols</article-title>
          .
          <source>ACM TOCL 11(2)</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Fagin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolaitis</surname>
            ,
            <given-names>P.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popa</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Data exchange: semantics and query answering</article-title>
          .
          <source>Theor. Comput. Sci</source>
          .
          <volume>336</volume>
          (
          <issue>1</issue>
          ),
          <fpage>89</fpage>
          -
          <lpage>124</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Gkoutos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schofield</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoehndorf</surname>
          </string-name>
          , R.:
          <article-title>Computational tools for comparative phenomics: the role and promise of ontologies</article-title>
          .
          <source>Mammalian Genome</source>
          <volume>23</volume>
          (
          <issue>9-10</issue>
          ),
          <fpage>669</fpage>
          -
          <lpage>679</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hernich</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kupke</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Equality-friendly well-founded semantics and applications to description logics</article-title>
          .
          <source>In: AAAI</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Greco</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spezzano</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trubitsyna</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>On the termination of logic programs with function symbols</article-title>
          .
          <source>In: ICLP (Tech. Comm.)</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Hastings</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magka</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Batchelor</surname>
            ,
            <given-names>C.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duan</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stevens</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ennis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinbeck</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Structure-based classification and ontology in chemistry</article-title>
          .
          <source>J. Cheminf. 4</source>
          ,
          <issue>8</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Hastings</surname>
            , J., de Matos,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dekker</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ennis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harsha</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kale</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muthukrishnan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Owen</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinbeck</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The ChEBI reference database and ontology for biologically relevant chemistry: enhancements for 2013</article-title>
          .
          <source>Nucleic Acids Research</source>
          <volume>41</volume>
          (
          <string-name>
            <surname>Database-Issue</surname>
            <given-names>)</given-names>
          </string-name>
          ,
          <fpage>456</fpage>
          -
          <lpage>463</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Krötzsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Extending decidable existential rules by joining acyclicity and guardedness</article-title>
          .
          <source>In: IJCAI</source>
          . pp.
          <fpage>963</fpage>
          -
          <lpage>968</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeifer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scarcello</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The DLV system for knowledge representation and reasoning</article-title>
          .
          <source>ACM TOCL 7</source>
          (
          <issue>3</issue>
          ) (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Donizelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dharuri</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Endler</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chelliah</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henry</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stefan</surname>
            ,
            <given-names>M.I.</given-names>
          </string-name>
          , et al.:
          <article-title>Biomodels database: An enhanced, curated and annotated resource for published quantitative kinetic models</article-title>
          .
          <source>BMC systems biology 4(1)</source>
          ,
          <volume>92</volume>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Magka</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krötzsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Computing stable models for nonmonotonic existential rules</article-title>
          . In: Rossi,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (ed.)
          <source>Proceedings of the 23rd International Joint Conference on Artificial Intelligence (IJCAI</source>
          <year>2013</year>
          ). AAAI Press (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Magka</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krötzsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Stable models for nonmonotonic existential rules</article-title>
          .
          <source>Tech. rep.</source>
          , University of Oxford (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Magka</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <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>Modelling structured domains using description graphs and logic programming</article-title>
          .
          <source>In: ESWC</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuenca Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Representing ontologies using description logics, description graphs, and rules</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>173</volume>
          (
          <issue>14</issue>
          ) (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>Reconciling description logics and rules</article-title>
          .
          <source>J. ACM</source>
          <volume>57</volume>
          (
          <issue>5</issue>
          ) (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Przymusinska</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Przymunsinski</surname>
          </string-name>
          , T.C.:
          <article-title>Weakly stratified logic programs</article-title>
          .
          <source>Fundam. Inf</source>
          .
          <volume>13</volume>
          (
          <issue>1</issue>
          ),
          <fpage>51</fpage>
          -
          <lpage>65</lpage>
          (
          <year>Mar 1990</year>
          ), http://dl.acm.org/citation.cfm?id=
          <volume>98480</volume>
          .
          <fpage>98489</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Przymusinski</surname>
          </string-name>
          , T.C.:
          <article-title>On the declarative and procedural semantics of logic programs</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>167</fpage>
          -
          <lpage>205</lpage>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>High performance query answering over DL-Lite ontologies</article-title>
          . In: Brewka,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>McIlraith</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.A</surname>
          </string-name>
          . (eds.) KR. AAAI Press (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.: Prexto:
          <article-title>Query rewriting under extensional constraints in DL - Lite</article-title>
          . In: Simperl,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Cimiano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Corcho</surname>
          </string-name>
          , Ó.,
          <string-name>
            <surname>Presutti</surname>
          </string-name>
          , V. (eds.)
          <source>ESWC. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7295</volume>
          , pp.
          <fpage>360</fpage>
          -
          <lpage>374</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>K.A.</given-names>
          </string-name>
          :
          <article-title>Modular stratification and magic sets for Datalog programs with negation</article-title>
          .
          <source>J. ACM</source>
          <volume>41</volume>
          (
          <issue>6</issue>
          ),
          <fpage>1216</fpage>
          -
          <lpage>1266</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Sagonas</surname>
            ,
            <given-names>K.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Swift</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warren</surname>
            ,
            <given-names>D.S.:</given-names>
          </string-name>
          <article-title>The limits of fixed-order computation</article-title>
          .
          <source>Theor. Comput. Sci</source>
          .
          <volume>254</volume>
          ,
          <fpage>465</fpage>
          -
          <lpage>499</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Syrjänen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Omega-restricted logic programs</article-title>
          .
          <source>In: LPNMR</source>
          . pp.
          <fpage>267</fpage>
          -
          <lpage>279</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>