<!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>Stop the Chase: Short Contribution</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Meier⋆</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Schmidt⋆</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Georg Lausen</string-name>
          <email>lausen@informatik.uni-freiburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Freiburg, Institute for Computer Science Georges-Ko ̈hler-Allee</institution>
          ,
          <addr-line>79110 Freiburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The chase procedure, an algorithm proposed 25+ years ago to fix constraint violations in database instances, has been successfully applied in a variety of contexts, such as query optimization and data exchange. Its practicability, however, is limited by the fact that - for an arbitrary set of constraints - it might not terminate; even worse, chase termination is an undecidable problem in general. In response, the database community has proposed sufficient restrictions on top of the constraints that guarantee chase termination on any database instance. In this paper, we propose a sufficient termination condition, called inductive restriction, which strictly generalizes previous conditions, but can be checked as efficiently.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The chase procedure is a fundamental algorithm that has been successfully applied
in a variety of database applications [
        <xref ref-type="bibr" rid="ref1 ref10 ref11 ref13 ref15 ref2 ref5 ref7 ref9">7, 10, 5, 9, 11, 15, 2, 1, 13</xref>
        ]. Originally proposed to
tackle the implication problem for data dependencies [
        <xref ref-type="bibr" rid="ref5 ref7">7, 5</xref>
        ] and to optimize Conjunctive
Queries (CQs) under data dependencies [
        <xref ref-type="bibr" rid="ref10 ref3">3, 10</xref>
        ], it has become a central tool in Semantic
Query Optimization (SQO) [
        <xref ref-type="bibr" rid="ref1 ref14 ref16">14, 1, 16</xref>
        ]. For instance, the chase can be used to
enumerate minimal CQs under a set of dependencies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], thus supporting the search for more
efficient query evaluation plans. Beyond SQO, it has been applied in many other
contexts, such as data exchange [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], peer data exchange [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], data integration [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], query
answering using views [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and probabilistic databases [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        The core idea of the chase algorithm is simple: given a set of dependencies (also called
constraints) over a database schema and an instance as input, it fixes constraint
violations in the instance. One problem with the chase, however, is that – given an arbitrary
set of constraints – it might never terminate; even worse, this problem is undecidable in
general, also for a fixed instance [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Addressing this issue, sufficient conditions for the
constraints that guarantee termination on any database instance have been proposed [
        <xref ref-type="bibr" rid="ref15 ref16 ref4">15,
4, 16</xref>
        ]. Such conditions are the central topic in this paper. We introduce the class of
inductively restricted constraints, for which the chase terminates in polynomial time data
complexity. Like existent sufficient termination conditions, inductive restriction asserts
that there are no positions in the schema where fresh labeled nulls might be cyclically
created during chase application. It relies on a sophisticated study of (a) positions in
the database schema where null values might appear, (b) subsets of the constraints that
cyclically pass null values, and (c) connections between such cycles. The combination
⋆ The work of this author was funded by DFG grant GRK 806/3.
of these aspects makes inductive restriction more general than previous sufficient
termination conditions, thus making a larger class of constraints amenable to the chase.
Structure. We start with some preliminaries in the following section. Section 3
introduces inductive restriction, our sufficient data-independent termination condition.
Finally, Section 4 concludes the paper.
      </p>
      <p>
        Remark. An extended version of this paper including full proofs can be found in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>General mathematical notation. For n ∈ N, we denote by [n] the set {1, ..., n}. For a
set M , we denote by 2M its powerset.</p>
      <p>Databases. We fix three pairwise disjoint infinite sets: the set of constants Δ, the set
of labeled nulls Δnull, and the set of variables V . A database schema R is a finite set
of relational symbols {R1, ..., Rn}. In the rest of the paper, we assume the database
schema and the set of constants and labeled nulls to be fixed. A database instance I
is a finite set of R-atoms that contains only elements from Δ ∪ Δnull in its positions.
We denote an element of an instance as fact. The domain of I, dom(I), is the set of
elements from Δ ∪ Δnull that appear in I.</p>
      <p>We use the term position to denote a position in a predicate, e.g. a three-ary predicate
R has three positions R1, R2, R3. We say that a variable, labeled null, or constant c
appears e.g. in a position R1 if there exists a fact R(c, ...).</p>
      <p>
        Constraints. Let x, y be tuples of variables. We consider two types of database
constraints: tuple generating dependencies (TGDs) and equality generating dependencies
(EGDs). A TGD has the form α := ∀x(φ(x) → ∃yψ(x, y)) such that both φ and ψ
are conjunctions of atomic and equality-free R-atoms, possibly with parameters from
Δ and all variables from x that occur in ψ must also occur in φ. We denote by pos(α)
the set of positions in φ. An EGD has the form α := ∀x(φ(x) → xi = xj ), where
xi, xj occur in φ and φ is a non-empty conjunction of equality-free R-atoms, possibly
with parameters from Δ. We denote by pos(α) the set of positions in φ. As a
notational convenience, we will often omit the ∀-quantifier and respective list of universally
quantified variables. For a set of TGDs and EGDs Σ we set pos(Σ) := Sξ∈Σ pos(ξ).
Chase. We assume that the reader is familiar with the chase procedure and give only
a short introduction here, referring the interested reader to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] for a more detailed
discussion. A chase step I α,a
      </p>
      <p>
        → J takes a relational database instance I such that I 2
α(a) and adds tuples (in case of TGDs) or collapses some elements (in case of EGDs)
such that the resulting relational database J is a model of α(a). If J was obtained from
I in that kind, we sometimes also write Ia ⊕ Cα instead of J . A chase sequence is an
exhaustive application of applicable constraints I0 α−0→,a0 I1 α−1→,a1 . . ., where we impose
no strict order on what constraint to apply in case several constraints are applicable. If
this sequence is finite, say Ir being its final element, the chase terminates and its result
I0Σ is defined as Ir. The length of this chase sequence is r. Note that different orders of
application orders may lead to a different chase result. However, as proven in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], two
different chase orders always lead to homomorphically equivalent results, if these exist.
Therefore, we write IΣ for the result of the chase on an instance I under constraints Σ.
It has been shown in [
        <xref ref-type="bibr" rid="ref10 ref5 ref7">7, 5, 10</xref>
        ] that IΣ |= Σ. If a chase step cannot be performed (e.g.,
because application of an EGD would have to equate two constants) or in case of an
infinite chase sequence, the result of the chase is undefined.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Data-independent Chase Termination</title>
      <p>
        In the past, sufficient conditions for constraint sets have been developed that guarantee
chase termination for any instance. One such condition is weak acyclicity [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], which
asserts that there are no cyclically connected positions in the constraint set that may
introduce fresh labeled null values, by a global study of relations between the constraints.
In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], weak acyclicity was generalized to stratification, which enforces weak
acyclicity only locally, for subsets of constraints that might cyclically cause to fire each other.
We further generalized stratification to safe restriction in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. We start by reviewing
its central ideas and formal definition, which form the basis for our novel condition
inductive restriction.
      </p>
      <p>
        Safe Restriction. The idea of safe restriction is to keep track of positions where fresh
