<!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>Query-Answer Causality in Databases: Abductive Diagnosis and View-Updates</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Babak Salimi</string-name>
          <email>bsalimi@scs.carleton.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Leopoldo Bertossi</string-name>
          <email>bertossi@scs.carleton.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science Carleton University Ottawa</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Causality has been recently introduced in databases, to model, characterize and possibly compute causes for query results (answers). Connections between query causality and consistency-based diagnosis and database repairs (wrt. integrity constrain violations) have been established in the literature. In this work we establish connections between query causality and abductive diagnosis and the view-update problem. The unveiled relationships allow us to obtain new complexity results for query causality -the main focus of our work- and also for the two other areas.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In this work we concentrate on causality as defined
forand applied to relational databases. Most of the work on
causality has been developed in the context of knowledge
representation, and little has been said about causality in
data management. Furthermore, in a world of big
uncertain data, the necessity to understand the data beyond
simple query answering, introducing explanations in different
forms, has become particularly relevant.</p>
      <p>
        The notion of causality-based explanation for a query
result was introduced in
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou et al., 2010a)</xref>
        , on the basis
of the deeper concept of actual causation. 1 Intuitively, a
1In contrast with general causal claims, such as “smoking
tuple (of constants) t is an actual cause for an answer a¯ to
a conjunctive query Q from a relational database instance
D if there is a “contingent” subset of tuples Γ,
accompanying t, such that, after removing Γ from D, removing t from
D Γ causes a¯ to switch from being an answer to being
a non-answer (i.e. not being an answer). Usually, actual
causes and contingent tuples are restricted to be among a
pre-specified set of endogenous tuples, which are
admissible, possible candidates for causes, as opposed to
exogenous tuples.
      </p>
      <p>
        A cause t may have different associated contingency sets Γ.
Intuitively, the smaller they are the strongest is t as a cause
(it need less company to undermine the query answer). So,
some causes may be stronger than others. This idea is
formally captured through the notion of causal responsibility,
and introduced in
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou et al., 2010a)</xref>
        . It reflects the
relative degree of actual causality. In applications involving
large data sets, it is crucial to rank potential causes
according to their responsibilities
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou et al., 2010b,a)</xref>
        .
Furthermore, view-conditioned causality was proposed in
        <xref ref-type="bibr" rid="ref25 ref26 ref27 ref5">(Meliou et al., 2010b, 2011)</xref>
        as a restricted form of query
causality, to determine causes for a set of unexpected query
results, but conditioned to the correctness of prior
knowledge about some other set of results.
      </p>
      <p>
        Actual causation, as used in
        <xref ref-type="bibr" rid="ref25 ref26 ref27 ref5">(Meliou et al., 2010a,b, 2011)</xref>
        ,
can be traced back to
        <xref ref-type="bibr" rid="ref18 ref19">(Halpern &amp; Pearl, 2001, 2005)</xref>
        , which
provides a model-based account of causation on the
basis of counterfactual dependence.2 Causal responsibility
was introduced in
        <xref ref-type="bibr" rid="ref8">Chockler &amp; Halpern (2004)</xref>
        , to provide
a graded, quantitative notion of causality when multiple
causes may over-determine an outcome.
      </p>
      <p>
        Model-based diagnosis
        <xref ref-type="bibr" rid="ref34">(Struss, 2008, sec. 10.3)</xref>
        , an area of
causes cancer”, which refer some sort of related events, actual
causation specifies a particular instantiation of a causal
relationship, e.g., “Joe’s smoking is a cause for his cancer”.
      </p>
      <p>
        2As discussed in
        <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi, 2015)</xref>
        , some objections
to the Halpern-Pearl model of causality and the corresponding
changes
        <xref ref-type="bibr" rid="ref20 ref21">(Halpern, 2014, 2015)</xref>
        do not affect results in the
context of databases.
knowledge representation, addresses the problem of, given
the specification of a system in some logical formalism and
a usually unexpected observation about the system,
obtaining explanations for the observation, in the form of a
diagnosis for the unintended behavior. Since this and
causality are related to explanations, a first connection between
causality and consistency-based diagnosis
        <xref ref-type="bibr" rid="ref31">(Reiter, 1987)</xref>
        , a
form of model-based diagnosis, was established in
        <xref ref-type="bibr" rid="ref32 ref33 ref5">(Salimi
&amp; Bertossi, 2014, 2015)</xref>
        : Causality and the responsibility
problem can be formulated as consistency-based diagnosis
problems, which allowed to extend the results in
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou
et al., 2010a)</xref>
        . However, no precise connection has been
established so far between causality and abductive diagnosis
        <xref ref-type="bibr" rid="ref10 ref13 ref9">(Console et al., 1991; Eiter &amp; Gottlob, 1995)</xref>
        , another form
of model-based diagnosis.
      </p>
      <p>
        The definition of causality for query answers applies to
monotone queries
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou et al., 2010a,b)</xref>
        . However, all
complexity and algorithmic results in
        <xref ref-type="bibr" rid="ref25 ref26 ref33">(Meliou et al., 2010a;
Salimi &amp; Bertossi, 2015)</xref>
        have been restricted to first-order
(FO) monotone queries. Other important classes of
monotone queries, such as Datalog queries
        <xref ref-type="bibr" rid="ref1 ref7">(Ceri et al., 1989;
Abiteboul et al., 1995)</xref>
        , possibly with recursion, require
further investigation.
      </p>
      <p>
        In
        <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi, 2015)</xref>
        connections were established
between query causality, database repairs
        <xref ref-type="bibr" rid="ref4 ref5">(Bertossi, 2011)</xref>
        ,
and consistency-based diagnosis. In particular, complexity
results for several causality problems were obtained from
the repair connection. In the line of this kind of research,
in this work we unveil natural connections between
actual causation and abductive diagnosis, and also the
viewupdate problem in databases (more on this latter connection
later in the section).
      </p>
      <p>
        As opposed to consistency-based diagnoses, which is
usually practiced with FO specifications, abductive diagnosis
is commonly performed under a logic programming (LP)
approach (in the general sense of LP) to knowledge
representation
        <xref ref-type="bibr" rid="ref12 ref14 ref16 ref17">(Denecker &amp; Kakas, 2002; Eiter et al., 1997;
Gottlob et al., 2010b)</xref>
        . Since Datalog can be seen as a form
of LP, we manage to extend and formulate the notion of
query-answer causality to Datalog queries via the
abductive diagnosis connection, in this way extending causality
to a new class of queries, e.g. recursive queries, and
obtaining complexity results on causality for them.
      </p>
      <p>
        Abductive reasoning/diagnosis has been applied to the view
update problem in databases
        <xref ref-type="bibr" rid="ref11 ref22">(Kakas &amp; Mancarella, 1990;
Console et al., 1995)</xref>
        , which is about characterizing and
computing updates of physical database relations that give
an account of (or have as result) the intended updates on
views. The idea is that abductive diagnosis provides
(abduces) the reasons for the desired view updates, and they
are given as changes on base tables.
      </p>
      <p>
        In this work we also explore fruitful connections of
causality with this view-update problem
        <xref ref-type="bibr" rid="ref1">(Abiteboul et al., 1995)</xref>
        ,
i.e. about updating a database through views. An
important aspect of the problem is that one want the base, source
database, i.e. the base relations, to change in a minimally
way while still producing the view updates. Put in
different terms, it is an update propagation problem, from views
to base relations. This classical and important problem in
databases.
      </p>
      <p>
        The delete-propagation problem
        <xref ref-type="bibr" rid="ref23 ref23 ref24 ref24 ref6">(Buneman et al., 2002;
Kimelfeld, 2012; Kimelfeld et al., 2012)</xref>
        is a particular case
