<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Tractable Query Answering over Ontologies with Datalog ±</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Andrea</forename><surname>Calì</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computing Laboratory</orgName>
								<orgName type="institution">University of Oxford</orgName>
								<address>
									<country key="GB">UK</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">Oxford-Man Institute of Quantitative Finance</orgName>
								<orgName type="institution">University of Oxford</orgName>
								<address>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Georg</forename><surname>Gottlob</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computing Laboratory</orgName>
								<orgName type="institution">University of Oxford</orgName>
								<address>
									<country key="GB">UK</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">Oxford-Man Institute of Quantitative Finance</orgName>
								<orgName type="institution">University of Oxford</orgName>
								<address>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Thomas</forename><surname>Lukasiewicz</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computing Laboratory</orgName>
								<orgName type="institution">University of Oxford</orgName>
								<address>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Tractable Query Answering over Ontologies with Datalog ±</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">F2C03021706B7917C2CEC6DFC2481532</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T23:18+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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 <ref type="bibr" target="#b7">[8]</ref>.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Ontologies play a key role in the Semantic Web <ref type="bibr" target="#b3">[4]</ref>, data modeling, and information integration <ref type="bibr" target="#b18">[19]</ref>. 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) <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b21">22]</ref>. 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 AC 0 , 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 <ref type="bibr" target="#b11">[12]</ref>. As observed in <ref type="bibr" target="#b20">[21]</ref>, 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 AC 0 (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 <ref type="bibr" target="#b9">[10]</ref>. Further results. We have several other results that, for space reasons, we do not include here. We refer the reader to <ref type="bibr" target="#b7">[8]</ref> 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 <ref type="bibr" target="#b11">[12]</ref> and F-Logic Lite <ref type="bibr" target="#b8">[9]</ref>. 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-Lite F , DL-Lite R , and DL-Lite A , 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 <ref type="bibr" target="#b6">[7]</ref>, 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 <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b10">11,</ref><ref type="bibr" target="#b9">10]</ref>; the introduction of such values is usually called value invention. Other works integrate Datalog with description logic knowledge bases <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b22">23]</ref>, which is a different perspective.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Preliminaries</head><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 X 1 , . . . , X k with k 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 (t 1 , ..., t n ), where P is n-ary predicate, and t 1 , ..., t n 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) = ∃YΦ(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 µ :</p><formula xml:id="formula_0">∆ ∪ ∆ N ∪ X → ∆ ∪ ∆ N ∪ X such that (i) c ∈ ∆ implies µ(c) = c, (ii) c ∈ ∆ N implies µ(c) ∈ ∆ ∪ ∆ N ,</formula><p>and (iii) µ is naturally extended to atoms, sets of atoms, and conjunctions of atoms. The set of all answers to a CQ Q(X) = ∃YΦ(X, Y) over a database D, denoted Q(D), is the set of all tuples t over ∆ for which there exists a homomorphism µ :</p><formula xml:id="formula_1">X ∪ Y → ∆ ∪ ∆ N such that µ(Φ(X, Y)) ⊆ D and µ(X) = t. The answer to a BCQ Q() over D is Yes, denoted D |= Q, iff Q(D) = ∅.</formula><p>TGDs. Given a relational schema R, a tuple-generating dependency (TGD) σ is a firstorder formula of the form ∀X∀Y Φ(X, Y) → ∃Z Ψ (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 h 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 |= 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 ∈ Q(B) for all B ∈ mods(Σ, D). The answer to a BCQ Q over D given Σ is Yes, denoted D ∪ Σ |= Q, iff ans(Q, Σ, D) = ∅. Note that query answering under general TGDs is undecidable <ref type="bibr" target="#b2">[3]</ref>, even when the schema and TGDs are fixed <ref type="bibr" target="#b6">[7]</ref>. 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 Q F O such that, for every instance D, it holds Q F O (D) = ans(Q, Σ, D). We recall that the two problems of CQ and BCQ evaluation under TGDs are LOGSPACE-equivalent <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b17">18,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b14">15]</ref>. Moreover, it is easy to see that the query output tuple (QOT) problem (as a decision version of CQ evaluation) and BCQ evaluation are AC 0 -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 <ref type="bibr" target="#b6">[7]</ref>. 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 <ref type="bibr" target="#b19">[20]</ref>, and later also for checking query containment <ref type="bibr" target="#b17">[18]</ref>. 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 <ref type="bibr" target="#b7">[8]</ref>). 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) → ∃Z Ψ (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 h 1 be a homomorphism that extends h as follows: for each</p><formula xml:id="formula_2">X i ∈ X, h 1 (X i ) = h(X i ); for each Z j ∈ Z, h 1 (Z j ) = z j ,</formula><p>where z j is a "fresh" null, i.e., z j ∈ ∆ N , z j does not occur in D, and z j lexicographically follows all other nulls already introduced. The application of σ adds to D the atom h 1 (Ψ (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: <ref type="bibr" target="#b0">(1)</ref> The atoms in D have level 0. (2) Let a TGD Φ(X, Y) → ∃Z Ψ (X, Z) be applied at some point in the construction of the chase, and let h and h 1 be as in the TGD chase rule. If the atom with highest level among those in h 1 (Φ(X, Y)) has level k, then the added atom h 1 (Ψ (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 0 for Σ and D, denoted chase k (Σ, 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 ∈ mods(Σ, D), there exists a homomorphism that maps chase(Σ, D) onto B <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b6">7]</ref>, and thus Q(chase(Σ, D)) = ans(Q, Σ, D).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Guarded Datalog ±</head><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) → ∃W 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 <ref type="bibr" target="#b1">[2]</ref>. 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 σ ∈ Σ. 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.</p><p>Example 3.2. Consider the TGDs σ 1 : r 1 (X, Y ), r 2 (Y ) → ∃Zr 1 (Z, X) and σ 2 : r 1 (X, Y ) → r 2 (X), applied on an instance D = {r 1 (a, b), r 2 (b)}. The first part of the (infinite) guarded chase forest for {σ 1 , σ 2 } and D is shown in Fig. <ref type="figure" target="#fig_3">3</ref>, where every arc is labeled with the applied TGD.</p><formula xml:id="formula_3">r 1 (z 2 , z 1 ) . . . r 1 (z 1 , a) r 1 (a, b) σ 1 σ 1 σ 1 σ 2 σ 2 σ 2 r 2 (b) r 2 (a) r 2 (z 1 )</formula><formula xml:id="formula_4">r 2 (z 2 ) Fig. 1. Guarded chase forest in Example 3.2.</formula><p>Given a finite set S ⊆ ∆ ∪ ∆ N , two sets of atoms A 1 and A 2 are S-isomorphic (or isomorphic if S = ∅) iff there exists a bijection β :</p><formula xml:id="formula_5">A 1 ∪ dom(A 1 ) → A 2 ∪ dom(A 2</formula><p>) such that (i) β and β −1 are homomorphisms, and (ii)</p><formula xml:id="formula_6">β(c) = c = β −1 (c)</formula><p>for all c ∈ S. Two atoms a 1 and a 2 are S-isomorphic (or isomorphic if S = ∅) iff {a 1 } and {a 2 } are S-isomorphic. The notion of S-isomorphism (or isomorphism if S = ∅) is naturally extended to more complex structures, such as pairs of two subtrees (V 1 , E 1 ) and (V 2 , E 2 ) of the guarded chase forest, and two pairs (b 1 , S 1 ) and (b 2 , S 2 ), where b 1 and b 2 are atoms, and S 1 and S 2 are sets of atoms. The following lemma shows that if two atoms have S-isomorphic types, then their subtrees are also S-isomorphic. Lemma 3.1. Let S be a set of constants and nulls, and a 1 and a 2 be atoms from chase(Σ, D) with S-isomorphic types. Then, the subtree of a 1 is S-isomorphic to the subtree of a 2 .</p><p>The next lemma provides an upper bound for the number of all non-T -isomorphic pairs consisting of an atom and a type. 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><formula xml:id="formula_7">Proof. Let k = (2w) w • 2 (2w) w•|R|</formula><p>, 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 h (in this order) on P with isomorphic types (see Fig. <ref type="figure" target="#fig_3">3</ref>). By Lemma 3.1, the subtree of h is isomorphic to the subtree of h . 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 h (in this order) on P with N -isomorphic types (see Fig. <ref type="figure" target="#fig_3">3</ref>). Since b is in the type of a, it cannot contain new nulls compared to a. Since c is the common predecessor of a and b of largest depth, b also cannot contain new nulls compared to c, and thus compared to h and h . So, b is in the types of both h and h . By Lemma 3.1, the subtree of h is N -isomorphic to the subtree of h . 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. In summary, all atoms in the type of a can be obtained on paths of length at most k.</p><p>2 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 0 for Σ and D, denoted g-chase k (Σ, D), is the set of all atoms in the forest of depth at most k. Lemma 3.4. Let Q be a BCQ over R. If there exists a homomorphism µ that maps Q into chase(Σ, D), then there exists a homomorphism λ that maps Q into g-chase k (Σ, D), where k depends only on Q and R. , and w is the maximal arity of a predicate in R. Suppose there exists a homomorphism that maps Q into chase(Σ, D). Let µ be a homomorphism of this kind such that depth(µ) = q∈Q depth(µ(q)) is minimal. We now show that µ(Q) is contained in g-chase k (Σ, D). Towards a contradiction, suppose the contrary. Consider the tree consisting of all atoms in µ(Q) and their ancestors in the guarded chase forest for Σ and D. As µ(Q) is not contained in g-chase k (Σ, D), this tree must contain a path P of length greater than δ of which all inner nodes (i.e., without start and end node) do not belong to µ(Q) and have no branches (i.e., have exactly one outgoing edge). Let a be the start node of P . By Lemma 3.2, there are two dom(a)-isomorphic atoms h and h on P with dom(a)-isomorphic types. By Lemma 3.1, subtree(h) is dom(a)-isomorphic to subtree(h ). Thus, we can remove h and the path to h , obtaining a path that is at least one edge shorter. Let ι be the homomorphism mapping subtree(h ) to subtree(h), and let µ = µ • ι. Then, µ is a homomorphism that maps Q into chase(Σ, D) such that depth(µ ) &lt; depth(µ), which contradicts µ being a homomorphism of this kind such that depth(µ) is minimal. This shows that µ(Q) is contained in g-chase k (Σ, D). 2</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. Definition 3.1. We say that Σ has the bounded guard-depth property (BGDP) iff, for 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Linear Datalog ±</head><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 AC 0 ) in the data complexity. Nonetheless, linear Datalog ± is still expressive enough for representing ontologies <ref type="bibr" target="#b7">[8]</ref> 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. Clearly, in the case of linear TGDs, for every a ∈ 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. 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.</p><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><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Extensions</head><p>In this section, we extend Datalog ± with negative constraints and EGDs, which are both important when representing ontologies.</p><p>Negative Constraints. A negative constraint (or constraint) is a first-order formula of the form ∀XΦ(X) → ⊥, where Φ(X) is a (not necessarily guarded) conjunction of atoms. It is often also written as ∀XΦ (X) → ¬p(X), where Φ (X) is obtained from Φ(X) by removing the atom p(X). We usually omit the universal quantifiers.</p><p>Example 5.1. If the unary predicates c and c represent two classes, we may use the constraint c(X), c (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) → ⊥ ∈ Σ 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</p><formula xml:id="formula_8">D ∪ Σ T |= Σ C iff every σ ∈ Σ C is false in D given Σ T .</formula><p>We thus obtain immediately the following result. Here,</p><formula xml:id="formula_9">a BCQ Q is true in D given Σ T and Σ C , denoted D ∪ Σ T ∪ Σ C |= Q, iff (i) D ∪ Σ T |= Q or (ii) D ∪ Σ T |= Σ C (as usual in DLs).</formula><p>Theorem 5.1. Let R be a relational schema, Σ T and Σ C be sets of TGDs and constraints on R, respectively, D be a database for R, and Q be a BCQ on R. Then,</p><formula xml:id="formula_10">D ∪ Σ T ∪ Σ C |= Q iff (i) D ∪ Σ T |= Q or (ii) D ∪ Σ T |= Q σ for some σ ∈ Σ C .</formula><p>The next theorem shows that constraints do not increase the data and combined complexity of answering BCQs in the guarded and linear case. Theorem 5.2. Let R be a relational schema, Σ T and Σ C be sets of TGDs and constraints on R, respectively, D be a database for R, and Q be a BCQ. Then, deciding D ∪ Σ T ∪ Σ C |= Q in the guarded (resp., linear) case has the same data and the same combined complexity as deciding D ∪ Σ T |= Q in the guarded (resp., linear) case.</p><p>EGDs and Non-Conflicting Keys. An equality-generating dependency (or EGD) σ is a first-order formula of the form ∀X Φ(X) → X i = X j , where Φ(X), called the body of σ, is a conjunction of atoms, and X i and X j are variables from X. We call X i = X j 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(X i ) = h(X j ).</p><p>Example 5.2. The EGD r(X, Y ), r(X, Y ) → Y = Y 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) → X i = X j . Such an EGD σ is applicable to D iff there exists a homomorphism η : Φ(X) → D such that η(X i ) and η(X j ) are different and not both constants. If η(X i ) and η(X j ) 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 ∈ {η(X i ), η(X j )} in D by the other element e (if e and e are both nulls, then e precedes e 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 <ref type="bibr" target="#b13">[14]</ref>, or keys and inclusion dependencies (see, e.g., <ref type="bibr" target="#b9">[10]</ref>, where the proof of undecidability is done in the style of Vardi as in <ref type="bibr" target="#b17">[18]</ref>). 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 <ref type="bibr" target="#b9">[10]</ref> 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. 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</p><formula xml:id="formula_11">Q, chase(Σ T ∪ Σ E , D) |= Q iff chase(Σ T , D) |= Q.</formula><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><p>Theorem 5.3. Let R be a relational schema, Σ T and Σ C be sets of TGDs and constraints 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 |= Q in the guarded (resp., linear) case has the same data complexity and also the same combined complexity as deciding D ∪ Σ T |= 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 = {r(a, b, z 3 ), r(a, z 2 , z 1 )} (where the z i 's are nulls), and its application yields the new instance {r(a, b, z 1 )}. The following definition generalizes the notion of "non-key-conflicting" dependency relative to a set of keys, introduced in <ref type="bibr" target="#b9">[10]</ref>, to the context of arbitrary TGDs. Definition 5.2. Let κ be a key, and σ be a TGD of the form Φ(X, Y) → ∃Z 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 Σ T iff κ is NC with every σ ∈ Σ T . We say a set of keys Σ K is non-conflicting (NC) with Σ T iff every κ ∈ Σ K is NC with Σ T . Observe that all keys but κ 4 are NC with σ, since only K 4 ⊂ H. Roughly, every atom added in a chase by applying σ would have a fresh null in some position in K 1 , K 2 , and K 3 , 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 <ref type="bibr" target="#b9">[10]</ref> 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 <ref type="bibr">Example 5.3)</ref>, 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><p>Theorem 5.4. Let R be a relational schema, Σ T and Σ K be sets of TGDs and keys, respectively, such that Σ K is NC with Σ T . Then, Σ K is separable from Σ T .</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Lemma 3 . 2 .</head><label>32</label><figDesc>Let w be the maximal arity of a predicate in R, δ = (2w) w • 2 (2w) w•|R| , and a ∈ 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 |P | &gt; δ, then P contains at least two dom(a)-isomorphic pairs.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Lemma 3 . 3 .</head><label>33</label><figDesc>Let a be a guard in the chase graph for Σ and D, and b ∈ type(a). Then, depth(b) depth(a) + k, where k depends only on Σ.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Construction in Lemma 3.3's proof.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Construction in Lemma 3.4's proof. Proof. Let k = n • δ, where n = |Q|, δ = (2w) w • 2 (2w) w•|R|, and w is the maximal arity of a predicate in R. Suppose there exists a homomorphism that maps Q into chase(Σ, D). Let µ be a homomorphism of this kind such that depth(µ) = q∈Q depth(µ(q)) is minimal. We now show that µ(Q) is contained in g-chase k (Σ, D). Towards a contradiction, suppose the contrary. Consider the tree consisting of all atoms in µ(Q) and their ancestors in the guarded chase forest for Σ and D. As µ(Q) is not contained in g-chase k (Σ, D), this tree must contain a path P of length greater than δ of which all inner nodes (i.e., without start and end node) do not belong to µ(Q) and have no branches (i.e., have exactly one outgoing edge). Let a be the start node of P . By Lemma 3.2, there are two dom(a)-isomorphic atoms h and h on P with dom(a)-isomorphic types. By Lemma 3.1, subtree(h) is dom(a)-isomorphic to subtree(h ). Thus, we can remove h and the path to h , obtaining a path that is at least one edge shorter. Let ι be the homomorphism mapping subtree(h ) to subtree(h), and let µ = µ • ι. Then, µ is a homomorphism that maps Q into chase(Σ, D) such that depth(µ ) &lt; depth(µ), which contradicts µ being a homomorphism of this kind such that depth(µ) is minimal. This shows that µ(Q) is contained in g-chase k (Σ, D). 2</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head></head><label></label><figDesc>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 [8]. Theorem 3.1. Let D be a database for a relational schema R, Σ a finite set of guarded TGDs on R, and Q a BCQ Q over R. Then, deciding D ∪ Σ |= Q is PTIME-complete in data complexity. It can be done in linear time in data complexity for atomic Q.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Definition 4 . 1 .</head><label>41</label><figDesc>A set of TGDs Σ has the bounded derivation-depth property (BDDP) iff, for every database D for R and for every BCQ Q over R, whenever D ∪ Σ |= Q, then chase γ d (Σ, D) |= Q, where γ d depends only on Q and R.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head></head><label></label><figDesc>It follows from Theorem 5.1, by which the additional effort of deciding D ∪ Σ T |= Σ C can be done by answering |Σ C | BCQs Q σ without constraints, where each query Q σ has a size of σ Σ C , and in the data complexity, |Σ C | and σ are constants. Here, |Σ C | denotes the cardinality of Σ C , while Σ C denotes the input size of Σ C . This additional effort does not increase the complexity of answering BCQs without constraints.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Example 5 . 3 .</head><label>53</label><figDesc>Consider the four keys κ 1 , κ 2 , κ 3 , and κ 4 defined by the key attribute setsK 1 = {r[1], r[2]}, K 2 = {r[1], r[3]}, K 3 ={r[3]}, and K 4 = {r[1]}, respectively, and the TGD σ = p(X, Y ) → ∃Z r(X, Y, Z). Then, the head predicate of σ is r, and the set of positions in r with universally quantified variables is H = {r[1], r[2]}.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">‡ Alternative address: Institut für Informationssysteme, Technische Universität Wien, Austria.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><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><p>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></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Corollary 5.1. Let R be a relational schema, Σ T and Σ C be sets of TGDs and constraints 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 |= Q in the guarded (resp., linear) case has the same data complexity and also the same combined complexity as deciding D ∪ Σ T |= Q in the guarded (resp., linear) case.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Ontology Querying</head><p>In <ref type="bibr" target="#b7">[8]</ref>, we have provided a translation of the DLs DL-Lite F , DL-Lite R , and DL-Lite A of the DL-Lite family <ref type="bibr" target="#b11">[12]</ref> into linear Datalog ± with negative constraints and nonconflicting keys, called Datalog ± 0 , and shown that the former are strictly less expressive than the latter. The other DLs of the DL-Lite family (including DL-Lite F , and DL-Lite R, ) can be similarly translated to Datalog ± 0 . 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>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><p>ConPaper Article, JouPaper Article, ConPaper ¬JouPaper, Scientist ∃isAuthorOf, ∃isAuthorOf Scientist, ∃isAuthorOf − Article.</p><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 − hasAuthor, hasAuthor − isAuthorOf, (funct hasFirstAuthor).</p><p>Finally, the concept and role membership axioms Scientist(i 1 ), isAuthorOf(i 1 , i 2 ), and Article(i 2 ) express that the individual i 1 is a scientist who authors the article i 2 .</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><p>The role inclusion and functionality axioms are translated to these TGDs and EGDs:</p><p>Finally, the three concept and role membership axioms are translated to the three database atoms Scientist(i 1 ), isAuthorOf(i 1 , i 2 ), and Article(i 2 ), respectively (where we also identify individuals with their constants).</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Datalog extensions for database queries and updates</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Vianu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Comput. Syst. Sci</title>
		<imprint>
			<biblScope unit="volume">43</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="62" to="124" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Modal languages and bounded fragments of predicate logic</title>
		<author>
			<persName><forename type="first">H</forename><surname>Andréka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Németi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Van Benthem</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Philos. Logic</title>
		<imprint>
			<biblScope unit="volume">27</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="217" to="274" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">The implication problem for data dependencies</title>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ICALP-1981</title>
				<meeting>ICALP-1981</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1981">1981</date>
			<biblScope unit="volume">115</biblScope>
			<biblScope unit="page" from="73" to="85" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The Semantic Web</title>
		<author>
			<persName><forename type="first">T</forename><surname>Berners-Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hendler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Lassila</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Sci. Am</title>
		<imprint>
			<biblScope unit="volume">284</biblScope>
			<biblScope unit="page" from="34" to="43" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">The expressive power of stratified logic programs with value invention</title>
		<author>
			<persName><forename type="first">L</forename><surname>Cabibbo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Inf. Comput</title>
		<imprint>
			<biblScope unit="volume">147</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="22" to="56" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Datalog and description logics: Expressive power</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cadoli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Palopoli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. DBPL-1997</title>
				<meeting>DBPL-1997</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1998">1998</date>
			<biblScope unit="volume">1369</biblScope>
			<biblScope unit="page" from="281" to="298" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Taming the infinite chase: Query answering under expressive relational constraints</title>
		<author>
			<persName><forename type="first">A</forename><surname>Calì</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kifer</surname></persName>
		</author>
		<ptr target="http://benner.dbai.tuwien.ac.at/staff/gottlob/CGK.pdf" />
	</analytic>
	<monogr>
		<title level="m">Proc. KR-2008</title>
				<meeting>KR-2008</meeting>
		<imprint>
			<publisher>AAAI Press</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="70" to="80" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A general Datalog-based framework for tractable query answering over ontologies</title>
		<author>
			<persName><forename type="first">A</forename><surname>Calì</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Lukasiewicz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. PODS-2009</title>
				<meeting>PODS-2009</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Containment of conjunctive object meta-queries</title>
		<author>
			<persName><forename type="first">A</forename><surname>Calì</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. VLDB-2006</title>
				<meeting>VLDB-2006</meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">On the decidability and complexity of query answering over inconsistent and incomplete databases</title>
		<author>
			<persName><forename type="first">A</forename><surname>Calì</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Lembo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rosati</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. PODS-2003</title>
				<meeting>PODS-2003</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="260" to="271" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">External sources of knowledge and value invention in logic programming</title>
		<author>
			<persName><forename type="first">F</forename><surname>Calimeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Cozza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Ianni</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Ann. Math. Artif. Intell</title>
		<imprint>
			<biblScope unit="volume">50</biblScope>
			<biblScope unit="issue">3/4</biblScope>
			<biblScope unit="page" from="333" to="361" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Tractable reasoning and efficient query answering in description logics: The DL-Lite family</title>
		<author>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>De Giacomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Lembo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rosati</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Autom. Reasoning</title>
		<imprint>
			<biblScope unit="volume">39</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="385" to="429" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Optimal implementation of conjunctive queries in relational data bases</title>
		<author>
			<persName><forename type="first">A</forename><surname>Chandra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Merlin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. STOC-1977</title>
				<meeting>STOC-1977</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="1977">1977</date>
			<biblScope unit="page" from="77" to="90" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">The implication problem for functional and inclusion dependencies is undecidable</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K</forename><surname>Chandra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIAM J. Comput</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="671" to="677" />
			<date type="published" when="1985">1985</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">The chase revisited</title>
		<author>
			<persName><forename type="first">A</forename><surname>Deutsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Nash</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">B</forename><surname>Remmel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. PODS-2008</title>
				<meeting>PODS-2008</meeting>
		<imprint>
			<biblScope unit="page" from="149" to="158" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">AL-log: Integrating Datalog and description logics</title>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">M</forename><surname>Donini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Nardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schaerf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Intell. Inf. Syst</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="227" to="252" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Data exchange: Semantics and query answering</title>
		<author>
			<persName><forename type="first">R</forename><surname>Fagin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">G</forename><surname>Kolaitis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">J</forename><surname>Miller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Popa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">336</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="89" to="124" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Testing containment of conjunctive queries under functional and inclusion dependencies</title>
		<author>
			<persName><forename type="first">D</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Klug</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Comput. Syst. Sci</title>
		<imprint>
			<biblScope unit="volume">28</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="167" to="189" />
			<date type="published" when="1984">1984</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Data integration: A theoretical perspective</title>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. PODS-2002</title>
				<meeting>PODS-2002</meeting>
		<imprint>
			<biblScope unit="page" from="233" to="246" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Testing implications of data dependencies</title>
		<author>
			<persName><forename type="first">D</forename><surname>Maier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">O</forename><surname>Mendelzon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Sagiv</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Database Syst</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="455" to="469" />
			<date type="published" when="1979">1979</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Position paper: A comparison of two modelling paradigms in the Semantic Web</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. WWW-2006</title>
				<meeting>WWW-2006</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="3" to="12" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Linking data to ontologies</title>
		<author>
			<persName><forename type="first">A</forename><surname>Poggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Lembo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>De Giacomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rosati</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Data Semantics</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="133" to="173" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">On combining description logic ontologies and nonrecursive Datalog rules</title>
		<author>
			<persName><forename type="first">R</forename><surname>Rosati</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. RR-2008</title>
				<meeting>RR-2008</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">5341</biblScope>
			<biblScope unit="page" from="13" to="27" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