null values might be created in or copied to. As a basic tool, we borrow the definition
of affected positions from [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. We emphasize that, in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], this definition has been used
in a different context: there, the constraints are interpreted as axioms that are used to
derive new facts from the database and the problem is query answering on the implied
database, using the chase as a central tool.
      </p>
      <p>
        Definition 1. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] Let Σ be a set of TGDs. The set of affected positions aff(Σ) is defined
inductively as follows. Let π be a position in the head of an α ∈ Σ.
• If an existentially quantified variable appears in π, then π ∈ aff(Σ).
• If the same universally quantified variable X appears both in position π, and only
in affected positions in the body of α, then π ∈ aff(Σ).
      </p>
      <p>
        Akin to the dependency graph in weak acyclicity [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], we define a safety condition
that asserts the absence of cycles through constraints that may introduce fresh null
values. As an improvement, we exhibit the observation that only values created due to or
copied from affected positions may cause non-termination. We introduce the notion of
propagation graph, which refines the dependency graph from [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] by taking affected
positions into consideration.
      </p>
      <p>Definition 2. Let Σ be a set of TGDs. We define a directed graph called propagation
graph prop(Σ) := (aff(Σ), E) as follows. There are two kinds of edges in E. Add
them as follows: for every TGD ∀x(φ(x) → ∃yψ(x, y)) ∈ Σ and for every x in x that
occurs in ψ and every occurrence of x in φ in position π1
• if x occurs only in affected positions in φ then, for every occurrence of x in ψ in
position π2, add an edge π1 → π2 (if it does not already exist).
• if x occurs only in affected positions in φ then, for every existentially quantified
variable y and for every occurrence of y in a position π2, add a special edge π1 →∗ π2
(if it does not already exist).</p>
      <p>Definition 3. A set Σ of constraints is called safe iff prop(Σ) has no cycles going
through a special edge.</p>
      <p>
        Safety is a sufficient termination condition which strictly generalizes weak acyclicity