of the view-update problem where only tuple deletions are
allowed on/from the views. If the views are defined by
monotone queries, only database deletions can give an
account of view deletions. So, in this case, a minimal set (in
some sense) of deletions from the base relations is expected
to be performed. This is “minimal source-side-effect” case.
It is also possible to consider minimizing the side-effect on
the view, which also requires that other tuples in the
(virtual) view contents are not affected (deleted)
        <xref ref-type="bibr" rid="ref6">(Buneman et
al., 2002)</xref>
        .
      </p>
      <p>
        In this work we provide a precise connection between
different variants of the delete-propagation problem and query
causality. In particular, we show that the minimal
sourceside-effect problem is related to the most-responsible cause
problem, which was formulated and investigated in
        <xref ref-type="bibr" rid="ref33">(Salimi
&amp; Bertossi, 2015)</xref>
        ; and also that the “minimal view
sideeffect problem” is related to view-conditioned causality we
already mentioned above.
      </p>
      <p>The established connections between abductive diagnoses,
query causality and delete-propagation problems allow us
to adopt (and possibly adapt) established results for some
of them for application to the others. In this way we obtain
some new complexity results.</p>
      <p>More precisely, our main results are as follows:3
1. We establish precise connections between causality
for Datalog queries and abductive diagnosis. More
precisely, we establish mutual characterizations of
each in terms of the other, and computational
reductions, between actual causes for Datalog queries and
abductive diagnosis from Datalog specifications.
We profit from these connections to obtain new
algorithmic and complexity results for each of the two
problems separately.
(a) We characterize and obtain causes in terms
ofand from abductive diagnoses.
(b) We show that deciding tuple causality for
Datalog queries, possibly recursive, is NP-complete
in data.</p>
      <p>(c) We identify a class of Datalog queries for which
deciding causality is tractable in combined
complexity.
2. We establish and profit from precise connections
between delete-propagation and causality. More
precisely, we show that:
(a) Most-responsible causes and view-conditioned
causes can obtained from solutions to different
variants of the delete-propagation problem and
vice-versa.
(b) Computing the size of the solution to a
minimum source-side-effect problem is hard for
F P NP(log(n)).
(c) Deciding weather an answer has a
viewconditioned cause is NP-complete.
(d) We can identify some new classes of queries for
which computing minimum source-side-effect
delete-propagation is tractable.
1</p>
      <p>PRELIMINARIES AND CAUSALITY
DECISION PROBLEMS
We consider relational database schemas of the form S =
(U, P ), where U is the possibly infinite database domain
and P is a finite set of database predicates4 of fixed arities.
A database instance D compatible with S can be seen as
a finite set of ground atomic formulas (in databases aka.
atoms or tuples), of the form P (c1, ..., cn), where P ∈ P
has arity n, and the constants c1, . . . , cn ∈ U .</p>
      <p>A conjunctive query (CQ) is a formula Q(x¯) of the
firstorder (FO) language L(S) associated to S of the form
∃y¯(P1(s¯1) ∧ · · · ∧ Pm(s¯m)), where the Pi(s¯i) are atomic
formulas, i.e. Pi ∈ P , and the s¯i are sequences of terms,
i.e. variables or constants of U . The x¯ in Q(x¯) shows all
the free variables in the formula, i.e. those not appearing in
y¯. A sequence c¯ of constants is an answer to query Q(x¯) if
D |= Q[c¯], i.e. the query becomes true in D when the
variables are replaced by the corresponding constants in c¯. We
denote the set of all answers to an open conjunctive query
Q(x¯) with Q(D).</p>
      <p>A conjunctive query is boolean (a BCQ), if x¯ is empty, i.e.
the query is a sentence, in which case, it is true or false in
D, denoted by D |= Q and D |= Q, respectively. When Q
is a BCQ, or contains no free variables, Q(D) = {yes } if
Q is true, and Q(D) = ∅, otherwise.</p>
      <p>
        A query Q is monotone if for every two instances D 1 ⊆
D2, Q(D1) ⊆ Q(D2), i.e. the set of answers grows
monotonically with the instance. For example, CQs and unions
of CQ (UCQs) are monotone queries. Datalog queries
        <xref ref-type="bibr" rid="ref1 ref7">(Ceri
et al., 1989; Abiteboul et al., 1995)</xref>
        , although not FO, are
also monotone (cf. Section 1.1 for more details).
      </p>
      <p>4As opposed to built-in predicates (e.g. =) that we assume do
not appear, unless explicitly stated otherwise.
In the rest of this work, unless otherwise stated, we will
assume that a database instance D is split in two disjoint
sets, D = Dn ∪ Dx, where Dn and Dx denote the sets of
endogenous and exogenous tuples, respectively; and Q is a
monotone query.</p>
      <p>Definition 1.1. A tuple τ ∈ Dn is a counterfactual cause
for an answer a¯ to Q in D if D |= Q(a¯) and D {τ } |=
Q(a¯). A tuple τ ∈ Dn is an actual cause for a¯ if there
exists Γ ⊆ Dn, called a contingency set, such that τ is a
counterfactual cause for a¯ in D Γ.</p>
      <p>Causes(D, Q(a¯)) denotes the set of actual causes for a¯.
This set is non-empty on the assumption that Q(a¯) is true in
D. When the query Q is boolean, Causes (D, Q) contains
the causes for the answer yes in D.</p>
      <p>The definition of query-answer causality can be applied
without any conceptual changes to Datalog queries. In the
case of a Datalog, the query Q(x¯) is a whole program Π
that accesses an underlying extensional database E that is
not part of the query. Program Π contains a rule that
defines a top answer-collecting predicate Ans(x¯). Now, a¯ is
an answer to query Π on E when Π ∪ E |= Ans(a¯). Here,
entailment (|=) means that the RHS belongs to the minimal
model of the LHS. A Datalog query is boolean if the top
answer-predicate is propositional, say ans . In the case of
Datalog, we sometimes use the notation Causes (E, Π(a¯))
or Causes(E, Π), depending on whether Π has a Ans(x¯)
or ans as answer predicate, resp.</p>
      <p>Given a τ ∈ Causes (D, Q(a¯)), we collect all
subsetminimal contingency sets associated with τ :
Cont (D, Q(a¯), τ ) := {Λ ⊆ Dn | D</p>
      <p>D
∀Λ</p>
      <p>Λ |= Q(a¯),
(Λ ∪ {τ }) |= Q(a¯), and
Λ, D (Λ ∪ {τ }) |= Q(a¯)}.</p>
      <p>The responsibility of actual cause τ for answer a¯, denoted
ρQ(a¯)(τ ), is (|Γ|1+1) , where |Γ| is the size of the smallest
contingency set for τ . Responsibility can be extend to all
tuples in Dn by setting their value to 0, and they are not
actual causes for Q.</p>
      <p>Example 1.1. Consider a database D with relations
