<!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>On the Complexity of Query Answering under Matching Dependencies for Entity Resolution</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Leopoldo Bertossi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jaffer Gardezi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Carleton University</institution>
          ,
          <addr-line>SCS, Ottawa</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Ottawa</institution>
          ,
          <addr-line>SITE., Ottawa</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Matching Dependencies (MDs) are a relatively recent proposal for declarative entity resolution. They are rules that specify, given the similarities satisfied by values in a database, what values should be considered duplicates, and have to be matched. On the basis of a chase-like procedure for MD enforcement, we can obtain clean (duplicate-free) instances; actually possibly several of them. The resolved answers to queries are those that are invariant under the resulting class of resolved instances. In previous work we identified some tractable cases (i.e. for certain classes of queries and MDs) of resolved query answering. In this paper we further investigate the complexity of this problem, identifying some intractable cases. For a special case we obtain a dichotomy complexity result.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Preliminaries</title>
      <p>We assume we are dealing with relational schemas and instances. Matching
dependencies (MDs) are symbolic rules of the form:
∧ R[Ai] ≈ij S[Bj ] → ∧ R[Ak] =: S[Bl]; (1)
i;j k;l
where R; S are relational predicates, and the Ai; ::: are attributes for them. The LHS
captures similarity conditions on a pair of tuples belonging to the extensions of R and
S in an instance D. We abbreviate this formula as: R[A] ≈ S[B] → R[C] =: S[E].
MDs have a dynamic interpretation requiring that those values on the RHS should be
updated to some (unspecified) common value. Those attributes on a RHS of an MD are
called changeable attributes.</p>
      <p>The similarity predicates ≈ (there may be more than one in an MD depending on
the attributes involved) are treated here as built-ins, but are assumed to satisfy: (a)
symmetry: if x ≈ y, then y ≈ x; and (b) equality subsumption: if x = y, then x ≈ y.
However, transitivity is not assumed (and in some application it may not hold).</p>
      <p>MDs are to be “applied” iteratively until duplicates are solved. In order to keep
track of the changes and comparing tuples and instances, we use global tuple
identifiers, a non-changeable surrogate key for each database predicate that has changeable
attributes. The auxiliary, extra attribute (when shown) appears as the first attribute in a
relation, e.g. t is the identifier in R(t; x). A position is a pair (t; A) with t a tuple id,
and A an attribute (of the relation where t is an id). The position’s value, t[A], is the
value for A in tuple (with id) t.</p>
      <p>
        A semantics for MDs acting on database instances was proposed in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. It is based
on a chase procedure that is iteratively applied to the original instance D. A resolved
instance D′ is obtained from a finitely terminating sequence of instances, say
      </p>
      <p>
        D 7→ D1 7→ D2 7→ · · · 7→ D′; (2)
terminating in D′, that satisfies the MDs as equality generating dependencies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], i.e.
      </p>
      <p>:
replacing = by equality.</p>
      <p>
        The semantics specifies the one-step transitions or updates allowed to go from Di−1
to Di, i.e. “7→” in (2). Only modifiable positions within the instance are allowed to
change their values in such a step, and as forced by the MDs. Actually, the modifiable
positions syntactically depend on a whole set M of MDs and instance at hand; and
can be recursively defined (see [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ] for the details). Intuitively, a position (t; A) is
modifiable iff: (a) There is a t′ such that t and t′ satisfy the similarity condition of an
MD with A on the RHS; or (b) t[A] has not already been resolved (it is different from
one of its other duplicates).
:
Example 2. Consider the MD R[A] = R[A] → R[B] = R[B], and the instance R(D)
below. The positions of the underlined values in D are modifiable, because their values
are unresolved (wrt the MD).
      </p>
      <p>R(D) A B
t1 a b
t2 a c
7→</p>
      <p>R(D′) A B
t1 a d
t2 a d</p>
      <p>D′ is a resolved instance since it satisfies
the MD interpreted as an FD (the update
value d is arbitrary).</p>
      <p>D′ has no modifiable positions with unresolved values: the values for B are already the