and is different from stratification [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The idea behind safe restriction now is to assert
safety locally, for subsets of the constraints that may cyclically cause each other to fire
in such a way that null values are passed in these cycles.
      </p>
      <p>Definition 4. Let Σ abe given and P ⊆ pos(Σ). For all α, β ∈ Σ, we define α ≺P β
iff there are tuples a, b and a database instance I s.t. (i) I 2 α(a), (ii) I |= β(b), (iii)
I α→,a J , (iv) J 2 β(b), (v) I contains null values only in positions from P and (vi) there
is a null value n ∈ b ∩ Δnull in the head of β(b).</p>
      <p>Informally, α ≺P β holds if α might cause β to fire s.t., when null values occur only
in positions from P, β copies some null values. We next introduce a notion for affected
positions relative to a constraint and a set of positions.</p>
      <p>Definition 5. For any set of positions P and a TGD α let aff-cl(α, P ) be the set of
positions π from the head of α such that
• for every universally quantified variable x in π: x occurs in the body of α only in
positions from P or
• π contains an existentially quantified variable.</p>
      <p>On top of previous definitions we introduce the central tool of restriction systems.
Definition 6. A restriction system is a pair (G′(Σ), f ), where G′(Σ) := (Σ, E) is a
directed graph and f : Σ → 2pos(Σ) is a function such that
• forall TGDs α and forall (α, β) ∈ E: aff-cl(α, f (α)) ∩ pos({β}) ⊆ f (β),
• forall EGDs α and forall (α, β) ∈ E: f (α) ∩ pos({β}) ⊆ f (β), and
• forall α, β ∈ Σ: α ≺f(α) β =⇒ (α, β) ∈ E.</p>
      <p>A restriction system is minimal if it is obtained from ((Σ, ∅),{(α, ∅) | α ∈ Σ}) by a
repeated application of the constraints from bullets one to three (until all constraints
hold) s.t., in case of the first and second bullet, the image of f (β) is extended only by
those positions that are required to satisfy the condition.</p>
      <p>
        Example 1. Let predicate E(x,y) store graph edges and predicate S(x) store some nodes.
The constraints Σ = {α1, α2} with α1 := S(x), E(x,y) → E(y,x) and α2 := S(x),
E(x,y) → ∃z E(y,z), E(z,x) assert that all nodes in S have a cycle of length 1 and 2.
It holds that aff(Σ) = {E1,E2} and it is easy to verify that Σ is neither safe nor
stratified (see Def. 2 in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). The minimal restriction system for Σ is G’(Σ):=(Σ,{(α2,α1)})
with f(α1) := {E1,E2} and f(α2) := ∅; in particular, α1 6≺f(α1) α1, α1 6≺f(α1) α2,
α2 ≺f(α2) α1, and α2 6≺f(α2) α2 hold.
      </p>
      <p>
        As shown in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], the minimal restriction system is unique and can be computed by
an NP-algorithm. We are ready to define the notion of safe restriction:
Definition 7. Σ is called safely restricted if and only if every strongly connected
component of its minimal restriction system is safe.
      </p>
      <p>Example 2. Constraint set Σ from Example 1 is safely restricted: its minimal restriction
system contains no strongly connected components.</p>
      <p>
        As shown in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], safe restriction (a) guarantees chase termination in polynomial time
data complexity, (b) is strictly more general than stratification, and (c) it can be checked
by a CONP-algorithm if a set of constraints is safely restricted.
      </p>
      <p>Inductive Restriction. We now introduce the novel class of inductively restricted
constraints, which generalizes safe restriction but, like the latter, gives polynomial-time
termination guarantees. We start with a motivating example.</p>
      <p>Example 3. We extend the constraints from Example 1 to Σ′ := Σ ∪{α3}, where α3 :=
∃x, yS(x), E(x, y). Then G’(Σ′):=(Σ′,{(α1, α2),(α2,α1),(α3,α1),(α3,α2)}) with f(α1)
= f(α2) := {E1,E2,S1} and f(α3) := ∅ is the minimal restriction system. It contains the
strongly connected component {α1,α2}, which is not safe. Consequently, Σ′ is not
safely restricted.</p>
      <p>Intuitively, safe restriction does not apply in the example above because α3 “infects”
position S1 in the restriction system. Though, null values cannot be repeatedly created in
S1: α3 fires at most once, so it does not affect chase termination. Our novel termination
condition recognizes such situations by recursively computing the minimal restriction
systems of the strongly connected components. We formalize this computation in
Algorithm 1, called part(Σ). Based on this algorithm, we define an improved sufficient
termination condition.</p>
      <p>Definition 8. Let Σ be a set of constraints. We call Σ inductively restricted iff for all
Σ′ ∈ part (Σ) it holds that Σ′ is safe.</p>
      <p>As stated in the following lemma, inductive restriction strictly generalizes safe