Author(Name,Journal) and Journal(JName,Topic,#Paper), and
contents as below:</p>
      <p>Author</p>
      <p>Name
Joe
John
Tom
John</p>
      <p>JName
TKDE
TKDE
TKDE
TODS</p>
      <p>Journal</p>
      <p>JName
TKDE
TKDE
TODS</p>
      <p>Topic
XML
CUBE
XML
#Paper
30
31
32</p>
    </sec>
    <sec id="sec-2">
      <title>Consider the conjunctive query:</title>
      <p>Q(Name, Topic) : ∃Journal JName #Paper(Author(Name,JName)
∧ Journal(JName,Topic,#Paper), (1)
which has the following answers:
Q(D)</p>
      <p>Name
Joe
Joe
Tom
Tom
John
John
Assume John, XML is an unexpected answer to Q, and
we want to compute its causes assuming that all tuples are
endogenous.</p>
      <p>It turns out that Author(John, TODS) is an actual cause,
with contingency sets Γ1 = {Author(John, TKDE)}
and Γ2={Journal(TKDE, XML, 32)}, because
Author(John, TODS) is a counterfactual cause for
answer John, XML in both of D Γ1 and D Γ2.
Therefore, the responsibility of Author(John, TODS) is 12 .
Likewise, Journal(TKDE, XML, 32), Author(John, TKDE),
Journal(TODS,XML, 32) are actual causes for John, XML
with responsibility 12 .</p>
      <p>Now, under the assumption that the tuples in Journal
are the endogenous tuples, the only actual causes
for answer John, XML are Author(John, TKDE) and
Author(John, TODS).</p>
      <p>A Datalog query Q(x¯) is a whole program Π consisting
of positive rules that accesses an underlying extensional
database E that is not part of the query. Program Π
contains a rule that defines a top answer-collecting
predicate Ans(x¯), by means of a rule of the form Ans(x¯) ←
P1(s¯1), . . . , Pm(s¯m). Now, a¯ is an answer to query Π on
E when Π ∪ E |= Ans(a¯). Here, entailment (|=) means
that the RHS belongs to the minimal model of the LHS.
So, the extension Ans(D) of Ans in the minimal model of
the program contains the answers to the query.</p>
      <p>
        A Datalog query is boolean if the top answer-predicate is
propositional, say ans , i.e. defined by a rule of the form
ans ← P1(s¯1), . . . , Pm(s¯m). In this case, the query is true
if Π∪D |= ans , equivalently, if ans belongs to the minimal
model of Π ∪ E
        <xref ref-type="bibr" rid="ref1 ref7">(Ceri et al., 1989; Abiteboul et al., 1995)</xref>
        .
CQs can be expressed as Datalog queries, e.g. (1) becomes:
AnsQ(Name, Topic)
←−
      </p>
      <p>Author(Name,JName),</p>
      <p>Journal(JName,Topic,#Paper).</p>
      <p>
        The definition of query-answer causality can be
applied without any conceptual changes to Datalog queries.
In the case of Datalog, we sometimes use the
notation Causes(E, Π(a¯)) or Causes(E, Π), depending on
whether Π has a Ans(x¯) or ans as answer predicate, resp.
In
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou et al., 2010a)</xref>
        , causality for non-query answers
is defined on basis of sets of potentially missing tuples that
account for the missing answer. Computing actual causes
and their responsibilities for non-answers becomes a rather
simple variation of causes for answers. In this work we
focus on causality for query answers.
      </p>
      <p>
        The complexity of the computational and decision
problems that arise in query causality have been investigated in
        <xref ref-type="bibr" rid="ref25 ref26 ref33">(Meliou et al., 2010a; Salimi &amp; Bertossi, 2015)</xref>
        . Here we
present some problems and results that we use throughout
this paper. The first is the causality problem, about
deciding whether a tuple is an actual cause for a query answer.
Definition 1.2. For a boolean monotone query Q, the
causality decision problem (CDP) is (deciding about
membership of):
{(D, τ ) | τ
∈
      </p>
      <p>
        Dn, and τ
∈
This problem is tractable for UCQs
        <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi,
2015)</xref>
        . The next is the responsibility problem, about
deciding responsibility (above a given bound) of a tuple for a
query result.
      </p>
      <p>Definition 1.3. For a boolean monotone query Q, the
responsibility decision problem (RDP) is (deciding about
membership of):
RDP (Q) = {(D, τ, v) | τ ∈ Dn, v ∈ {0} ∪</p>
      <p>{ k1 | k ∈ N+}, D |= Q and ρQ(τ ) &gt; v}.</p>
      <p>
        This problem is NP-complete for UCQs
        <xref ref-type="bibr" rid="ref33">(Salimi &amp;
Bertossi, 2015)</xref>
        , but tractable for linear CQs
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou et
al., 2010a)</xref>
        . Roughly speaking, a CQ is linear if its atoms
can be ordered in a way that every variable appears in
a continuous sequence of atoms that does not contain a
self-join (i.e. a join involving the same predicate), e.g.
∃xvyu(A(x) ∧ S1(x, v) ∧ S2(v, y) ∧ R(y, u) ∧ S3(y, z))
is linear, but not ∃xyz(A(x) ∧ B(y) ∧ C(z) ∧ W (x, y, z)),
for which RDP is NP-complete. The class of CQs for which
RDP is tractable can be extended to weakly linear.5
The functional, non-decision version of RDP, about
computing the responsibility, i.e. an optimization problem, is
complete for FP NP(log(n)) for UCQs
        <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi,
2015)</xref>
        .
      </p>
      <p>Finally, we have the problem of deciding weather a tuple is
a most responsible cause:
Definition 1.4. For a boolean monotone query Q, the most
responsible cause decision problem (MRDP) is:
MRCD(Q) = {(D, τ ) | τ ∈ Dn and</p>
      <p>0 &lt; ρQ(τ ) is a maximum for D}.</p>
      <p>
        For UCQs this problem is complete for P NP(log(n))
        <xref ref-type="bibr" rid="ref33">(Salimi
&amp; Bertossi, 2015)</xref>
        .
1.2
      </p>
      <sec id="sec-2-1">
        <title>VIEW-CONDITIONED CAUSALITY</title>
        <p>
          A form of conditional causality was informally introduced
in
          <xref ref-type="bibr" rid="ref25 ref26">(Meliou et al., 2010b)</xref>
          , to characterize causes for a query
answer that are conditioned by the other answers to the
query. The notion was made precise in
          <xref ref-type="bibr" rid="ref27">(Meliou et al.,
2011)</xref>
          , in a more general, non-relational setting that in
particular includes the case of several queries. In them the
notion of view-conditioned causality was used, and we adapt
5Computing sizes of minimum contingency sets is reduced to
the max-flow/min-cut problem in a network.
it in the following to the case of a single query, possibly
with several answers.
        </p>
        <p>Consider an instance D = Dn ∪ Dx, and a monotone
query Q with Q(D) = {a¯1, . . . a¯n}. Fix an answer, say
a¯k ∈ Q(D), while the other answers will be used as a
condition on a¯k’s causality. Intuitively, a¯k is somehow
unexpected, and we look for causes, by considering the other
answers as “correct”. The latter assumption has, in
technical terms, the effect of reducing the spectrum of
contingency sets, by keeping Q(D)’s extension fixed, as a view,
modulo the answer a¯k at hand.</p>
        <p>Definition 1.5. (a) A tuple τ ∈ Dn is called a
viewconditioned counterfactual cause (VCC-cause) for
answer a¯k to Q if D {τ } |= Q(a¯k) and D {τ } |=
Q(a¯i), for i ∈ {1, . . . , n} {k}.
(b) A tuple τ ∈ Dn is an view-conditioned actual cause
(VC-cause) for a¯k if there exists a contingency set, Γ ⊆
Dn, such τ is a VCC-cause for a¯k in D Γ.
(c) vc-Causes(D, Q(a¯k)) denotes the set of all VC causes
for a¯k.</p>
        <p>Intuitively, a tuple τ is a VC-cause for a¯k if there is a
contingent state of the database that entails all the answers to
Q and τ is a counterfactual cause for a¯k, but not for the
rest of the answers. Obviously, VC-causes for a¯k are also
actual causes, but not necessarily the other way around:
vc-Causes(D, Q(ak)) ⊆ Causes (D, Q(ak)).</p>
        <p>Example 1.2. (ex. 1.1 cont.) Consider the same instance
