<!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>Tractable Query Answering over Ontologies with Datalog</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Cal`ı</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Georg Gottlob</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Lukasiewicz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computing Laboratory, University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Oxford-Man Institute of Quantitative Finance, University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present a family of expressive extensions of Datalog, called Datalog , as a new paradigm for query answering over ontologies. The Datalog family admits existentially quantified variables in rule heads, and has suitable restrictions to ensure highly efficient ontology querying. In particular, we show that query answering under so-called guarded Datalog is PTIME-complete in data complexity, and that query answering under so-called linear Datalog is in AC0 in data complexity. We also show how negative constraints and a general class of key constraints can be added to Datalog while keeping ontology querying tractable. We then show that linear Datalog , enriched with a special class of key constraints, generalizes the well-known DL-Lite family of tractable description logics. Furthermore, the Datalog family is of interest in its own right and can, moreover, be used in various contexts such as data integration and data exchange. This work is a short version of [8].</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Ontologies play a key role in the Semantic Web [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], data modeling, and information
integration [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Recent trends in ontological reasoning have shifted from decidability
issues to tractability ones, as e.g. reflected by the work on the DL-Lite family of tractable
description logics (DLs) [
        <xref ref-type="bibr" rid="ref12 ref22">12, 22</xref>
        ]. An important result of these works is that the main
variants of DL-Lite are not only decidable, but that answering (unions of) conjunctive
queries for these logics is in LOGSPACE, and actually in AC0, in data complexity (i.e.,
the complexity where both the query and the constraints are fixed), and query answering
in DL-Lite is FO-rewritable [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. As observed in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], the lack of value creation makes
plain Datalog not very well suited for ontological reasoning with inclusion axioms
either. It is thus natural to extend Datalog in order to nicely accommodate ontological
axioms and constraints such as those expressible in the DL-Lite family.
      </p>
      <p>
        This paper proposes and studies variants of Datalog that are suited for efficient
ontological reasoning, and, in particular, for tractable ontology-based query answering.
We introduce the Datalog family of Datalog variants, which extend plain Datalog
by the possibility of existential quantification in rule heads, and by a number of other
features, and, at the same time, restrict the rule syntax in order to achieve tractability.
In the Datalog family, rules are a restricted form of tuple-generating dependencies
(TGDs) and equality-generating dependencies (EGDs). More specifically, in guarded
Datalog , rules are guarded TGDs (GTGDs), i.e., TGDs with a single atom in the body
that contains all universally quantified variables; in linear Datalog , rules are linear
TGDs (LTGDs), i.e., TGDs that have a single atom in the body. We characterize the
data complexity of query answering for both the above sublanguages of Datalog . We
show that query answering is PTIME-complete and in AC0 (which is the complexity of
evaluating fixed first-order formulas over a database or finite structure), when the query
and the set of GTGDs and LTGDs are fixed, respectively. We then enrich Datalog by
adding negative constraints, which are Horn clauses with a (not necessarily guarded)
conjunction of atoms in their body and the truth constant false, denoted ?, in the head.
We show that the introduction of such constraints does not increase the complexity
of query answering in Datalog . As a further extension, we add non-conflicting keys,
which are special EGDs that do not interact with TGDs, and thus also do not increase
the complexity of query answering in Datalog . We deal only with keys, since this
suffices to capture the most common tractable ontology languages in the literature. The
class of non-conflicting keys is a generalization of the one in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        Further results. We have several other results that, for space reasons, we do not include
here. We refer the reader to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for more details. A central result is that the Datalog
family is able to express the most common tractable ontology languages, in particular,
the DL-Lite family [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and F-Logic Lite [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In particular, it is interesting to see that
linear Datalog enriched with non-conflicting keys is expressive enough to capture the
expressive power of the description logics DL-LiteF , DL-LiteR, and DL-LiteA, which
are highly suitable for ontological modeling and reasoning. Finally, we are able to deal
with an extension of Datalog with stratified negation. We provide a canonical model
and a perfect model semantics, and we show that they coincide. We thus provide a
natural stratified negation for query answering over ontologies, which has been an open
problem to date, since it is in general based on several strata of infinite models.
Related work. Note that the results of the present paper are related to but very
different from the results in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], where complexity issues of guarded TGDs as well as of
another class, called weakly guarded TGDs, were first studied. There, it was shown that
the combined complexity of query answering and fact inference with guarded TGDs is
2-EXPTIME complete, and it was noted that the data complexity is polynomial, which
is now much refined by the present paper. Extensions of Datalog that allow the
introduction of values not appearing in the active domain of the input database have
been proposed in the literature [
        <xref ref-type="bibr" rid="ref1 ref10 ref11 ref5">1, 5, 11, 10</xref>
        ]; the introduction of such values is usually
called value invention. Other works integrate Datalog with description logic knowledge
bases [
        <xref ref-type="bibr" rid="ref16 ref23 ref6">16, 6, 23</xref>
        ], which is a different perspective.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>We briefly recall some basics on databases, queries, TGDs, and the chase.
Databases and Queries. We assume (i) an infinite universe of data constants (which
constitute the “normal” domain of a database), (ii) an infinite set of (labeled) nulls N
(used as “fresh” Skolem terms, which are placeholders for unknown values, and can
thus be seen as variables), and (iii) an infinite set of variables X (used in dependencies
and queries). Different constants represent different values (unique name assumption),
while different nulls may represent the same value. We assume a lexicographic order
on [ N , with every symbol in N following all symbols in . We denote by X
sequences of variables X1; : : : ; Xk with k &gt; 0. We assume a relational schema R,
which is a finite set of relation names (or predicates). A term t is a constant, null, or
variable. An atomic formula (or atom) a has the form P (t1; :::; tn), where P is n-ary
predicate, and t1; :::; tn are terms. We denote by dom(a) the set of all its arguments.
These notations naturally extend to sets and conjunctions of atoms. Conjunctions of
atoms are often identified with the sets of their atoms. A database (instance) D for R is
a (possibly infinite) set of atoms with predicates from R and arguments from [ N .
Such D is ground iff it contains only atoms with arguments from . A conjunctive
query (CQ) over R has the form Q(X) = 9Y (X; Y), where (X; Y) is a
conjunction of atoms with the variables X and Y. A Boolean CQ (BCQ) over R is a CQ of
the form Q(). Answers to CQs and BCQs are defined via homomorphisms, which are
mappings : [ N [ X ! [ N [ X such that (i) c 2 implies (c) = c,
(ii) c 2 N implies (c) 2 [ N , and (iii) is naturally extended to atoms, sets of
atoms, and conjunctions of atoms. The set of all answers to a CQ Q(X) = 9Y (X; Y)
over a database D, denoted Q(D), is the set of all tuples t over for which there exists
a homomorphism : X [ Y ! [ N such that ( (X; Y)) D and (X) = t. The
answer to a BCQ Q() over D is Yes, denoted D j= Q, iff Q(D) 6= ?.</p>
      <p>
        TGDs. Given a relational schema R, a tuple-generating dependency (TGD) is a
firstorder formula of the form 8X8Y (X; Y) ! 9Z (X; Z), where (X; Y) and (X;
Z) are conjunctions of atoms over R, called the body and the head of , respectively.
We usually omit the universal quantifiers in TGDs. Such is satisfied in a database D
for R iff, whenever there is a homomorphism h that maps the atoms of (X; Y) to
atoms of D, there exists an extension h0 of h that maps the atoms of (X; Z) to atoms
of D. All sets of TGDs are finite here. The notion of query answering under TGDs is
defined as follows. For a set of TGDs on R, and a database D for R, the set of models
of D given , denoted mods( ; D), is the set of all databases B such that B j= D [ .
The set of answers to a CQ Q on D given , denoted ans(Q; ; D), is the set of all
tuples a such that a 2 Q(B) for all B 2 mods( ; D). The answer to a BCQ Q over D
given is Yes, denoted D [ j= Q, iff ans(Q; ; D) 6= ?. Note that query answering
under general TGDs is undecidable [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], even when the schema and TGDs are fixed [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Query answering under a certain class C of TGDs is said to be FO-rewritable iff, for
every given CQ Q and for every given set of TGDs in C, there exists a first order query
QF O such that, for every instance D, it holds QF O(D) = ans(Q; ; D). We recall that
the two problems of CQ and BCQ evaluation under TGDs are LOGSPACE-equivalent
[
        <xref ref-type="bibr" rid="ref13 ref15 ref17 ref18">13, 18, 17, 15</xref>
        ]. Moreover, it is easy to see that the query output tuple (QOT) problem
(as a decision version of CQ evaluation) and BCQ evaluation are AC0-reducible to each
other. Henceforth, we thus focus only on the BCQ evaluation problem. All complexity
results carry over to the other problems. We also recall that query answering under
TGDs is equivalent to query answering under TGDs with only singleton atoms in their
heads [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In the sequel, w.l.o.g., every TGD has a singleton atom in its head.
The TGD Chase. The chase was introduced for checking the implication of
dependencies [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], and later also for checking query containment [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. It repairs a database
relative to a set of dependencies, so that the result of the chase satisfies the
dependencies. By “chase”, we refer both to the chase procedure and to its output. The TGD chase
works on a database through so-called TGD chase rules (for an extended chase with
also equality-generating dependencies (EGDs), see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). The TGD chase rule comes in
two flavors: oblivious and restricted, where the restricted one repairs TGDs only when
not satisfied. We focus on the oblivious one, since it makes proofs technically simpler.
The (oblivious) TGD chase rule defined below is the building block of the chase.
      </p>
      <p>TGD CHASE RULE. Consider a database D for a relational schema R, and a TGD
on R of the form (X; Y) ! 9Z (X; Z). Then, is applicable to D if there exists a
homomorphism h that maps the atoms of (X; Y) to atoms of D. Let be applicable,
and h1 be a homomorphism that extends h as follows: for each Xi 2 X, h1(Xi) =
h(Xi); for each Zj 2 Z, h1(Zj ) = zj , where zj is a “fresh” null, i.e., zj 2 N , zj
does not occur in D, and zj lexicographically follows all other nulls already introduced.
The application of adds to D the atom h1( (X; Z)) if not already in D.</p>
      <p>
        The important notion of the (derivation) level of an atom in a TGD chase is defined
as follows. Let D be the initial database from which the chase is constructed. Then:
(1) The atoms in D have level 0. (2) Let a TGD (X; Y) ! 9Z (X; Z) be applied at
some point in the construction of the chase, and let h and h1 be as in the TGD chase rule.
If the atom with highest level among those in h1( (X; Y)) has level k, then the added
atom h1( (X; Z)) has level k + 1. The chase algorithm for and D consists of an
exhaustive application of the TGD chase rule in a breadth-first (level-saturating) fashion,
which leads as result to a (possibly infinite) chase for and D, denoted chase( ; D).
The chase of level up to k &gt; 0 for and D, denoted chasek( ; D), is the set of all
atoms in chase( ; D) of level at most k. The (possibly infinite) chase relative to TGDs
is a universal model, i.e., for every B 2 mods( ; D), there exists a homomorphism that
maps chase( ; D) onto B [
        <xref ref-type="bibr" rid="ref15 ref7">15, 7</xref>
        ], and thus Q(chase( ; D)) = ans(Q; ; D).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Guarded Datalog</title>
      <p>We now introduce guarded Datalog as a class of special TGDs that show
computational data tractability, while being at the same time expressive enough to model
ontologies. BCQs relative to such TGDs can be evaluated on a finite part of the chase of
constant size in the data complexity.</p>
      <p>A TGD is guarded iff it contains an atom in its body that contains all universally
quantified variables of . The leftmost such atom is the guard atom (or guard) of .
The non-guard atoms in the body of are the side atoms of .</p>
      <p>Example 3.1. The TGD r(X; Y ); s(Y; X; Z) ! 9W s(Z; X; W ) is guarded (via the
guard s(Y; X; Z)), while the TGD r(X; Y ); r(Y; Z) ! r(X; Z) is not guarded.</p>
      <p>
        Sets of guarded TGDs (with single-atom heads) are theories in the guarded fragment
of first-order logic [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In the sequel, let R be a relational schema, let D be a database
for R, and let be a set of guarded TGDs on R. We first give some preliminary
definitions as follows. The chase graph for and D is the directed graph consisting of
chase( ; D) as the set of nodes and having an arc from a to b iff b is obtained from a
and possibly other atoms by a one-step application of a TGD 2 . Here, we mark a
as guard iff a is the guard of . The guarded chase forest for and D is the restriction
of the chase graph for and D to all atoms marked as guards and their children. The
subtree of an atom a in this forest, denoted subtree(a), is the restriction of the forest to
all successors of a. The type of an atom a, denoted type(a), is the set of all atoms b in
chase( ; D) that have only constants and nulls from a as arguments. Informally, the
type of a is the set of all atoms that determine the subtree of a in the forest.
Example 3.2. Consider the TGDs 1 : r1(X; Y ); r2(Y ) ! 9Zr1(Z; X) and 2 :
r1(X; Y ) ! r2(X), applied on an instance D = fr1(a; b); r2(b)g. The first part of
the (infinite) guarded chase forest for f 1; 2g and D is shown in Fig. 3, where every
arc is labeled with the applied TGD.
      </p>
      <p>Given a finite set S [ N , two sets of atoms A1 and r1(a; b) r2(b)
aAb2iajerectSio-niso m:oAr1ph[icdo(omr (isAo1m)o!rphAi2c [if dSom=(?A)2i)ffstuhcehretheaxtis(tis) 1 2
and 1 are homomorphisms, and (ii) (c) = c = 1(c) r1(z1; a) r2(a)
for all c 2 S. Two atoms a1 and a2 are S-isomorphic (or
isomorphic if S = ?) iff fa1g and fa2g are S-isomorphic. The 1 2
notion of S-isomorphism (or isomorphism if S = ?) is nat- r1(z2; z1) r2(z1)
urally extended to more complex structures, such as pairs of
two subtrees (V1; E1) and (V2; E2) of the guarded chase for- 1 2
est, and two pairs (b1; S1) and (b2; S2), where b1 and b2 are . . . r2(z2)
atoms, and S1 and S2 are sets of atoms. The following lemma Fig. 1. Guarded chase
shows that if two atoms have S-isomorphic types, then their forest in Example 3.2.
subtrees are also S-isomorphic.</p>
      <sec id="sec-3-1">
        <title>Lemma 3.1. Let S be a set of constants and nulls, and a1 and a2 be atoms from chase( ; D) with S-isomorphic types. Then, the subtree of a1 is S-isomorphic to the subtree of a2.</title>
        <p>The next lemma provides an upper bound for the number of all non-T -isomorphic
pairs consisting of an atom and a type.</p>
        <sec id="sec-3-1-1">
          <title>Lemma 3.2. Let w be the maximal arity of a predicate in R,</title>
          <p>and a 2 chase( ; D). Let P be a set of pairs (b; S), each consisting of an atom b and
a type S of atoms c with arguments from a and new nulls. If jP j &gt; , then P contains
at least two dom(a)-isomorphic pairs.
= (2w)w 2(2w)w jRj ,</p>
          <p>Using the above two lemmas, we are now ready to prove that the atoms in the type
of an atom a in the guarded chase forest cannot be generated at a depth of the guarded
chase forest that exceeds the depth of the atom a by a value that depends only on the
TGDs. Here, the guarded depth of an atom a in the guarded chase forest for and D,
denoted depth(a), is the length of the path from D to a in the forest. Note that this is
generally different from the derivation level.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Lemma 3.3. Let a be a guard in the chase graph for</title>
        <p>depth(b) 6 depth(a) + k, where k depends only on .
and D, and b 2 type(a). Then,
Proof. Let k = (2w)w 2(2w)w jRj , where w is the maximal arity of a predicate in R.
Suppose depth(b) &gt; depth(a) + k for one atom b in the type of a. That is, the path
P in the guarded chase forest leading to b has a length greater than k from the depth
of a. Suppose first b contains no nulls. By Lemma 3.2, there are two isomorphic atoms
h and h0 (in this order) on P with isomorphic types (see Fig. 3). By Lemma 3.1, the
subtree of h is isomorphic to the subtree of h0. But then b is also in the subtree of h,
on a path Q that is at least one edge shorter than P , which contradicts the assumption
that P is the path leading to b. Suppose next the set of nulls N in b is nonempty, and
consider the common predecessor c of a and b of largest depth. By Lemma 3.2, there
are two N -isomorphic atoms h and h0 (in this order) on P with N -isomorphic types
(see Fig. 3). Since b is in the type of a, it cannot contain new nulls compared to a.</p>
        <p>level 0 Since c is the common predecessor
h c of a and b of largest depth, b also
cannot contain new nulls compared to c, and
h0 a h thus compared to h and h0. So, b is in the
a h0 types of both h and h0. By Lemma 3.1,
b the subtree of h is N -isomorphic to the
b subtree of h0. But then b is also in the
subtree of h, on a path Q that is at least
(a) (b) one edge shorter than P , which
contradicts the assumption that P is the path
Fig. 2. Construction in Lemma 3.3’s proof. leading to b. In summary, all atoms in the
type of a can be obtained on paths of length at most k. 2</p>
        <p>We next show that BCQs can be evaluated using only a finite, initial portion of the
guarded chase forest, whose size is determined by the TGDs only. Here, the guarded
chase of level up to k &gt; 0 for and D, denoted g-chasek( ; D), is the set of all atoms
in the forest of depth at most k.</p>
        <sec id="sec-3-2-1">
          <title>Lemma 3.4. Let Q be a BCQ over R. If there exists a homomorphism that maps Q</title>
          <p>into chase( ; D), then there exists a homomorphism that maps Q into g-chasek( ;
D), where k depends only on Q and R.</p>
          <p>The following definition captures a general property, where also the whole
derivation of the query atoms are contained in the finite, initial portion of the guarded chase
forest, whose size is determined by the TGDs only.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Definition 3.1. We say that has the bounded guard-depth property (BGDP) iff, for</title>
        <p>every database D for R and for every BCQ Q, whenever there exists a homomorphism
that maps Q into chase( ; D), then there exists a homomorphism of this kind
such that all ancestors of (Q) in the chase graph for and D are contained in
gchase g ( ; D), where g depends only on Q and R.</p>
        <p>
          It is not difficult to prove, based on Lemmas 3.3 and 3.4, that guarded TGDs enjoy
the BGDP. Hence, BCQ answering under guarded TGDs is in PTIME in data complexity,
since by the existence of the homomorphism in Lemma 3.4 and in Definition 3.1,
we obtain Q(g-chase g ( ; D)) = Q(chase( ; D)) = ans(Q; ; D). The following
theorem summarizes these and other results from [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <sec id="sec-3-3-1">
          <title>Theorem 3.1. Let D be a database for a relational schema R, a finite set of guarded</title>
          <p>TGDs on R, and Q a BCQ Q over R. Then, deciding D [ j= Q is PTIME-complete
in data complexity. It can be done in linear time in data complexity for atomic Q.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Linear Datalog</title>
      <p>
        We now introduce linear Datalog as a variant of guarded Datalog , where we prove
that query answering is even FO-rewritable (and thus in AC0) in the data complexity.
Nonetheless, linear Datalog is still expressive enough for representing ontologies [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
in many cases. A TGD is linear iff it contains only a singleton body atom. Notice that
linear Datalog generalizes the well-known class of inclusion dependencies.
      </p>
      <p>We first define the bounded derivation-depth property, which is strictly stronger than
the bounded guard-depth property.</p>
      <sec id="sec-4-1">
        <title>Definition 4.1. A set of TGDs has the bounded derivation-depth property (BDDP)</title>
        <p>iff, for every database D for R and for every BCQ Q over R, whenever D [ j= Q,
then chase d ( ; D) j= Q, where d depends only on Q and R.</p>
        <p>Clearly, in the case of linear TGDs, for every a 2 chase( ; D), the subtree of a
is determined only by a, instead of type(a) (cf. Lemma 3.1). Therefore, for a single
atom, its depth coincides with the number of applications of the TGD chase rule that
are necessary to generate it. By this observation, as an immediate consequence of the
fact that guarded TGDs enjoy the BGDP, we obtain that linear TGDs have the bounded
derivation-depth property. The next result shows that queries relative to TGDs with the
bounded derivation-depth property are FO-rewritable.</p>
        <sec id="sec-4-1-1">
          <title>Theorem 4.1. Let be a set of TGDs over a relational schema R, D be a database for R, and Q be a BCQ over R. If enjoys the BDDP, then Q is FO-rewritable.</title>
          <p>As an immediate consequence of the fact that linear TGDs enjoy the BDDP and of
Theorem 4.1, we have that BCQs are FO-rewritable in the linear case.</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>Corollary 4.1. Let R be a relational schema, be a set of linear TGDs over R, D be a database for R, and Q be a BCQ over R. Then, Q is FO-rewritable.</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Extensions</title>
      <p>In this section, we extend Datalog with negative constraints and EGDs, which are both
important when representing ontologies.</p>
      <sec id="sec-5-1">
        <title>Negative Constraints. A negative constraint (or constraint) is a first-order formula</title>
        <p>of the form 8X (X) ! ?, where (X) is a (not necessarily guarded) conjunction of
atoms. It is often also written as 8X 0(X) ! :p(X), where 0(X) is obtained from
(X) by removing the atom p(X). We usually omit the universal quantifiers.
Example 5.1. If the unary predicates c and c0 represent two classes, we may use the
constraint c(X); c0(X) ! ? to assert that the two classes have no common instances.
Similarly, if additionally the binary predicate r represents a relationship, we may use
c(X); r(X; Y ) ! ? to enforce that no member of the class c participates to r.</p>
        <p>Query answering on a database D under TGDs T and constraints C can be done
effortlessly by additionally checking that every constraint = (X) ! ? 2 C is
satisfied in D given T , each of which can be done by checking that the BCQ Q = (X)
evaluates to false in D given T . We write D [ T j= C iff every 2 C is false
in D given T . We thus obtain immediately the following result. Here, a BCQ Q is
true in D given T and C , denoted D [ T [ C j= Q, iff (i) D [ T j= Q or
(ii) D [ T 6j= C (as usual in DLs).</p>
        <sec id="sec-5-1-1">
          <title>Theorem 5.1. Let R be a relational schema, T and C be sets of TGDs and con</title>
          <p>straints on R, respectively, D be a database for R, and Q be a BCQ on R. Then,
D [ T [ C j= Q iff (i) D [ T j= Q or (ii) D [ T j= Q for some 2 C .</p>
          <p>The next theorem shows that constraints do not increase the data and combined
complexity of answering BCQs in the guarded and linear case. It follows from
Theorem 5.1, by which the additional effort of deciding D [ T j= C can be done by
answering j C j BCQs Q without constraints, where each query Q has a size of
k k 6 k C k, and in the data complexity, j C j and k k are constants. Here, j C j
denotes the cardinality of C , while k C k denotes the input size of C . This additional
effort does not increase the complexity of answering BCQs without constraints.</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>Theorem 5.2. Let R be a relational schema, T and C be sets of TGDs and con</title>
          <p>straints on R, respectively, D be a database for R, and Q be a BCQ. Then, deciding
D [ T [ C j= Q in the guarded (resp., linear) case has the same data and the same
combined complexity as deciding D [ T j= Q in the guarded (resp., linear) case.</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>EGDs and Non-Conflicting Keys. An equality-generating dependency (or EGD) is</title>
        <p>a first-order formula of the form 8X (X) ! Xi = Xj , where (X), called the body
of , is a conjunction of atoms, and Xi and Xj are variables from X. We call Xi = Xj
the head of . Such is satisfied in a database D for R iff, whenever there exists a
homomorphism h such that h( (X; Y)) D, it holds that h(Xi) = h(Xj ).
Example 5.2. The EGD r(X; Y ); r(X; Y 0) ! Y = Y 0 expresses that the second
argument of the binary predicate r functionally depends on the first argument of r.</p>
        <p>The chase is naturally extended to databases under EGDs in addition to TGDs: The
chase of a database D in the presence of two sets T and E of TGDs and EGDs,
respectively, denoted chase( T [ E ; D), is computed by iteratively applying (1) a
single TGD once, according to the order specified above, and (2) the EGDs, as long as
applicable (i.e., until a fixpoint is reached), where EGDs are applied as follows:</p>
        <p>EGD CHASE RULE. Consider a database D for a relational schema R, and an
EGD on R of the form (X) ! Xi = Xj . Such an EGD is applicable to D iff
there exists a homomorphism : (X) ! D such that (Xi) and (Xj ) are different
and not both constants. If (Xi) and (Xj ) are different constants, then there is a hard
violation of , and the chase fails. Otherwise, the result of the application of to D is
the database h(D) obtained from D by replacing every occurrence of a non-constant
element e 2 f (Xi); (Xj )g in D by the other element e0 (if e and e0 are both nulls,
then e precedes e0 in the lexicographic order).</p>
        <p>
          While adding negative constraints is computationally effortless, adding EGDs is
more problematic. The interaction of TGDs and EGDs leads to undecidability of query
answering even in simple cases, such that of functional and inclusion dependencies [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ],
or keys and inclusion dependencies (see, e.g., [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], where the proof of undecidability
is done in the style of Vardi as in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]). It can even be seen that a fixed set of EGDs
and guarded TGDs can simulate a universal Turing machine, and thus query answering
and even propositional ground atom inference is undecidable with such fixed sets of
dependencies. For this reason, we consider a restricted class of EGDs, namely,
nonconflicting key dependencies (or NC keys), which show a controlled interaction with
TGDs (and negative constraints), such that they do not increase the complexity of
answering BCQs. Nonetheless, this class is sufficient for ontology modeling.
        </p>
        <p>
          We now first concentrate on the semantic notion of separability for EGDs, which
formulates a controlled interaction between EGDs and TGDs (and negative constraints),
such that the EGDs do not increase the complexity of answering BCQs. We then provide
a sufficient syntactic condition for the separability of EGDs, where we transfer a result
by [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] about non-key-conflicting inclusion dependencies to the more general setting of
Datalog . In the context of description logics, general EGDs cannot be formulated, but
only keys. Therefore, we mainly focus on keys here.
        </p>
        <p>Definition 5.1. Let R be a relational schema, and T and E be sets of TGDs and
EGDs on R, respectively. Then, E is separable from T iff for every database D
for R, the following conditions (i) and (ii) are both satisfied:
(i) If there is a hard violation of an EGD in chase( T [ E ; D), then there is also a
hard violation of some EGD of E , when this EGD is directly applied to D.
(ii) If there is no chase failure, then for every BCQ Q, chase( T [ E ; D) j= Q iff
chase( T ; D) j= Q.</p>
        <p>The following result shows that adding separable EGDs to TGDs and constraints
does not increase the data and combined complexity of answering BCQs in the guarded
and linear case. It follows immediately from the fact that the separability implies that
chase failure can be directly evaluated on D. For fixed (resp., variable) E , this can
be done by evaluating a first-order formula on D (resp., in polynomial time in the size
of D and E ), which clearly does not increase the data (resp., combined) complexity
of answering BCQs in the three cases.</p>
        <sec id="sec-5-2-1">
          <title>Theorem 5.3. Let R be a relational schema, T and C be sets of TGDs and con</title>
          <p>straints on R, respectively, and D be a database for R. Let E be a set of EGDs that is
separable from T , and Q be a BCQ. Then, deciding D [ T [ C [ E j= Q in the
guarded (resp., linear) case has the same data complexity and also the same combined
complexity as deciding D [ T j= Q in the guarded (resp., linear) case.</p>
          <p>
            We next provide a sufficient syntactic condition for the separability of EGDs. We
focus on key dependencies (KDs, or simply keys): a key on a predicate r specifies a set
K of key attribute positions of r; it is satisfied in a database D if no two atoms in D of
the form r(t) have the same values in all positions in K. Clearly, KDs are special types
of EGDs. The EGD chase rule in case of a KD applies to pairs of tuples that violate
the KD. For example, a KD asserting that the key attribute of a ternary predicate r is
the first one is applicable to the instance D = fr(a; b; z3); r(a; z2; z1)g (where the zi’s
are nulls), and its application yields the new instance fr(a; b; z1)g. The following
definition generalizes the notion of “non-key-conflicting” dependency relative to a set of
keys, introduced in [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ], to the context of arbitrary TGDs.
          </p>
          <p>2
Definition 5.2. Let be a key, and be a TGD of the form (X; Y) ! 9Z r(X; Z).
Then, is non-conflicting (NC) with iff either (i) the key does not apply to the
predicate r in the head of or (ii) the positions of in r are not a proper subset of the
X-positions in r in the head of , and every existentially quantified variable in
appears only once in the head of . We say is non-conflicting (NC) with a set of TGDs</p>
          <p>T iff is NC with every 2 T . We say a set of keys K is non-conflicting (NC)
with T iff every K is NC with T .</p>
          <p>
            Example 5.3. Consider the four keys 1, 2, 3, and 4 defined by the key attribute sets
K1 = fr[
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]; r[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]g, K2 = fr[
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]; r[
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]g, K3 = fr[
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]g, and K4 = fr[
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]g, respectively,
and the TGD = p(X; Y ) ! 9Z r(X; Y; Z). Then, the head predicate of is r,
and the set of positions in r with universally quantified variables is H = fr[
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]; r[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]g.
Observe that all keys but 4 are NC with , since only K4 H. Roughly, every atom
added in a chase by applying would have a fresh null in some position in K1, K2,
and K3, thus never firing 1, 2, and 3, respectively.
          </p>
          <p>
            The following theorem shows that the NC property between keys and TGDs implies
their separability. This generalizes a useful result of [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] on inclusion dependencies to
the much larger class of all TGDs. The main idea behind the proof is roughly as follows.
The NC condition between a key and a TGD assures that either (a) the application
of in the chase generates an atom with a fresh null in a position of , and so the fact
does not violate (see also Example 5.3), or (b) the X-positions in the predicate r in
the head of coincide with the key positions of in r, and thus any newly generated
atom must have fresh distinct nulls in all but the key position, and may eventually be
eliminated without violation. It then follows that the full chase does not fail. Since the
new nulls are all distinct, it also contains a homomorphic image of the TGD chase.
Therefore, the full chase is in fact homomorphically equivalent to the TGD chase.
          </p>
        </sec>
        <sec id="sec-5-2-2">
          <title>Theorem 5.4. Let R be a relational schema,</title>
          <p>respectively, such that K is NC with T . Then,</p>
        </sec>
      </sec>
      <sec id="sec-5-3">
        <title>T and K be sets of TGDs and keys,</title>
      </sec>
      <sec id="sec-5-4">
        <title>K is separable from T .</title>
        <p>We conclude this section by stating that in the NC case, keys do not increase the
data and the combined complexity of answering BCQs under guarded (resp., linear)
TGDs and constraints. This result is immediate by Theorems 5.4 and 5.3.</p>
        <sec id="sec-5-4-1">
          <title>Corollary 5.1. Let R be a relational schema, T and C be sets of TGDs and con</title>
          <p>straints on R, respectively, and D be a database for R. Let E be a set of EGDs that
is NC with T , and Q be a BCQ. Then, deciding D [ T [ C [ E j= Q in the
guarded (resp., linear) case has the same data complexity and also the same combined
complexity as deciding D [ T j= Q in the guarded (resp., linear) case.
6</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Ontology Querying</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], we have provided a translation of the DLs DL-LiteF , DL-LiteR, and DL-LiteA
of the DL-Lite family [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] into linear Datalog with negative constraints and
nonconflicting keys, called Datalog0 , and shown that the former are strictly less
expressive than the latter. The other DLs of the DL-Lite family (including DL-LiteF;u and
DL-LiteR;u) can be similarly translated to Datalog0 . We now illustrate the translation.
Example 6.1. Consider the following sets of atomic concepts, abstract roles, and
individuals, which represent (i) the classes of scientists, articles, conference papers, and
journal papers, (ii) the binary relations “has author”, “has first author”, and “is author
of”, and (iii) two individuals, respectively:
      </p>
      <p>A = fScientist; Article; ConPaper; JouPaperg;</p>
      <p>RA = fhasAuthor; hasFirstAuthor; isAuthorOfg; I = fi1; i2g:
The following are concept inclusion axioms, which informally express that (i)
conference and journal papers are articles, (ii) conference papers are not journal papers,
(iii) every scientist has a publication, (iv) isAuthorOf relates scientists and articles:</p>
      <sec id="sec-6-1">
        <title>ConPaper v Article; JouPaper v Article; ConPaper v :JouPaper;</title>
      </sec>
      <sec id="sec-6-2">
        <title>Scientist v 9isAuthorOf; 9isAuthorOf v Scientist; 9isAuthorOf v Article:</title>
        <p>The following role inclusion and functionality axioms express that (v) isAuthorOf is
the inverse of hasAuthor, and (vi) hasFirstAuthor is a functional binary relationship:
isAuthorOf
v hasAuthor; hasAuthor
v isAuthorOf; (funct hasFirstAuthor):
Finally, the concept and role membership axioms Scientist(i1), isAuthorOf(i1; i2), and
Article(i2) express that the individual i1 is a scientist who authors the article i2.</p>
        <p>Then, the concept inclusion axioms are translated to the following TGDs and
constraints (where we identify atomic concepts and roles with their predicates):</p>
      </sec>
      <sec id="sec-6-3">
        <title>ConPaper(X) ! Article(X); JouPaper(X) ! Article(X);</title>
      </sec>
      <sec id="sec-6-4">
        <title>ConPaper(X) ! :JouPaper(X); Scientist(X) ! 9Z isAuthorOf(X; Z); isAuthorOf(X; Y ) ! Scientist(X); isAuthorOf(Y; X) ! Article(X):</title>
        <p>The role inclusion and functionality axioms are translated to these TGDs and EGDs:
isAuthorOf(Y; X) ! hasAuthor(X; Y ); hasAuthor(Y; X) ! isAuthorOf(X; Y );
hasFirstAuthor(X; Y ); hasFirstAuthor(X; Y 0) ! Y = Y 0:
Finally, the three concept and role membership axioms are translated to the three
database atoms Scientist(i1), isAuthorOf(i1; i2), and Article(i2), respectively (where we
also identify individuals with their constants).
Acknowledgments. The work of A. Cal`ı and G. Gottlob was supported by the EPSRC
grant Number EP/E010865/1 “Schema Mappings and Automated Services for Data
Integration”. G. Gottlob, whose work was partially carried out at the Oxford-Man Institute
of Quantitative Finance, gratefully acknowledges support from the Royal Society as the
holder of a Royal Society-Wolfson Research Merit Award. T. Lukasiewicz’s work was
supported by the German Research Foundation under the Heisenberg Programme.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          .
          <article-title>Datalog extensions for database queries and updates</article-title>
          .
          <source>J. Comput. Syst. Sci.</source>
          ,
          <volume>43</volume>
          (
          <issue>1</issue>
          ):
          <fpage>62</fpage>
          -
          <lpage>124</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>H.</given-names>
            <surname>Andre</surname>
          </string-name>
          <article-title>´ka, I. Ne´meti, and</article-title>
          <string-name>
            <surname>J. van Benthem.</surname>
          </string-name>
          <article-title>Modal languages and bounded fragments of predicate logic</article-title>
          .
          <source>J. Philos. Logic</source>
          ,
          <volume>27</volume>
          (
          <issue>3</issue>
          ):
          <fpage>217</fpage>
          -
          <lpage>274</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>The implication problem for data dependencies</article-title>
          .
          <source>In Proc. ICALP1981</source>
          , LNCS 115, pp.
          <fpage>73</fpage>
          -
          <lpage>85</lpage>
          . Springer,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Lassila</surname>
          </string-name>
          .
          <source>The Semantic Web. Sci. Am</source>
          .,
          <volume>284</volume>
          :
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>L.</given-names>
            <surname>Cabibbo</surname>
          </string-name>
          .
          <article-title>The expressive power of stratified logic programs with value invention</article-title>
          .
          <source>Inf. Comput.</source>
          ,
          <volume>147</volume>
          (
          <issue>1</issue>
          ):
          <fpage>22</fpage>
          -
          <lpage>56</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>M.</given-names>
            <surname>Cadoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Palopoli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          .
          <article-title>Datalog and description logics: Expressive power</article-title>
          .
          <source>In Proc. DBPL-1997, LNCS 1369</source>
          , pp.
          <fpage>281</fpage>
          -
          <lpage>298</lpage>
          . Springer,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. A. Cal`ı, G. Gottlob, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kifer</surname>
          </string-name>
          .
          <article-title>Taming the infinite chase: Query answering under expressive relational constraints</article-title>
          .
          <source>In Proc. KR-2008</source>
          , pp.
          <fpage>70</fpage>
          -
          <lpage>80</lpage>
          . AAAI Press,
          <year>2008</year>
          . Revised version: http://benner.dbai.tuwien.ac.at/staff/gottlob/CGK.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. A. Cal`ı, G. Gottlob, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          .
          <article-title>A general Datalog-based framework for tractable query answering over ontologies</article-title>
          .
          <source>In Proc. PODS-2009</source>
          . ACM Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          <article-title>`ı and M. Kifer. Containment of conjunctive object meta-queries</article-title>
          .
          <source>In Proc. VLDB-2006.</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. A. Cal`ı, D. Lembo,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>On the decidability and complexity of query answering over inconsistent and incomplete databases</article-title>
          .
          <source>In Proc. PODS-2003</source>
          , pp.
          <fpage>260</fpage>
          -
          <lpage>271</lpage>
          . ACM Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cozza</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Ianni</surname>
          </string-name>
          .
          <article-title>External sources of knowledge and value invention in logic programming</article-title>
          .
          <source>Ann. Math. Artif. Intell.</source>
          ,
          <volume>50</volume>
          (
          <issue>3</issue>
          /4):
          <fpage>333</fpage>
          -
          <lpage>361</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Tractable reasoning and efficient query answering in description logics: The DL-Lite family</article-title>
          .
          <source>J. Autom. Reasoning</source>
          ,
          <volume>39</volume>
          (
          <issue>3</issue>
          ):
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>A.</given-names>
            <surname>Chandra</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Merlin</surname>
          </string-name>
          .
          <article-title>Optimal implementation of conjunctive queries in relational data bases</article-title>
          .
          <source>In Proc. STOC-1977</source>
          , pp.
          <fpage>77</fpage>
          -
          <lpage>90</lpage>
          . ACM Press,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>A. K. Chandra</surname>
            and
            <given-names>M. Y.</given-names>
          </string-name>
          <string-name>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>The implication problem for functional and inclusion dependencies is undecidable</article-title>
          .
          <source>SIAM J. Comput.</source>
          ,
          <volume>14</volume>
          (
          <issue>3</issue>
          ):
          <fpage>671</fpage>
          -
          <lpage>677</lpage>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nash</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Remmel</surname>
          </string-name>
          .
          <article-title>The chase revisited</article-title>
          .
          <source>In Proc. PODS-2008</source>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>158</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>F. M. Donini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Nardi</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Schaerf</surname>
          </string-name>
          .
          <article-title>AL-log: Integrating Datalog and description logics</article-title>
          .
          <source>J. Intell. Inf. Syst.</source>
          ,
          <volume>10</volume>
          (
          <issue>3</issue>
          ):
          <fpage>227</fpage>
          -
          <lpage>252</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. G.</given-names>
            <surname>Kolaitis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Miller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Popa</surname>
          </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="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>D.</given-names>
            <surname>Johnson</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Klug</surname>
          </string-name>
          .
          <article-title>Testing containment of conjunctive queries under functional and inclusion dependencies</article-title>
          .
          <source>J. Comput. Syst. Sci.</source>
          ,
          <volume>28</volume>
          (
          <issue>1</issue>
          ):
          <fpage>167</fpage>
          -
          <lpage>189</lpage>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          .
          <article-title>Data integration: A theoretical perspective</article-title>
          .
          <source>In Proc. PODS-2002</source>
          , pp.
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>D.</given-names>
            <surname>Maier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. O.</given-names>
            <surname>Mendelzon</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          .
          <article-title>Testing implications of data dependencies</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <fpage>455</fpage>
          -
          <lpage>469</lpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Horrocks.</surname>
          </string-name>
          <article-title>Position paper: A comparison of two modelling paradigms in the Semantic Web</article-title>
          .
          <source>In Proc. WWW-2006</source>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>12</lpage>
          . ACM Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Linking data to ontologies</article-title>
          .
          <source>J. Data Semantics</source>
          ,
          <volume>10</volume>
          :
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>On combining description logic ontologies and nonrecursive Datalog rules</article-title>
          .
          <source>In Proc. RR-2008, LNCS 5341</source>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>27</lpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>