restriction, but does not increase the complexity of the recognition problem.
Lemma 1. Let Σ be a set of constraints.
• If Σ is safely restricted, then it is inductively restricted.
• There is some Σ that is inductively restricted, but not safely restricted.
• The recognition problem for inductive restriction is in CONP.</p>
      <p>Example 4. Consider Σ′ from Example 3. It is easy to verify that part (Σ′) = ∅ and
we conclude that Σ′ is inductively restricted. As argued in Example 3, Σ′ is not safely
restricted, which proves the second claim in Lemma 1.</p>
      <p>The next theorem gives the main result of this section, showing that inductive restriction
guarantees chase termination in polynomial time data complexity. To the best of our
knowledge inductive restriction is the most general sufficient termination condition for
the chase that has been proposed so far.</p>
      <p>Theorem 1. Let Σ be a fixed set of inductively restricted constraints. Then, there exists
a polynomial Q ∈ N[X] such that for any database instance I, the length of every chase
sequence is bounded by Q(||I||), where ||I|| is the number of distinct values in I.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>
        We considered the termination of the chase algorithm. As our main contribution, we
generalized all sufficient data-independent termination conditions that were known so
far. Our results on chase termination directly carry over to applications that rely on the
chase and also to the so-called core-chase presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. There are some interesting
open questions left. First, it is unknown if the recognition problem for inductive
restriction, which was shown to be in CONP, is also coNP-hard. Second, it is left open
if the positive results on core computation in data exchange settings from [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] extend to
inductive restriction.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          et al.
          <article-title>Query Reformulation with Constraints</article-title>
          .
          <source>SIGMOD Record</source>
          ,
          <volume>35</volume>
          (
          <issue>1</issue>
          ):
          <fpage>65</fpage>
          -
          <lpage>73</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Fuxman</surname>
          </string-name>
          et al.
          <article-title>Peer data exchange</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>31</volume>
          (
          <issue>4</issue>
          ):
          <fpage>1454</fpage>
          -
          <lpage>1498</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Aho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Efficient Optimization of a Class of Relational Expressions</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <fpage>435</fpage>
          -
          <lpage>454</lpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Alin</given-names>
            <surname>Deutsch</surname>
          </string-name>
          et al.
          <article-title>The Chase Revisited</article-title>
          .
          <source>In PODS</source>
          , pages
          <fpage>149</fpage>
          -
          <lpage>158</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>A Proof Procedure for Data Dependencies</article-title>
          .
          <source>J. ACM</source>
          ,
          <volume>31</volume>
          (
          <issue>4</issue>
          ):
          <fpage>718</fpage>
          -
          <lpage>741</lpage>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. 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 Descr. Logics</source>
          , volume
          <volume>353</volume>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>D.</given-names>
            <surname>Maier</surname>
          </string-name>
          et al.
          <article-title>Testing Implications of Data Dependencies</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <fpage>152</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Nash</surname>
          </string-name>
          .
          <article-title>Efficient Core Computation in Data Exchange</article-title>
          .
          <source>J. ACM</source>
          ,
          <volume>55</volume>
          (
          <issue>2</issue>
          ),
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Halevy. Answering Queries Using Views: A Survey. VLDB</surname>
          </string-name>
          J., pages
          <fpage>270</fpage>
          -
          <lpage>294</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D. S.</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>In PODS</source>
          , pages
          <fpage>164</fpage>
          -
          <lpage>169</lpage>
          ,
          <year>1982</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          .
          <article-title>Data Integration: A Theoretical Perspective</article-title>
          . In PODS, pages
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Meier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Schmidt</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Lausen. Stop</surname>
          </string-name>
          the Chase,
          <source>Technical Report. CoRR, abs/0901.3984</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>D.</given-names>
            <surname>Olteanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Huang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Koch</surname>
          </string-name>
          . SPROUT:
          <article-title>Lazy vs. Eager Query Plans for TupleIndependent Probabilistic Databases</article-title>
          .
          <source>In ICDE</source>
          ,
          <year>2009</year>
          . To appear.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>L.</given-names>
            <surname>Popa</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Tannen</surname>
          </string-name>
          .
          <article-title>An Equational Chase for Path-Conjunctive Queries, Constraints, and Views</article-title>
          .
          <source>In ICDT</source>
          , pages
          <fpage>39</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          et al.
          <source>Data Exchange: Semantics and Query Answering. Theor. Comput. Sci.</source>
          ,
          <volume>336</volume>
          (
          <issue>1</issue>
          ):
          <fpage>89</fpage>
          -
          <lpage>124</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>M. Schmidt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Meier</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Lausen</surname>
          </string-name>
          .
          <article-title>Foundations of SPARQL Query Optimization</article-title>
          ,
          <source>Technical Report. CoRR, abs/0812.3788</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>