D, query Q, and the answer John, XML , which does not
have any VC-cause. To see this, take for example, the tuple
Author(John, TODS) that is an actual cause for John, XML ,
with two contingency sets, Γ1 and Γ2. It is easy to verify
that none of these contingency sets satisfies the condition
in Definition 1.5, e.g. the original answer John, CUBE is
not such anymore from D Γ1. The same argument can
be applied to all actual causes for John, XML .</p>
        <p>This example shows that it makes sense to study the
complexity of deciding whether a query answer has a VC-actual
cause or not.</p>
        <p>Definition 1.6. For a monotone query Q, the
viewconditioned cause problem is (deciding about membership
of):
V CP(Q) = {(D, a¯) | a¯ ∈ Q(D) and</p>
        <p>vc-Causes(D, Q(a¯)) = ∅ }.
2</p>
        <sec id="sec-2-1-1">
          <title>CAUSALITY AND ABDUCTION</title>
          <p>
            In general logical terms, an abductive explanation of an
observation is a formula that, together with the background
logical theory, entails the observation. So, one could see an
abductive explanation as a cause for the observation.
However, it has been argued that causes and abductive
explanations are not necessarily the same
            <xref ref-type="bibr" rid="ref12 ref28">(Psillos, 1996; Denecker
&amp; Kakas, 2002)</xref>
            .
          </p>
          <p>
            Under the abductive approach to diagnosis
            <xref ref-type="bibr" rid="ref10 ref13 ref29 ref30 ref9">(Console et al.,
1991; Eiter &amp; Gottlob, 1995; Poole, 1992, 1994)</xref>
            , it is
common that the system specification rather explicitly describes
causality information, specially in action theories where the
effects of actions are directly represented by Horn
formulas. By restricting the explanation formulas to the
predicates describing primitive causes (action executions), an
explanation formula which entails an observation gives also
a cause for the observation
            <xref ref-type="bibr" rid="ref12">(Denecker &amp; Kakas, 2002)</xref>
            . In
this case, and is some sense, causality information is
imposed by the system specifier
            <xref ref-type="bibr" rid="ref29">(Poole, 1992)</xref>
            .
          </p>
          <p>In database causality we do not have, at least not initially, a
system description,6 but just a set of tuples. It is when we
pose a query that we create something like a description,
and the causal relationships between tuples are captured by
the combination of atoms in the query. If the query is a
Datalog query (in particular, a CQ), then we have a Horn
specification too.</p>
          <p>In this section we will establish connections between
abductive diagnosis and database causality.7 For that, we have
to be more precise about the kind of abduction problems we
will consider.
2.1</p>
          <p>
            BACKGROUND ON DATALOG ABDUCTIVE
DIAGNOSIS
A Datalog abduction problem
            <xref ref-type="bibr" rid="ref14">(Eiter et al., 1997)</xref>
            is of
the form AP = Π, E, Hyp, Obs , where: (a) Π is a
set of Datalog rules, (b) E is a set of ground atoms (the
extensional database), whose predicates do not appear in
heads of rules in Π, (c) Hyp, the hypothesis, is a finite set
of ground atoms, the abducible atoms in this case, 8 and
(d) Obs, the observation, is a finite conjunction of ground
atoms. As it is common, we will start with the assumption
that Π ∪ E ∪ Hyp |= Obs.
          </p>
          <p>
            The abduction problem is about computing a minimal Δ ⊆
Hyp (under certain minimality criterion), such that Π ∪ E ∪
Δ |= Obs. More specifically:
Definition 2.1. Consider a Datalog abduction problem
AP = Π, E, Hyp, Obs
(a) An abductive diagnosis (or simply, a solution) for AP
is a subset-minimal Δ ⊆ Hyp, such that Π ∪ E ∪ Δ |=
Obs. This requires that no proper subset of Δ has this
6Having integrity constraints would go in that direction, but
we are not considering their presence in this work. However, see
            <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi, 2015, sec. 5)</xref>
            for a consistency-based
diagnosis connection.
          </p>
          <p>
            7In
            <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi, 2015)</xref>
            we established such a
connection between another form of model-based diagnosis
            <xref ref-type="bibr" rid="ref34">(Struss,
2008)</xref>
            , namely consistency-based diagnosis
            <xref ref-type="bibr" rid="ref31">(Reiter, 1987)</xref>
            . For
relationships and comparisons between consistency-based and
abductive diagnosis see
            <xref ref-type="bibr" rid="ref10 ref9">(Console et al., 1991)</xref>
            .
          </p>
          <p>8It is common to accept as hypothesis all the possible ground
instantiations of abducible predicates. We assume abducible
predicates do not appear in rule heads.
property. Sol (AP ) denotes the set of abductive
diagnoses for problem AP.
(b) A hypothesis h ∈ Hyp is relevant for AP if h
contained in at least one diagnosis of AP. Rel (AP )
collects all relevant hypothesis for AP .</p>
          <p>We are interested in deciding, for a fixed Datalog program,
if an hypothesis is relevant or not, with all the data as input.
More precisely, we consider the following decision
problem.</p>
          <p>Definition 2.2. Given a Datalog program Π, the relevance
decision problem (RLDP) for Π is (deciding about the
membership of):
RLDP (Π) = {(E , Hyp, Obs , h) | h ∈ Rel (AP ), with</p>
          <p>AP = Π, E, Hyp, Obs and h ∈ Hyp}.</p>
          <p>As it is common, we will assume that |Obs |, i.e. the number
of atoms in the conjunction, is bounded above by a
numerical parameter p. It is common that p = 1 (a single atomic
observation).</p>
          <p>Definition 2.2 suggests that we are interested in the data
complexity of the relevance problem for Datalog abduction.
That is, the Datalog program is fixed and hypotheses and
input structure may change and maybe regarded as data.
In contrast, under combined complexity the program is also
part of the input, and the complexity is measured also in
terms of the program size.</p>
          <p>
            The following result is obtained by showing that the NP
complete combined complexity of the relevance problem
for Propositional Datalog Abduction (PDA) (established in
            <xref ref-type="bibr" rid="ref15">(Friedrich et al., 1990)</xref>
            ), coincides with the data complexity
of the relevance problem for (non-propositional) Datalog
Abduction. For this, techniques developed in
            <xref ref-type="bibr" rid="ref14">(Eiter et al.,
1997)</xref>
            can be used.
          </p>
          <p>
            Proposition 2.1. For every Datalog program
RLDP (Π) ∈ NP , and there are programs Π
which RLDP (Π ) is NP-hard.
Π,
for
It is clear from this result that the combined complexity
of deciding relevance for Datalog abduction is also
intractable. However, a tractable case of combined
complexity is identified in
            <xref ref-type="bibr" rid="ref16 ref17">(Gottlob et al., 2010b)</xref>
            , on the basis of
the notions of tree-decomposition and bounded tree-width,
which we now briefly present.
          </p>
          <p>Let H = V, H be a hypergraph. V is the set of vertices,
and H the set of hyperedges, i.e. of subsets of V . A
treedecomposition T of H is a pair (T , λ), where T = N, E
is a tree and λ is a labeling function that assigns to each
node n ∈ N , a subset λ(n) of V (λ(n) is aka. bag), i.e.
λ(n) ⊆ V , such that, for every node n ∈ N , the following
hold: (a) For every v ∈ V , there exists n ∈ N with
v ∈ λ(n). (b) For every h ∈ H, there exists a node n ∈ N
John
Joe
TKDE</p>
          <p>XML
Tom
(a)</p>
          <p>CUBE
30
32
31</p>
          <p>John, TODS, TKDE, XML, 30, 32
Joe, TKDE Tom, TKDE</p>
          <p>TKDE, CUBE, 31