same, so there is no reason to change them.</p>
      <p>More formally, the single step semantics is a follows. Each pair Di; Di+1 in an
update sequence (2), i.e. a chase step, must satisfy the set M of MDs, modulo
unmodifiability, denoted (Di; Di+1) |=um M , which holds iff: (a) For every MD, say
R[A] ≈ S[B] → R[C] =: S[D] and pair of tuples tR and tS , if tR[A] ≈ tS [B] in Di,
then tR[C] = tS [D] in Di+1; and (b) The value of a position can only differ between
Di and Di+1 if it is modifiable wrt Di.</p>
      <p>
        This semantics stays as close as possible to the spirit of the MDs as originally
introduced [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and also uncommitted in the sense that the MDs do not specify how the
matchings have to be realized.1
Example 3. Consider the following instance and set of MDs. Here, attribute R(C) is
changeable. Position (t2; C) is not modifiable wrt. M and D: There is no justification
R(D) A B C
t1 a b d
t2 a c e
t3 a b e
:
R[A] = R[A] → R[B] = R[B]
      </p>
      <p>:
R[B] = R[B] → R[C] = R[C]:
to change its value in one step on the basis of an MD and D. However, position (t1; C)
is modifiable. We obtain two resolved instances for D: D1 and D2 below.</p>
      <p>R(D1) A B C R(D2) A B C D1 cannot be obtained in a single (one
t1 a b d t1 a b e step) update since the underlined value is
t2 a b d t2 a b e for a non-modifiable position. However,
t3 a b d t3 a b e D2 can.</p>
      <p>Among the resolved instances we prefer those that are closest to the original instance.
Accordingly, a minimally resolved instance (MRI) of D is a resolved instance D′ such
that the number of changes of attribute values comparing D with D′ is a minimum.
In Example 3, instance D2 is an MRI, but not D1 (2 vs. 3 changes). We denote with
Res(D; M ) and MinRes(D; M ) the classes of resolved, resp. minimally resolved,
instances of D wrt M .</p>
      <p>Given a conjunctive query Q, a set of MDs M , and an instance D, the resolved
answers to Q from D are those that are invariant under the entity resolution process, i.e.
they are answers to Q that are true in all MRIs of D: ResAnsM (Q; D) := {c | D′ |=
Q[c]; for every D′ ∈ MinRes(D; M )}. We denote with RA(Q; M ) the decision
problem {(D; c) | c ∈ ResAnsM (Q; D)}.</p>
      <p>
        The definition of resolved answer is reminiscent of that of consistent query answers
(CQA) in databases that may not satisfy given integrity constraints (ICs) [
        <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
        ]. Much
research in CQA has been about developing (polynomial-time) query rewriting
methodologies. The idea is to rewrite a query, say conjunctive, into a new query such that the
new query on the inconsistent database returns as usual answers the consistent answers
to the original query. In all the cases identified in the literature on CQA (see [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] for
a survey, and [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] for recent results) depending on the class of conjunctive query and
ICs involved, the rewritings that produce polynomial time CQA have been first-order.
1 We have proposed and investigated other semantics. One of them is as above, but with a
modified chase conditions, e.g. applying one MD at a time. Another one imposes that previous
resolutions cannot be unresolved. In [
        <xref ref-type="bibr" rid="ref3 ref7 ref8">7, 8, 3</xref>
        ] a semantics that uses matching functions to choose
a value for a match is developed.
      </p>
      <p>Doing something similar for resolved query answering (RQA) under MDs brings new
challenges: (a) MDs contain the non-transitive similarity predicates. (b) Enforcing
consistency of updates requires computing the transitive closure of such operators. (c) The
minimality of value changes (that is not always used in CQA or considered for
consistent rewritings). (d) The semantics of resolved query answering for MD-based entity
resolution is given, in the end, in terms of a chase procedure.2 However, the semantics
of CQA is model-theoretic, given in terms repairs that are not operationally defined, but
arise from set-theoretic conditions.3
3</p>
    </sec>
    <sec id="sec-2">
      <title>Tractability and Datalog Query Rewriting</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ], a query rewriting methodology for RQA under MDs was presented. In this