(b)
with h ⊆ λ(n). (c) For every v ∈ V , the set of nodes
{n | v ∈ λ(n)} induces a connected subtree of T .
The width of a tree decomposition (T , λ) of H = V, H ,
with T = N, E , is defined as max {|λ(n)|−1 : n ∈ N }.
The tree-width tw(H) of H is the minimum width over all
its tree decompositions.</p>
          <p>
            Intuitively, the tree-width of a hypergraph H is a measure
of the “tree-likeness” of H. A set of vertices that form a
cycle in H are put into a same bag, which becomes (the
bag of a) node in the corresponding tree-decomposition.
If the tree-width of the hypergraph under consideration
is bounded by a fixed constant, then many otherwise
intractable problems become tractable
            <xref ref-type="bibr" rid="ref16 ref17 ref25 ref26">(Gottlob et al., 2010a)</xref>
            .
It is possible to associate an hypergraph to any finite
structure D (think of a relational database): If its universe
(the active domain in the case of a relational database) is
V , define the hypergraph H(D) = (V, H), with H =
{ {a1, . . . , an} | D contains a ground atom P (a1 . . . an)
for some predicate symbol P }.
          </p>
          <p>Example 2.1. Consider instance D in Example 1.1.
The hypergraph H(D) associated to D is shown in
Figure 1(a). Its vertices are the elements of adom (D) =
{John, Jone, Tom, TODS , TKDE , XML, Cube, 30 , 31 ,
32 }, the active domain of D. For example, since
Journal (TKDE , XML, 30 ) ∈ D, {TKDE , XML, 30 } is
one of the hyperedges.</p>
          <p>The dashed ovals show four sets of vertices, i.e.
hyperedges, that together form a cycle. Their elements are put
into the same bag of the tree-decomposition. Figure 1(b)
shows a possible tree-decomposition of H(D). In it, the
maximum |λ(n)| − 1 is 6 − 1, corresponding to the top box
bag of the tree. So, tw(H(D)) ≤ 5.</p>
          <p>The following is a fixed-parameter tractability result for
the relevance decision problem for Datalog abduction
problems with a program Π that is guarded, which means that
in every rule body there is an atom that contains (guards)
all the variables appearing in that body.</p>
          <p>
            Theorem 2.2.
            <xref ref-type="bibr" rid="ref16 ref17">(Gottlob et al., 2010b)</xref>
            Let k be an
integer. For Datalog abduction problems AP =
Π, E, Hyp, Obs where Π is guarded, and tw(H(E)) ≤ k,
relevance can be decided in polynomial time in |AP |. 9
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>9This is Theorem 7.9 in (Gottlob et al., 2010b).</title>
      <p>More precisely, the decision problem: RLDP =
{( Π, E , Hyp, Obs , h) | h ∈ Rel ( Π, E , Hyp, Obs ), h ∈
Hyp, Π is guarded, and tw(H(E)) ≤ k} is tractable.
This is a case of tractable combined complexity with a fixed
parameter that is the tree-width of the extensional database.
In this section we first show that, for the class of Datalog
theories (system specifications), abductive inference
corresponds to actual causation for monotone queries. That is,
abductive diagnoses for an observation essentially contain
actual causes for the observation.</p>
      <p>Assume that Π is a boolean, possibly recursive Datalog
query. Consider the relational instance D = D x ∪ Dn.
Also assume that Π ∪ D |= ans . So, the decision problem
in Definition 1.2 takes the form CDP(Π) := {(D, τ ) | τ ∈
Dn, and τ ∈ Causes(D, Π)}.</p>
      <p>We now show that actual causes for ans can be obtained
from abductive diagnoses of the associated causal Datalog
abduction problem (CDAP): AP c := Π, Dx, Dn, ans ,
where Dx is the extensional database for Π (and then Π ∪
Dx becomes the background theory), D n becomes the set
of hypothesis, and atom ans is the observation.</p>
      <p>Proposition 2.3. t ∈ Dn is an actual cause for ans iff
t ∈ Rel (AP c).</p>
      <p>Example 2.2. Consider the instance D with relations R
and S as below, and the query Π : ans ← R(x, y), S(y),
which is true in D. Assume all tuples are endogenous.</p>
      <p>R</p>
      <p>X
AP c = Π, ∅, D, ans has two (subset-minimal)
abductive diagnoses: Δ1 = {S(a1), R(a2, a1)} and Δ2 =
{S(a3), R(a3, a3)}. Then, Rel (AP c) = {S(a3),
R(a3, a3), S(a1), R(a2, a1)}. It is easy to see that the
relevant hypothesis are actual causes for ans .</p>
      <p>We are interested in obtaining responsibilities of actual
causes for ans .</p>
      <p>Definition 2.3. Given a CDAP, AP c = Π, Dx, Dn, ans ,
with Sol (AP c) = ∅, N ⊆ Dn is a necessary-hypothesis
set if N is subset-minimal such that Sol (AP cN ) = ∅, with
AP cN := Π, Dx, Dn N, ans .</p>
      <p>Proposition 2.4. The responsibility of a tuple t for ans is
|N1 | , where N is a necessary-hypothesis set with minimum
cardinality for AP c and t ∈ N .</p>
      <p>In order to represent Datalog abduction in terms of
queryanswer causality, we show that abductive diagnoses from
Datalog programs are formed essentially by actual causes
for the observation.</p>
      <p>More precisely, consider a Datalog abduction problem
AP = Π, E, Hyp, Obs , where E is the underlying
extensional database, and Obs is a conjunction of ground atoms.
Now we construct a query-causality setting: D := D x ∪
Dn, Dx := E, and Dn := Hyp. Consider the program
Π := Π ∪ {ans ← Obs } (with ans a fresh propositional
atom). So, Π is seen as a monotone query on D.
Proposition 2.5. A hypothesis h is relevant for AP , i.e.
h ∈ Rel (AP ), iff h is an actual cause for ans wrt. Π , D.
Now we will use the results obtained so far in this section to
obtain new complexity results for Datalog query causality.
Actually, the following result is obtained from Propositions
2.1 and 2.3:
Proposition 2.6. For boolean Datalog queries Π, CDP(Π)
is NP-complete (in data).</p>
      <p>
        This result should be contrasted with the tractability of
same problem for UCQs
        <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi, 2015)</xref>
        .
We now introduce a fixed-parameter tractable case of this
problem. For this we take advantage of the tractable case of
Datalog abduction presented in Section 2.1. The following
is a consequence of Theorem 2.2 and Proposition 2.3.
Proposition 2.7. For guarded Datalog queries Π and a
extensional instances D = Dx ∪ Dn, with Dx of bounded
tree-width, CDP is fixed-parameter tractable in combined
complexity, with the parameter being the tree-width bound.
3
      </p>
      <sec id="sec-3-1">
        <title>VIEW-UPDATES AND QUERY CAUSALITY</title>
        <p>
          There is a close relationship between query causality and
the view-update problem in the form of delete-propagation,
which was first suggested in
          <xref ref-type="bibr" rid="ref23 ref23 ref24 ref24">(Kimelfeld, 2012; Kimelfeld
et al., 2012)</xref>
          (see also
          <xref ref-type="bibr" rid="ref6">(Buneman et al., 2002)</xref>
          ). We start by
formalizing some specific computational problems related
to the general delete-propagation problem.
3.1
        </p>
        <sec id="sec-3-1-1">
          <title>DELETE-PROPAGATION PROBLEMS</title>
          <p>
            Given a monotone query Q, we can think of it as defining a
view with virtual contents Q(D). If a¯ ∈ Q(D), which may
not be intended, we may try to delete some tuples from D,
so that a¯ disappears from Q(D). This is a common case of
the problem of database updates through views
            <xref ref-type="bibr" rid="ref1">(Abiteboul
et al., 1995)</xref>
            . In this work we consider some variations of
this problem, in both their functional and the decision
versions.
          </p>
          <p>Definition 3.1. For an instance D, and a monotone query
Q:
(a) For a¯ ∈ Q(D), the minimal source-side-effect problem
is about computing a subset-minimal Λ ⊆ D, such that
a¯ ∈/ Q(D Λ).
(b) The minimal source-side-effect decision problem is
(deciding about the membership of):
MSSE P s(Q) = {(D, D , a¯) | a¯ ∈ Q(D), D ⊆ D,
a¯ ∈ Q(D ), and D is subset-maximal}.</p>
          <p>
            (The superscript s stands for subset-minimal.)
(c) For a¯ ∈ Q(D), the minimum source side-effect
problem is about computing a minimum-cardinality Λ ⊆
D, such that a¯ ∈/ Q(D Λ).
(d) The minimum source side-effect decision problem is
(deciding about the membership of):
MSSE P c(Q) = {(D, D , a¯) | a¯ ∈ Q(D), D ⊆ D,
a¯ ∈/ Q(D ), and D has maximum cardinality}.
(Here c stands for minimum cardinality.)
Definition 3.2.
            <xref ref-type="bibr" rid="ref6">(Buneman et al., 2002)</xref>
            For an instance D,
and a monotone query Q:
(a) For a¯ ∈ Q(D), the view side-effect-free problem is
about computing a Λ ⊆ D, such that Q(D) {a¯} =
Q(D Λ).
(b) The view side-effect-free decision problem is (deciding
about the membership of):
V SE F P (Q) = {(D, a¯) | a¯ ∈ Q(D), and exists
          </p>
          <p>D ⊆ D with Q(D) {a¯} = Q(D )}.
3.2</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>VIEW DELETIONS VS. CAUSES</title>
          <p>In this section we first establish mutual reductions between
the different variants of the delete propagation problem
and both query and view-conditioned causality. On this
basis, we obtain next some complexity results for
viewconditioned causality and the minimum source-side-effect
problem.</p>
          <p>In this section all tuples in the instances involved are
assumed to be endogenous. Consider a relational database
D, a view V defined by a monotone query Q. So, the
virtual view extension, V (D), is Q(D).</p>
          <p>For a tuple a¯ ∈ V (D), the delete-propagation problem, in
its most general form, is the task of deleting a set of tuples
from D, and so obtaining a subinstance D of D, such that
a¯ ∈/ V (D ). It is natural to expect that the deletion of a¯
from the view can be achieved through deletions from D
of the causes for a¯ to be in the view extension. However,
to obtain solutions to the different variants of this problem
introduced in Section 3.1, different sets of actual causes
must be considered.</p>
          <p>First, we show that an actual cause for a¯ to be in V (D)
forms, with any of its contingency sets, a solution to the
minimal source-side-effect problem (cf. Definition 3.1).
Proposition 3.1. Consider an instance D, a view V defined
by a monotone query Q, and a¯ ∈ V (D): D ⊆ D is
a solution to the minimal source-side-effect problem, i.e.
(D, D , a¯) ∈ MSSE P s(Q), iff there is a t ∈ D D ,
such that t ∈ Causes (D, Q(a¯)) and D (D ∪ {t}) ∈
Cont (D, Q(a¯), t).</p>
          <p>Now we show that, in order to minimize the side-effect on
the source (cf. Definition 3.1(c)), it is good enough to pick
a most responsible cause for a¯ with any of its
minimumcardinality contingency sets.</p>
          <p>Proposition 3.2. Consider an instance D, a view V defined
by a monotone query Q, and a¯ ∈ V (D): D ⊆ D is
a solution to the minimum source-side-effect problem, i.e.
(D, D , a¯) ∈ MSSE P c(Q), iff there is a t ∈ D D ,
such that t ∈ MRC(D, Q(a¯)), Λ := D (D ∪ {t}) ∈
Cont (D, Q(a¯), t), and there is no Λ ∈ Cont (D, Q(a¯), t)
with |Λ | &lt; |Λ|.</p>
          <p>Next, we show that in order to check if there exists a
solution to the view side-effect-free problem for a¯ ∈ V (D)
(cf. Definition 3.2), it is good enough to check if a¯ has a
view-conditioned cause.10
Proposition 3.3. Consider an instance D, a view V defined
by a monotone query Q, and a¯ ∈ V (D): There is a solution
to the view side-effect-free problem for a¯, i.e. (D, a¯) ∈
V SE F P (Q), iff vc-Causes (D, Q(a¯)) = ∅.</p>
          <p>Example 3.1. (ex. 1.1 cont.) Consider the same instance
D, query Q, and answer John, XML .</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Consider the following sets of tuples:</title>
      <p>S1={ Author(John, TKDE), Journal(TODS, XML, 32)},
S2={ Author(John, TODS), Journal(TKDE, XML, 30)},
S3={ Journal(TODS, XML, 30), Journal(TKDE, XML, 30)},
S4={ Author(John, TODS), Author(John, TKDE)}.</p>
      <p>Each of the subinstances D Si, i = 1, . . . , 4, is a
solution to both the minimum and minimal source-side-effect
problems. These solutions essentially contain the actual
causes for answer John, XML , as computed in
Example 1.1. Moreover, there is no solution to the view
sideeffect-free problem associated to this answer, which
coincides with the result obtained in Example 1.2, and confirms
Proposition 3.3.</p>
      <p>Now we show, the other way around, that actual causes,
most responsible causes, and VC causes can be
obtained from solutions to different variants of the
deletepropagation problem.</p>
      <p>First, we show that actual causes for a query answer can be
obtained from the solutions to the corresponding minimal
source-side-effect problem.</p>
      <p>Proposition 3.4. Consider an instance D, a view V defined
by a monotone query Q, and a¯ ∈ V (D): Tuple t is an
actual cause for a¯ iff there is a D ⊆ D with t ∈ (D
D ) ⊆ Dn and (D, D , a¯) ∈ MSSE P s(Q).</p>
      <p>Similarly, most-responsible causes for a query answer can
be obtained from solutions to the corresponding minimum
source-side-effect problem.</p>
      <p>Proposition 3.5. Consider an instance D, a view V defined
by a monotone query Q, and a¯ ∈ V (D): Tuple t is a most
responsible actual cause for a¯ iff there is a D ⊆ D with
t ∈ (D D ) ⊆ Dn and (D, D , a¯) ∈ MSSE P c(Q).
Finally, VC-causes for an answer can obtained from
solutions to the view side-effect-free problem.</p>
      <p>Proposition 3.6. Consider an instance D, a view V defined
by a monotone query Q, and a¯ ∈ V (D): Tuple t is a
VCcause for a¯ iff there is a D ⊆ D with t ∈ (D D ) ⊆ Dn
and D is a solution to the view side-effect-free problem
associated to a¯.</p>
      <p>The partition of a database into endogenous and
exogenous tuples used in causality may also be of interest in the
context of delete propagation. It makes sense to consider
endogenous delete-propagation that are obtained through
deletions on endogenous tuples only. Actually, given an
instance D = Dn ∪ Dx, a view V defined by a monotone
query Q, and a¯ ∈ V (D), endogenous delete-propagations
for a¯ (in all of its flavors) can be obtained from actual
causes for a¯ from the partitioned instance.</p>
      <p>Example 3.2. (ex. 3.1 cont.) Consider again that
tuple John, XML must be deleted from the query
result; and assume now the data in Journal is reliable.
Therefore, only deletions from Author make sense. This
can be captured by considering Journal-tuples as
exogenous and Author-tuples as endogenous. With this
partitioning, only Author(John, TODS) and Author(John, TKDE)
are actual causes for John, XML , and each of them
forms a singleton and unique contingency set of the other
as a cause (See Exampleex:cfex1). Therefore, D
{Author(John, TODS), Author(John, TKDE)} is a solution to
the associated minimal- and minimum endogenous
deletepropagation of John, XML .</p>
      <p>
        We now investigate the complexity of the view-conditioned