case, the rewritten queries turn out to be Datalog queries with counting, and can be
obtained for two main classes of sets of MDs: (a) MDs do not depend on each other,
i.e. non-interacting sets of MDs [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]; (b) MDs depend cyclically on each other, e.g. a
: :
set containing R[A] ≈ R[A] → R[B] = R[B] and R[B] ≈ R[B] → R[A] = R[A] (or
relationships like this by transitivity).
      </p>
      <p>
        Here cycles help us, because the termination condition for the chase imposes a
simple form on the minimally resolved instances (easier to capture and characterize) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
For these sets of MDs a conjunctive query can be rewritten to retrieve, in polynomial
time, the resolved answers, provided there are no joins on existentially quantified
variables corresponding to changeable attributes: unchangeable attribute join conjunctive
:
(UJCQ) queries [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. For example, for the MD R[A] = R[A] → R[B; C] = R[B; C]
on schema R[A; B; C], Q : ∃x∃y∃z(R(x; y; c) ∧ R(z; y; d)) is not UJCQ; whereas
Q′ : ∃x∃z(R(x; y; z) ∧ R(x; y′; z′) is UJCQ. For queries outside UJCQ, the resolved
answer problem can be intractable even for one MD [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>The case of a set of MDs consisting of</p>
      <p>
        R[A] ≈ R[A] → R[B] =: R[B] and R[B] ≈ R[B] → R[C] =: R[C]; (3)
which is neither non-interacting nor cyclic, is not covered by the positive cases for
Datalog rewriting above. Actually, for this set RQA becomes intractable for very simple
queries, like Q(x; z) : ∃yR(x; y; z), that is UJCQ [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
4 Intractability of Computing Resolved Query Answers
In the previous section we briefly described classes of queries and MDs for which RQA
can be done in polynomial time in data (via the Datalog rewriting). We also showed that
there are intractable cases, by pointing to a specific query and set of MDs. The questions
that naturally arise are: (a) What happens outside the Datalog rewritable cases in terms
of complexity of RQA? (b) The exhibited query and MDs correspond to a more general
pattern for which intractability holds? We address these questions here.
      </p>
      <p>
        For all sets M of MDs we consider below, at most two relational predicates appear
in M , and when there are two predicates, both appear in all MDs in M . According to
the syntactic restrictions for MDs in (1), those two predicates occur in all conjuncts
of an MD in M . Furthermore, all the sets of MDs considered below will turn out to
2 For some implicit connections between repairs and chase procedures, e.g. as used in data
exchange see [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], and as used under database completion with ICs see [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
3 For additional discussions of differences and connections between CQA and resolved query
answering see [
        <xref ref-type="bibr" rid="ref13 ref15">13, 15</xref>
        ].
be, as previously announced, both interacting and acyclic. Both notions and others can
be captured in terms of the MD graph, MDG (M ), a directed graph, such that, for
m1; m2 ∈ M , there is an edge from m1 to m2 if there is an overlap between RHS (m1)
and LHS (m2) (the right- and left-hand sides of the arrows as sets of attributes) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
M is acyclic when MDG (M ) is acyclic. Our results require several terms and notation
that we now define.
      </p>
      <p>Definition 1. Consider a set M of MDs involving the predicates R and S. A
changeable attribute query Q is a (conjunctive) query in UJCQ, containing a conjunct of the
form R(x) or S(y) with all variables free. Such a conjunct is called a free occurrence
of the predicate R or S.</p>
      <p>By definition, the class of changeable attribute queries (CHAQ) is a subclass of UJCQ.
Both classes depend on the set of MDs at hand. For example, for the MDs in (3),
∃yR(x; y; z) ∈ UJCQ r CHAQ, but ∃w∃t(R(x; y; z) ∧ S(x; w; t)) ∈ CHAQ. We
confine attention to UJCQ and subsets of it because, as mentioned in the previous
section, intractability limits the applicability of the duplicate resolution method for queries
outside UJCQ. The requirement that the query contains a free occurrence of R or S
eliminates from consideration certain queries in UJCQ for which the resolved answer
problem is trivially tractable. For example, for MDs in (3), the query ∃y∃zR(x; y; z) is
not in CHAQ, but is tractable simply because it does not return the values of a
changeable attribute (the resolved answers are the answers in the usual sense).
Definition 2. A set M of MDs is hard if for every CHAQ Q, RA(Q; M ) is NP-hard.
M is easy if for every CHAQ Q, RA(Q; M ) is in PTIME.</p>
      <p>Of course, a set of MDs may not be hard or easy. In the following we give some syntactic
conditions that guarantee hardness for classes of MDs.</p>
      <p>Definition 3. Let m be an MD. The symmetric binary relation LRel (m) (RRel (m))
relates each pair of attributes A and B such that a conjunct of the form R[A] ≈ S[B] (resp.
R[A] =: S[B]) appears in LHS (m) (resp. RHS (m)). An L-component (R-component)
of m is an equivalence class of the reflexive and transitive closure, LRel (m)eq (resp.
RRel (m)eq ), of LRel (m) (resp. RRel (m)).</p>
      <p>The first results concern linear pairs of MDs, i.e. those whose graph MDG (M )
consisting of the vertices m1 and m2, say</p>
      <p>m1: R[A] ≈1 S[B] → R[C] =: S[E]; and m2: R[F ] ≈2 S[G] → R[H] =: S[I]; (4)
with only an edge from m1 to m2, i.e. (R[C] ∪ S[E]) ∩ (R[F ] ∪ S[G]) ̸= ∅, whereas
(R[H] ∪ S[I]) ∩ (R[A] ∪ S[B]) = ∅. The linear pair is denoted by (m1; m2).
Definition 4. Let (m1; m2) be a linear pair as in (4). (a) BR is a binary (reflexive and
symmetric) relation on attributes of R: (R[U1]; R[U2]) ∈ BR iff R[U1] and R[U2] are
in the same R-component of m1 or the same L-component of m2. Similarly for BS .
(b) An R-equivalent set (R-ES) of attributes of (m1; m2) is an equivalence class of
TC (BR), the transitive closure of BR, with at least one attribute in the equivalence
class belonging to LHS (m2). The definition of an S-equivalent set (S-ES) is the same,
with R replaced by S.
(c) An (R or S)-ES E of (m1; m2) is bound if E ∩ LHS (m1) is non-empty.
Theorem 1. Let (m1; m2) be a linear pair as in (4), with R and S distinct predicates.
Assume that each similarity relation has an infinite set of mutually dissimilar elements.
Let ER and ES be the classes of R-ESs and S-ESs, resp. The pair (m1; m2) is hard if
RHS (m1) ∩ RHS (m2) = ∅, and at least one of the following does not hold:
(a) At least one of the following is true: (i) there are no attributes of R in RHS (m1) ∩
LHS (m2 ); (ii) all ESs in ER are bound; or (iii) for each L-component L of m1,
there is an attribute of R in L ∩ LHS (m2).
(b) At least one of the following is true: (i) there are no attributes of S in RHS (m1) ∩
LHS (m2 ); (ii) all ESs in ES are bound; or (iii) for each L-component L of m1,
there is an attribute of S in L ∩ LHS (m2).</p>
      <p>
        Theorem 1 says that a linear pair of MDs is hard unless the syntactic form of the MDs is
such that there is a certain association between changeable attributes in LHS (m2) and
attributes in LHS (m1) as specified by conditions (ii) and (iii). When m1 is applied to
an instance, similarities can be produced among the values of attributes of RHS (m1)
which are not required by the chase but result from a particular choice of update values.
Such accidental similarities affect the subsequent updates made by applying m2,
making the query answering problem intractable [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. For pairs of MDs satisfying (a)(ii) or
(a)(iii) (or (b)(ii) or (b)(iii)) in Theorem 1, the similarities resulting from applying m2
are restricted to a subset of those that are already present among the values of attributes
in LHS (m1), making the problem tractable.
      </p>
      <p>However, when condition (ii) or (iii) is satisfied, accidental similarities among the
values of attributes in RHS (m1) cannot be passed on to values of attributes in RHS (m2).</p>
      <p>This result gives a syntactic condition for hardness. It is an important result, because
it applies to many cases of practical interest. For example, the linear pair (m1; m2) in
(3) turns out to be hard (for all CHAQ queries, in addition to ∃yR(x; y; z)).</p>
      <p>All syntactic conditions/constructs on attributes above, in particular, the transitive
closures on attributes, are “orthogonal” to semantic properties of the similarity relations.
When similarity predicates are transitive, every linear pair not satisfying the hardness
criteria of Theorem 1 is easy.</p>
      <p>Theorem 2. (dichotomy for transitive similarity) Let (m1; m2) be a linear pair with
RHS (m1) ∩ RHS (m2) = ∅. If the similarity operators are transitive, then (m1; m2) is
either easy or hard.</p>
      <p>The next result concerns pair-preserving acyclic sets of MDs, defined by: M is
pairpreserving if, for any attribute R[A] occurring in a MD, there is only one attribute S[B]
such that R[A] ≈ S[B] or R[A] =: S[B] occur in an MD. These sets of MDs can be of
arbitrary size ( still subject to the condition of containing at most two predicates). The
pair-preserving assumption typically holds in a duplicate resolution setting, since the
values of pairs of attributes are normally compared only if they hold the same type of
information (e.g. they are both addresses or both names).</p>
      <p>Definition 5. Let M be pair-preserving and acyclic, B an attribute in M , and M ′ ⊆ M .
B is non-inclusive wrt. M ′ if, for every m ∈ M rM ′ with B ∈ RHS (m), there is an
attribute C such that: (a) C ∈ LHS (m), (b) C ̸∈ ∪m′∈M′ LHS (m′), and (c) C is
non-inclusive wrt. M ′.</p>
      <p>This is a recursive definition of non-inclusiveness. The base case occurs when C is
not in RHS (m) for any m, and so must be inclusive (i.e. not non-inclusive). Because
C ∈ LHS (m) in the definition, for any m1 such that C ∈ RHS (m1), there is an edge
from m1 to m. Therefore, we are traversing an edge backwards with each recursive
step, and the recursion terminates by the acyclicity assumption.</p>
      <p>Non-inclusiveness is a generalization of conditions (a) (iii) and (b) (iii) in Theorem
1 to a set of arbitrarily many MDs. It expresses a condition of inclusion of attributes in
the left-hand side of one MD in the left-hand side of another. Theorem 3 tells us that
a set of MDs that is non-inclusive in this sense is hard. Notice that the condition of
Theorem 1 that there exists an ES that is not bound does not appear in Theorem 3. This
is because, by the pair-preserving requirement, there cannot be a bound ES for any pair
of MDs in the set. For linear pairs, Theorem 3 becomes Theorem 1.</p>
      <p>Theorem 3. Let M be pair-preserving and acyclic. Assume there is {m1; m2} ⊆ M ,
and attributes C ∈ RHS (m2), B ∈ RHS (m1) ∩ LHS (m2) with: (a) C is
noninclusive wrt {m1; m2}, and (b) B is non-inclusive wrt {m2}. Then, M is hard.
Acknowledgments: Research supported by the NSERC Strategic Network on Business
Intelligence (BIN ADC05), NSERC/IBM CRDPJ/371084-2008, and NSERC Discovery.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          .
          <source>Foundations of Databases. Addison-Wesley</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Arenas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Chomicki</surname>
          </string-name>
          .
          <article-title>Consistent query answers in inconsistent databases</article-title>
          .
          <source>Proc. PODS</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Bahmani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kolahi</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Lakshmanan</surname>
          </string-name>
          .
          <article-title>Declarative entity resolution via matching dependencies and answer set programs</article-title>
          .
          <source>Proc. KR</source>
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Benjelloun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Garcia-Molina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Menestrina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. Euijong</given-names>
            <surname>Whang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Widom</surname>
          </string-name>
          .
          <article-title>Swoosh: A generic approach to entity resolution</article-title>
          .
          <source>VLDB Journal</source>
          ,
          <year>2009</year>
          ,
          <volume>18</volume>
          (
          <issue>1</issue>
          ):
          <fpage>255</fpage>
          -
          <lpage>276</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          .
          <article-title>Consistent query answering in databases</article-title>
          .
          <source>ACM Sigmod Record</source>
          ,
          <year>2006</year>
          ,
          <volume>35</volume>
          (
          <issue>2</issue>
          ):
          <fpage>68</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          . Database Repairing and Consistent Query Answering, Morgan &amp; Claypool,
          <source>Synthesis Lectures on Data Management</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kolahi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Lakshmanan</surname>
          </string-name>
          .
          <article-title>Data cleaning and query answering with matching dependencies and matching functions</article-title>
          .
          <source>Proc. ICDT</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kolahi</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Lakshmanan</surname>
          </string-name>
          .
          <article-title>Data cleaning and query answering with matching dependencies and matching functions</article-title>
          .
          <source>Theory of Computing Systems</source>
          ,
          <year>2013</year>
          ,
          <volume>52</volume>
          (
          <issue>3</issue>
          ):
          <fpage>441</fpage>
          -
          <lpage>482</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bleiholder</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <article-title>Data fusion</article-title>
          .
          <source>ACM Computing Surveys</source>
          ,
          <year>2008</year>
          ,
          <volume>41</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          and
          <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>Proc. PODS</source>
          <year>2003</year>
          , pp.
          <fpage>260</fpage>
          -
          <lpage>271</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Elmagarmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ipeirotis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Verykios</surname>
          </string-name>
          .
          <article-title>Duplicate record detection: A survey</article-title>
          .
          <source>IEEE Trans</source>
          .
          <article-title>Knowledge and Data Eng</article-title>
          .,
          <year>2007</year>
          ,
          <volume>19</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ma</surname>
          </string-name>
          .
          <article-title>Reasoning about record matching rules</article-title>
          .
          <source>Proc. VLDB</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gardezi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Kiringa.</surname>
          </string-name>
          <article-title>Matching dependencies: semantics, query answering and integrity constraints</article-title>
          .
          <source>Frontiers of Computer Science</source>
          , Springer,
          <year>2012</year>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ):
          <fpage>278</fpage>
          -
          <lpage>292</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gardezi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          .
          <article-title>Query rewriting using datalog for duplicate resolution</article-title>
          .
          <source>Proc. 2nd Workshop on the Resurgence of Datalog in Academia and Industry (Datalog 2.0</source>
          ,
          <year>2012</year>
          ), Springer LNCS 7494, pp.
          <fpage>86</fpage>
          -
          <lpage>98</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gardezi</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Bertossi</surname>
          </string-name>
          .
          <article-title>Tractable cases of clean query answering under entity resolution via matching dependencies</article-title>
          .
          <source>Proc. International Conference on Scalable Uncertainty Management (SUM'12)</source>
          , Springer LNAI 7520, pp.
          <fpage>180</fpage>
          -
          <lpage>193</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>B. ten Cate</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Fontaine and Ph. Kolaitis. On the data complexity of consistent query answering</article-title>
          .
          <source>Proc. ICDT</source>
          <year>2012</year>
          , pp.
          <fpage>22</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Wijsen</surname>
          </string-name>
          .
          <article-title>Certain conjunctive query answering in first-order logic</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <year>2012</year>
          ,
          <volume>37</volume>
          (
          <issue>2</issue>
          ):
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>