causality problem (cf. Definition 1.6). For this, we take
advantage of the connection between VC-causality and the
view side-effect-free problem. Actually, the following
result is obtained from the NP-completeness of view
sideeffect-free problem
        <xref ref-type="bibr" rid="ref6">(Buneman et al., 2002)</xref>
        and Proposition
3.3.
      </p>
      <p>Proposition 3.7. For CQs, the view-conditioned causality
decision problem, V CP, is NP-complete.</p>
      <p>
        Actually, this result also holds for UCQs. The next result is
obtained from the FP NP(log(n))-completeness of
computing the responsibility of the most responsible causes
(obtained in
        <xref ref-type="bibr" rid="ref33">(Salimi &amp; Bertossi, 2015)</xref>
        ) and Proposition 3.2.
Proposition 3.8. Computing the size of a solution to
the minimum source-side-effect problem is FP
NP(log(n))hard.
      </p>
      <p>
        As mentioned in Section 1.1, responsibility computation
(more precisely the RDP problem in Definition 1.3) is
tractable for weakly linear queries. We can take
advantage of this result and obtain, via Proposition 3.2, a new
tractability result for the minimum source-side-effect
problem, which has been shown to be NP-hard for general CQs
in
        <xref ref-type="bibr" rid="ref6">(Buneman et al., 2002)</xref>
        .
      </p>
      <p>Proposition 3.9. For weakly linear queries, the minimum
source-side-effect decision problem is tractable.
The class of weakly linear queries generalizes that of linear
queries (cf. Section 1.1). So, Proposition 3.9 also holds for
linear queries.</p>
      <p>
        In
        <xref ref-type="bibr" rid="ref6">(Buneman et al., 2002)</xref>
        it has been shown that the
minimum source-side-effect decision problem is tractable for
the class of project-join queries with chain joins. Now, a
join on k atoms with different predicates, say R1, ..., Rk, is
a chain join if there are no attributes (variables) shared by
any two atoms Ri and Rj with j &gt; i + 1. That is, only
consecutive relations may share attributes. For example,
∃xvyu(A(x) ∧ S1(x, v) ∧ S2(v, y) ∧ R(y, u) ∧ S3(y, z)) is
a project-join query with chain joins.
      </p>
      <p>
        We observe that project-join queries with chain joins
correspond linear queries. Actually, the tractability results
for these classes of queries are both obtained via a
reduction to maximum flow problem
        <xref ref-type="bibr" rid="ref25 ref26 ref6">(Meliou et al., 2010a;
Buneman et al., 2002)</xref>
        . As a consequence, the result in
Proposition 3.9 extends that in
        <xref ref-type="bibr" rid="ref6">(Buneman et al., 2002)</xref>
        ,
from linear queries to weakly-linear queries. For
example, ∃xyz(R(x, y) ∧ S(y, z) ∧ T (z, x) ∧ V (x)) is not linear
(then, nor with chain joins), but it is weakly linear
        <xref ref-type="bibr" rid="ref25 ref26">(Meliou
et al., 2010a)</xref>
        .
4
      </p>
      <sec id="sec-4-1">
        <title>CONCLUSIONS</title>
        <p>
          We have related query causality to abductive diagnosis and
the view-update problem. Some connections between the
last two have been established before. More precisely, the
view-update problem has been treated from the point of
view of abductive reasoning
          <xref ref-type="bibr" rid="ref11 ref22">(Kakas &amp; Mancarella, 1990;
Console et al., 1995)</xref>
          . The idea is to “abduce” the
presence of tuples in the base tables that explain the presence
of those tuples in the view extension that one would like,
e.g. to get rid of.
        </p>
        <p>
          In combination with the results reported in
          <xref ref-type="bibr" rid="ref33">(Salimi &amp;
Bertossi, 2015)</xref>
          , we can see that there are deeper and
multiple connections between the areas of query causality,
abductive and consistency-based diagnosis, view updates, and
database repairs. Results for any of these areas can be
profitably applied to the others.11
We point out that database repairs are related to the
viewupdate problem. Actually, answer set programs (ASPs)
11Connections between consistency-based and abductive
diagnosis have been established, e.g. in
          <xref ref-type="bibr" rid="ref10 ref9">(Console &amp; Torasso, 1991)</xref>
          .
(Brewka et al., 2011) for database repairs
          <xref ref-type="bibr" rid="ref4 ref5">(Bertossi, 2011)</xref>
          implicity repair the database by updating conjunctive
combinations of intentional, annotated predicates. Those
logical combinations -views after all- capture violations of
integrity constraints in the original database or along the
(implicitly iterative) repair process (a reason for the use of
annotations).
        </p>
        <p>
          Even more, in
          <xref ref-type="bibr" rid="ref3">(Bertossi &amp; Li, 2013)</xref>
          , in order to protect
sensitive information, databases are explicitly and virtually
“repaired” through secrecy views that specify the
information that has to be kept secret. In order to protect
information, a user is allowed to interact only with the virtually
repaired versions of the original database that result from
making those views empty or contain only null values.
Repairs are specified and computed using ASP, and an explicit
connection to prioritized attribute-based repairs
          <xref ref-type="bibr" rid="ref4 ref5">(Bertossi,
2011)</xref>
          is made
          <xref ref-type="bibr" rid="ref3">(Bertossi &amp; Li, 2013)</xref>
          .
        </p>
        <p>
          Finally, we should note that abduction has also been
explicitly applied to database repairs
          <xref ref-type="bibr" rid="ref2">(Arieli et al., 2004)</xref>
          .
The idea, again, is to “abduce” possible repair updates that
bring the database to a consistent state.
        </p>
        <p>Acknowledgments: Research funded by NSERC
Discovery, and the NSERC Strategic Network on Business
Intelligence (BIN).</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Abiteboul</surname>
            ,
            <given-names>S. Hull R.</given-names>
          </string-name>
          , and Vianu V. Foundations of Databases. Addison-Wesley,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Arieli</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Denecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Nuffelen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bruynooghe</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Coherent Integration of Databases by Abductive Logic Programming</article-title>
          .
          <source>J. Artif. Intell. Res.</source>
          ,
          <year>2004</year>
          ,
          <volume>21</volume>
          :
          <fpage>245</fpage>
          -
          <lpage>286</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Bertossi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <article-title>Achieving Data Privacy through Secrecy Views and Null-Based Virtual Updates</article-title>
          .
          <source>IEEE Transaction on Knowledge and Data Engineering</source>
          ,
          <year>2013</year>
          ,
          <volume>25</volume>
          (
          <issue>5</issue>
          ):
          <fpage>987</fpage>
          -
          <lpage>1000</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Bertossi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <article-title>Database Repairing and Consistent Query Answering</article-title>
          . Morgan &amp; Claypool,
          <source>Synthesis Lectures on Data Management</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Bertossi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Salimi</surname>
            ,
            <given-names>B. Unifying</given-names>
          </string-name>
          <string-name>
            <surname>Causality</surname>
          </string-name>
          , Diagnosis, Repairs and View-Updates in Databases.
          <source>First International PODS-Workshop on Big Uncertain Data (BUDA</source>
          <year>2014</year>
          ). http://www.sigmod2014.org/buda/papers/p5.pdf Brewka,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Eiter</surname>
          </string-name>
          , Th. and
          <string-name>
            <surname>Truszczynski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Answer Set Programming at a Glance</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <year>2011</year>
          ,
          <volume>54</volume>
          (
          <issue>12</issue>
          ):
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Buneman</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khanna</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tan</surname>
          </string-name>
          , W. C.
          <article-title>On Propagation of Deletions and Annotations Through Views</article-title>
          .
          <source>Proc. PODS</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>150</fpage>
          -
          <lpage>158</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tanca</surname>
            ,
            <given-names>L. Logic</given-names>
          </string-name>
          <string-name>
            <surname>Programming</surname>
          </string-name>
          and Databases. Springer,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Chockler</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J. Y.</given-names>
          </string-name>
          <string-name>
            <surname>Responsibility</surname>
          </string-name>
          and
          <string-name>
            <surname>Blame: A Structural-Model Approach</surname>
          </string-name>
          .
          <source>J. Artif. Intell. Res.</source>
          ,
          <year>2004</year>
          ,
          <volume>22</volume>
          :
          <fpage>93</fpage>
          -
          <lpage>115</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Console</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Torasso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,.
          <article-title>A Spectrum of Logical Definitions of Model-Based Diagnosis</article-title>
          . Comput. Intell.,
          <year>1991</year>
          ,
          <volume>7</volume>
          :
          <fpage>133</fpage>
          -
          <lpage>141</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Console</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theseider-Dupre</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Torasso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>On the Relationship between Abduction and Deduction</article-title>
          .
          <source>J. Log. Comput.</source>
          ,
          <year>1991</year>
          ,
          <volume>1</volume>
          (
          <issue>5</issue>
          ):
          <fpage>661</fpage>
          -
          <lpage>690</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Console</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sapino</surname>
            <given-names>M. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theseider-Dupre</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>The Role of Abduction in Database View Updating</article-title>
          . J.
          <string-name>
            <surname>Intell</surname>
          </string-name>
          . Inf. Syst.,
          <year>1995</year>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <fpage>261</fpage>
          -
          <lpage>280</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Denecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>and Kakas A. C.</surname>
          </string-name>
          <article-title>Abduction in Logic Programming</article-title>
          .
          <source>In Computational Logic: Logic Programming and Beyond</source>
          ,
          <year>2002</year>
          , LNCS 2407, pp.
          <fpage>402</fpage>
          -
          <lpage>436</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>The Complexity of Logic-Based Abduction</article-title>
          .
          <source>J. ACM</source>
          ,
          <year>1995</year>
          ,
          <volume>42</volume>
          (
          <issue>1</issue>
          ):
          <fpage>3</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <article-title>Abduction from Logic Programs: Semantics and Complexity</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <year>1997</year>
          ,
          <volume>189</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>129</fpage>
          -
          <lpage>177</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Friedrich</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
          </string-name>
          . G. and
          <string-name>
            <surname>Nejdl</surname>
          </string-name>
          , W. Hypothesis Classification,
          <article-title>Abductive Diagnosis and Therapy</article-title>
          .
          <source>Proc. Internat. Workshop on Expert Systems in Engineering</source>
          ,
          <year>1990</year>
          , LNCS 462, pp.
          <fpage>69</fpage>
          -
          <lpage>78</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wei</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Bounded Treewidth as a Key to Tractability of Knowledge Representation And Reasoning</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <year>2010a</year>
          ,
          <volume>174</volume>
          (
          <issue>1</issue>
          ):
          <fpage>105132</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wei</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Tractable Database Design and Datalog Abduction through Bounded Treewidth</article-title>
          . Inf. Syst.,
          <year>2010b</year>
          ,
          <volume>35</volume>
          (
          <issue>3</issue>
          ):
          <fpage>278</fpage>
          -
          <lpage>298</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Pearl</surname>
          </string-name>
          ,
          <source>J. Causes and Explanations: A StructuralModel Approach: Part 1 Proc. UAI</source>
          ,
          <year>2001</year>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>202</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>Y. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pearl</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Causes</surname>
          </string-name>
          and
          <article-title>Explanations: A StructuralModel Approach: Part 1</article-title>
          .
          <string-name>
            <surname>British</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <source>Philosophy of Science</source>
          ,
          <year>2005</year>
          ,
          <volume>56</volume>
          :
          <fpage>843</fpage>
          -
          <lpage>887</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>A Modification of Halpern-Pearl Definition of Causality</article-title>
          . To appear
          <source>in Proc. IJCAI</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          .
          <source>Appropriate Causal Models and Stability of Causation. Proc. KR</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <given-names>Kakas A. C.</given-names>
            and
            <surname>Mancarella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Database</surname>
          </string-name>
          <article-title>Updates through Abduction</article-title>
          .
          <source>Proc. VLDB</source>
          ,
          <year>1990</year>
          , pp.
          <fpage>650</fpage>
          -
          <lpage>661</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Kimelfeld</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <article-title>A Dichotomy in the Complexity of Deletion Propagation with Functional Dependencies</article-title>
          .
          <source>Proc. PODS</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>191</fpage>
          -
          <lpage>202</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Kimelfeld</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vondrak</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>Maximizing Conjunctive Views in Deletion Propagation</article-title>
          .
          <source>ACM TODS</source>
          ,
          <year>2012</year>
          ,
          <volume>7</volume>
          (
          <issue>4</issue>
          ):
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Meliou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gatterbauer</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Moore</surname>
            ,
            <given-names>K. F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Suciu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>The Complexity of Causality and Responsibility for Query Answers and Non-Answers</article-title>
          .
          <source>Proc. VLDB</source>
          ,
          <year>2010a</year>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>Meliou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gatterbauer</surname>
          </string-name>
          . W.,
          <string-name>
            <surname>Halpern</surname>
            ,
            <given-names>J. Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moore</surname>
            <given-names>K. F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Suciu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Causality in Databases</article-title>
          .
          <source>IEEE Data Eng. Bull, 2010b</source>
          ,
          <volume>33</volume>
          (
          <issue>3</issue>
          ):
          <fpage>59</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <surname>Meliou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gatterbauer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Nath</surname>
          </string-name>
          . and
          <string-name>
            <surname>Suciu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Tracing Data Errors with View-Conditioned Causality</article-title>
          .
          <source>Proc. SIGMOD</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>Psillos.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ampliative</surname>
          </string-name>
          <article-title>Reasoning: Induction or Abduction</article-title>
          .
          <source>Proc. ECAI'96 Workshop on Abductive and Inductive Reasoning</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>Poole</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Logic Programming, Abduction and Probability</article-title>
          .
          <source>Proc. FGCS</source>
          ,
          <year>1992</year>
          , pp.
          <fpage>530</fpage>
          -
          <lpage>538</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <surname>Poole</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Representing Diagnosis Knowledge</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          ,
          <year>1994</year>
          ,
          <volume>11</volume>
          (
          <issue>1-4</issue>
          ):
          <fpage>33</fpage>
          -
          <lpage>50</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <surname>Reiter</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>A Theory of Diagnosis from First Principles</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <year>1987</year>
          ,
          <volume>32</volume>
          (
          <issue>1</issue>
          ):
          <fpage>57</fpage>
          -
          <lpage>95</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          <string-name>
            <surname>Salimi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bertossi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <article-title>Causality in Databases: The Diagnosis and Repair Connections</article-title>
          .
          <source>Proc. 15th International Workshop on Non-Monotonic Reasoning (NMR</source>
          <year>2014</year>
          ),
          <year>2014</year>
          .
          <article-title>Corr Arkiv Paper cs</article-title>
          .
          <source>DB/1404</source>
          .6857.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          <string-name>
            <surname>Salimi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bertossi</surname>
            ,
            <given-names>L. From</given-names>
          </string-name>
          <article-title>Causes for Database Queries to Repairs and Model-Based Diagnosis and Back</article-title>
          .
          <source>Proc. ICDT</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          <string-name>
            <surname>Struss</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Model-based Problem Solving</article-title>
          .
          <source>In Handbook of Knowledge Representation, chap. 10. Elsevier</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>