<!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>An abductive Framework for Datalog Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>MARCO GAVANELLI</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>EVELINA LAMMA</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>FABRIZIO RIGUZZI</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ELENA BELLODI</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>RICCARDO ZESE</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>GIUSEPPE COTA</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Ferrara</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <history>
        <date date-type="accepted">
          <day>14</day>
          <month>7</month>
          <year>2015</year>
        </date>
      </history>
      <abstract>
        <p>Ontologies are a fundamental component of the Semantic Web since they provide a formal and machine manipulable model of a domain. Description Logics (DLs) are often the languages of choice for modeling ontologies. Great e ort has been spent in identifying decidable or even tractable fragments of DLs. Conversely, for knowledge representation and reasoning, integration with rules and rule-based reasoning is crucial in the so-called Semantic Web stack vision. Datalog is an extension of Datalog which can be used for representing lightweight ontologies, and is able to express the DL-Lite family of ontology languages, with tractable query answering under certain language restrictions. In this work, we show that Abductive Logic Programming (ALP) is also a suitable framework for representing Datalog ontologies, supporting query answering through an abductive proof procedure, and smoothly achieving the integration of ontologies and rulebased reasoning. In particular, we consider an Abductive Logic Programming framework named SCIFF and derived from the IFF abductive framework, able to deal with existentially (and universally) quanti ed variables in rule heads, and Constraint Logic Programming constraints. Forward and backward reasoning is naturally supported in the ALP framework. We show that the SCIFF language smoothly supports the integration of rules, expressed in a Logic Programming language, with Datalog ontologies, mapped into SCIFF (forward) integrity constraints.</p>
      </abstract>
      <kwd-group>
        <kwd>Ontologies</kwd>
        <kwd>Abductive Logic Programming</kwd>
        <kwd>Datalog</kwd>
        <kwd>Description Logics</kwd>
        <kwd>Semantic Web</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The main idea of the Semantic Web is making information available in a form that
is understandable and automatically manageable by machines
        <xref ref-type="bibr" rid="ref22">(Hitzler et al. 2009)</xref>
        .
Ontologies are engineering artefacts consisting of a vocabulary describing some
domain, and an explicit speci cation of the intended meaning of the vocabulary (i.e.,
how concepts should be classi ed), possibly together with constraints capturing
additional knowledge about the domain. Ontologies provide a formal and machine
manipulable model of a domain, and this justi es their use in the Semantic Web.
      </p>
      <p>In order to realize this vision, the W3C has supported the development of a
family of knowledge representation formalisms of increasing complexity for de ning
ontologies, called Web Ontology Language (OWL). In particular, OWL 1 de nes
the sublanguages OWL-Lite, OWL-DL (based on Description Logics) and
OWLFull. Therefore, ontologies are a fundamental component of the Semantic Web and
Description Logics (DLs) are often the languages of choice for modeling them.</p>
      <p>
        Extensive work has focused on developing tractable DLs, identifying the DL-Lite
family
        <xref ref-type="bibr" rid="ref14">(Calvanese et al. 2007)</xref>
        , for which answering conjunctive queries is in AC0
in data complexity.
      </p>
      <p>
        In a related research direction, Cal et al. (2009b) proposed Datalog , an
extension of Datalog with existential rules for de ning ontologies. Datalog can be used
for representing lightweight ontologies, and encompasses the DL-Lite family
        <xref ref-type="bibr" rid="ref11 ref12">(Cal
et al. 2009a)</xref>
        . By suitably restricting the language syntax and adopting appropriate
syntactic conditions, also Datalog achieves tractability
        <xref ref-type="bibr" rid="ref10">(Cal et al. 2008)</xref>
        .
      </p>
      <p>
        In this work, we consider the Datalog language and show how ontologies
expressed in this language can be also modeled in an Abductive Logic Programming
(ALP, for short) framework
        <xref ref-type="bibr" rid="ref25">(Kakas et al. 1993)</xref>
        , where query answering is
supported by the underlying ALP proof procedure. ALP has been proved a powerful
tool for knowledge representation and reasoning, taking advantage from ALP
operational support as a (static or dynamic) veri cation tool. ALP languages are usually
equipped with a declarative (model-theoretic) semantics, and an operational
semantics given in terms of a proof-procedure. Several abductive proof procedures
have been de ned (both backward, forward, and a mix of the two such)
        <xref ref-type="bibr" rid="ref1 ref16 ref17 ref18 ref19 ref24 ref26 ref8 ref9">(Kakas and
Mancarella 1990; Bry 1990; Kakas 2000; Denecker and Schreye 1998; Alferes et al.
1999; Abdennadher and Christiansen 2000; Christiansen and Dahl 2005; Endriss
et al. 2004)</xref>
        , with many di erent applications (diagnosis, monitoring, veri cation,
etc.). Among them, a notable one is the IFF abductive proof-procedure
        <xref ref-type="bibr" rid="ref20">(Fung and
Kowalski 1997)</xref>
        which was proposed to deal with forward rules, and with non-ground
abducibles. This proof procedure has been later extended in
        <xref ref-type="bibr" rid="ref3">(Alberti et al. 2008)</xref>
        ,
and the resulting proof procedure, named SCIFF, can deal with both existentially
and universally quanti ed variables in rule heads, and Constraint Logic
Programming (CLP) constraints
        <xref ref-type="bibr" rid="ref23">(Ja ar and Maher 1994)</xref>
        . The resulting system has been
used for modeling and implementing several knowledge representation frameworks,
such as deontic logic
        <xref ref-type="bibr" rid="ref2 ref3 ref6">(Alberti et al. 2006)</xref>
        , normative systems
        <xref ref-type="bibr" rid="ref4">(Alberti et al. 2012)</xref>
        ,
interaction protocols for multi-agent systems
        <xref ref-type="bibr" rid="ref7">(Alberti et al. 2004)</xref>
        , Web services
choreographies
        <xref ref-type="bibr" rid="ref2 ref3 ref6">(Alberti et al. 2006)</xref>
        , etc. also providing an e ective reasoning
system.
      </p>
      <p>Here we concentrate on Datalog ontologies, and show how an ALP language
enriched with quanti ed variables (existential to our purposes) can be a useful
knowledge representation and reasoning framework for them. We do not focus here
on complexity results of the overall system, which is, however, not tractable.</p>
      <p>
        Forward and backward reasoning is naturally supported by the ALP proof
procedure, and the considered SCIFF language smoothly supports the integration of
rules, expressed in a Logic Programming language, with ontologies expressed in
Datalog . In fact, In fact, SCIFF allows us to map Datalog ontologies into the
forward integrity constraints on which it is based. Other ALP languages could be
used
        <xref ref-type="bibr" rid="ref27 ref29">(Kakas et al. 2001; Mancarella et al. 2009)</xref>
        ; we chose SCIFF because it is
freely available on the web and it is supported on the last versions of commercial
and open source Prolog systems (SICStus
        <xref ref-type="bibr" rid="ref15">(Carlsson and Mildner 2012)</xref>
        and SWI
        <xref ref-type="bibr" rid="ref30">(Wielemaker et al. 2012)</xref>
        ).
      </p>
      <p>In the following, Section 2 introduces Datalog . Section 3 introduces Abductive
Logic Programming, and the SCIFF language. Section 4 shows how the considered
Datalog language can be mapped into SCIFF. Section 5 concludes the paper, and
outlines future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Datalog</title>
      <p>
        Datalog extends Datalog by allowing existential quanti ers, the equality predicate
and the truth constant false in rule heads. Datalog can be used for representing
lightweight ontologies and is able to express the DL-Lite family of ontology
languages
        <xref ref-type="bibr" rid="ref11 ref12">(Cal et al. 2009a)</xref>
        . By restricting the language syntax, Datalog achieves
decidability
        <xref ref-type="bibr" rid="ref10">(Cal et al. 2008)</xref>
        .
      </p>
      <p>In order to describe Datalog , let us assume (i) an in nite set of data constants
, (ii) an in nite set of labeled nulls N (used as \fresh" Skolem terms), and (iii)
an in nite set of variables V . Di erent constants represent di erent values (unique
name assumption), while di erent nulls may represent the same value. We assume
a lexicographic order on [ N , with every symbol in N following all symbols in
. We denote by X vectors of variables X1; : : : ; Xk with k 0. A relational schema
R is a nite set of relation names (or predicates). A term t is a constant, null or
variable. An atomic formula (or atom) has the form p(t1; : : : ; tn ), where p is an
nary predicate, and t1; : : : ; tn are terms. A database D for R is a possibly in nite set
of atoms with predicates from R and arguments from [ N . A conjunctive query
(CQ) over R has the form q (X) = 9Y (X; Y), where (X; Y) is a conjunction
of atoms having as arguments variables X and Y and constants (but no nulls). A
Boolean CQ (BCQ) over R is a CQ having head predicate q of arity 0 (i.e., no
variables in X).</p>
      <p>We often write a BCQ as the set of all its atoms, having constants and variables
as arguments, and omitting the quanti ers. Answers to CQs and BCQs are de ned
via homomorphisms, which are mappings : [ N [ V ! [ N [ V such
that (i) c 2 implies (c) = c, (ii) c 2 N implies (c) 2 [ N , and (iii)
is naturally extended to term vectors, atoms, sets of atoms, and conjunctions
of atoms. The set of all answers to a CQ q (X) = 9Y (X; Y) over a database D ,
denoted q (D ), is the set of all tuples t over for which there exists a homomorphism
: X [ Y ! [ N such that ( (X; Y)) D and (X) = t. The answer to
a BCQ q = 9Y (Y) over a database D , denoted q (D ), is Yes, denoted D j= q ,
i there exists a homomorphism : Y ! [ N such that ( (Y)) D , i.e., if
q (D ) 6= ;.</p>
      <p>Datalog syntax includes three types of implication rules. Given a relational
schema R, a tuple-generating dependency (or TGD) F is a rst-order formula of the
form 8X8Y (X; Y) ! 9Z (X; Z), where (X; Y) and (X; Z) are conjunctions
of atoms over R, called the body and the head of F , respectively. Such F is satis ed
in a database D for R i , whenever there exists a homomorphism h such that
h( (X; Y)) D , there exists an extension h0 of h such that h0( (X; Z)) D . We
usually omit the universal quanti ers in TGDs.</p>
      <p>Query answering under TGDs is de ned as follows. For a set of TGDs T on R,
and a database D for R, the set of models of D given T , denoted mods(D ; T ), is
the set of all (possibly in nite) databases B such that D B and every F 2 T is
satis ed in B . The set of answers to a CQ q on D given T , denoted ans(q ; D ; T ), is
the set of all tuples t such that t 2 q (B ) for all B 2 mods(D ; T ). The answer to a
BCQ q over D given T is Yes, denoted D [T j= q , i B j= q for all B 2 mods(D ; T ).</p>
      <p>The second component of a Datalog theory is represented by negative
constraints (NC): rst-order formulas of the form 8X (X) ! false, where (X) is a
conjunction of atoms. The universal quanti ers are usually left implicit.</p>
      <p>Equality-generating dependencies (EGDs) are the third component of a Datalog
theory. An EGD F is a rst-order formula of the form 8X (X) ! Xi = Xj , where
(X), called the body of F , is a conjunction of atoms, and Xi and Xj are variables
from X. We call Xi = Xj the head of F . Such F is satis ed in a database D for R
i , whenever there exists a homomorphism h such that h( (X)) D , it holds that
h(Xi ) = h(Xj ). We usually omit the universal quanti ers in EGDs.</p>
      <p>2.1 The Chase
The chase is a bottom-up procedure for deriving atoms entailed by a database and
a Datalog theory. The chase works on a database through the so-called TGD and
EGD chase rules.</p>
      <p>The TGD chase rule is de ned as follows. Given a relational database D for a
schema R, and a TGD F on R of the form 8X8Y (X; Y) ! 9Z (X; Z), F is
applicable to D if there is a homomorphism h that maps the atoms of (X; Y)
to atoms of D . Let F be applicable and h1 be a homomorphism that extends h as
follows: for each Xi 2 X, h1(Xi ) = h(Xi ); for each Zj 2 Z, h1(Zj ) = zj , where zj
is a \fresh" null, i.e., zj 2 N ; zj 62 D , and zj lexicographically follows all other
labeled nulls already introduced. The result of the application of the TGD chase
rule for F is the addition to D of all the atomic formulas in h1( (X; Z)) that are
not already in D .</p>
      <p>The EGD chase rule is de ned as follows. An EGD F on R of the form (X) !
Xi = Xj is applicable to a database D for R i there exists a homomorphism
h : (X) ! D such that h(Xi ) and h(Xj ) are di erent and not both constants. If
h(Xi ) and h(Xj ) are di erent constants in , then there is a hard violation of F .
Otherwise, the result of the application of F to D is the database h(D ) obtained
from D by replacing every occurrence of a non-constant element e 2 fh(Xi ); h(Xj )g
in D by the other element e0 (if e and e0 are both nulls, then e precedes e0 in the
lexicographic order).</p>
      <p>
        The chase algorithm consists of an exhaustive application of the TGD and EGD
chase rules that may lead to an in nite result. The chase rules are applied iteratively:
in each iteration (1) a single TGD is applied once and then (2) the EGDs are applied
until a x point is reached. EGDs are assumed to be separable
        <xref ref-type="bibr" rid="ref13">(Cal et al. 2010)</xref>
        .
Intuitively, separability holds whenever: (i) if there is a hard violation of an EGD
in the chase, then there is also one on the database w.r.t. the set of EGDs alone
(i.e., without considering the TGDs); and (ii) if there is no hard violation, then
the answers to a BCQ w.r.t. the entire set of dependencies equals those w.r.t. the
TGDs alone (i.e., without the EGDs).
      </p>
      <p>
        The two problems of CQ and BCQ evaluation under TGDs and EGDs are
logspace-equivalent
        <xref ref-type="bibr" rid="ref11 ref12">(Cal et al. 2009b)</xref>
        . Moreover, query answering under TGDs
is equivalent to query answering under TGDs with only single atoms in their
heads
        <xref ref-type="bibr" rid="ref10">(Cal et al. 2008)</xref>
        . Henceforth, we focus only on the BCQ evaluation
problem and we assume that every TGD has a single atom in its head (without loss
of generality since by introducing new predicate symbols, we can always transform
TGD-rules with multiple atoms in the head in sets of rules with only one). A BCQ
q on a database D , a set TT of TGDs and a set TE of EGDs can be answered by
performing the chase and checking whether the query is entailed by the extended
database that is obtained. In this case we write D [ TT [ TE j= q .
      </p>
      <sec id="sec-2-1">
        <title>Example 1 (Adapted from (Gottlob et al. 2011))</title>
        <p>Consider the following ontology for a real estate information extraction system:</p>
        <p>F1 = ann(X ; label ); ann(X ; price); visible(X ) ! priceElem(X )
If X is annotated as a label, as a price and is visible, then it is a price element.</p>
        <p>F2 = ann(X ; label ); ann(X ; priceRange); visible(X ) ! priceElem(X )
If X is annotated as a label, as a price range, and is visible, then it is a price
element.</p>
        <p>F3 = priceElem(E ); group(E ; X ) ! forSale(X )
If E is a price element and is grouped with X , then X is for sale.</p>
        <p>F4 = forSale(X ) ! 9P price(X ; P )
If X is for sale, then there exists a price for X .</p>
        <p>F5 = hasCode(X ; C ); codeLoc(C ; L) ! loc(X ; L)
If X has postal code C , and C 's location is L, then X 's location is L.</p>
        <p>F6 = hasCode(X ; C ) ! 9L codeLoc(C ; L); loc(X ; L)
If X has postal code C , then there exists L s.t. C has location L and so does X .</p>
        <p>F7 = loc(X ; L1); loc(X ; L2) ! L1 = L2
If X has the locations L1 and L2, then L1 and L2 are the same.</p>
        <p>F8 = loc(X ; L) ! advertised (X )
If X has a location L then X is advertised.</p>
        <p>Suppose we are given the database
codeLoc(ox 1; central ); codeLoc(ox 1; south); codeLoc(ox 2; summertown)
hasCode(prop1; ox 2); ann(e1; price); ann(e1; label ); visible(e1); group(e1; prop1)
The atomic BCQs priceElem(e1), forSale(prop1) and advertised (prop1) evaluate to
true, while the CQ loc(prop1; L) has answers q (L) = fsummertowng. In fact, even
if loc(prop1; z1) with z1 2 N is entailed by formula F6, formula F7 imposes that
summertown = z1. If F7 were absent then q (L) = fsummertown; z1g.
Answering BCQs q over databases and ontologies containing NCs can be performed
by rst checking whether the BCQ (X) evaluates to false for each NC of the form
8X (X) ! false. If one of these checks fails, then the answer to the original BCQ q
is positive, otherwise the negative constraints can be simply ignored when answering
the original BCQ q .</p>
        <p>3 ALP and the SCIFF language
Abductive Logic Programming (ALP, for short) is a family of programming
languages that integrate abductive reasoning into logic programming. An ALP
program consists of a set of clauses, that can contain in the body some distinguished
predicates, belonging to a set A and called abducibles. The aim is nding a set of
abducibles EXP, built from symbols in A that, together with the knowledge base,
is an explanation for a given known e ect (called goal G) and satis es a set of logic
formulae, called Integrity Constraints (IC ):</p>
        <p>KB [ EXP j= G</p>
        <p>KB [ EXP j= IC</p>
        <p>
          SCIFF
          <xref ref-type="bibr" rid="ref3">(Alberti et al. 2008)</xref>
          is a language in the ALP class, originally designed
to model and verify interactions in open societies of agents and it is an extension
of the IFF proof-procedure
          <xref ref-type="bibr" rid="ref20">(Fung and Kowalski 1997)</xref>
          . As the IFF, it relies on the
three-valued completion semantics
          <xref ref-type="bibr" rid="ref28">(Kunen 1987)</xref>
          , it considers integrity constraints
of the form body ! head where the body is a conjunction of literals and the head
is a disjunction of conjunctions of literals. While in the IFF the literals can be
built only on de ned or abducible predicates, in SCIFF they can also be CLP
constraints
          <xref ref-type="bibr" rid="ref23">(Ja ar and Maher 1994)</xref>
          , occurring events (only in the body), or positive
and negative expectations, as will be explained soon.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>De nition 1</title>
        <p>A SCIFF Program is a pair hKB ; ICi where KB is a set of clauses (an extended
logic program) and IC is a set of forward rules called Integrity Constraints (ICs,
for short in the following).</p>
        <p>SCIFF considers a (possibly dynamically growing) set of facts (called history )
HAP, that contains ground atoms H(Event [; Time]). This set can grow
dynamically, during the computation, thus implementing a dynamic acquisition of events.
Some distinguished abducibles are called expectations. A positive expectation,
written E(Event [; Time]) means that a corresponding event H(Event [; Time]) is
expected to happen, while EN(Event [; Time]) is a negative expectation, and requires
events H(Event [; Time]) not to happen. To simplify the notation, we will omit the
Time argument from events and expectations.</p>
        <p>
          Variables occurring only in positive expectations are existentially quanti ed
(expressing the idea that a single event is enough to support them), while those in
negative expectations are universally quanti ed, so that any event matching with a
negative expectation leads to inconsistency with the current hypothesis. CLP
          <xref ref-type="bibr" rid="ref23">(Jaffar and Maher 1994)</xref>
          constraints can be imposed on variables. The computed answer
includes in general three elements: a substitution for the variables in the goal (as
usual in Prolog), the constraint store (as in CLP), and the set EXP of abduced
literals.
(4)
(5)
The declarative semantics of SCIFF includes the classic conditions of ALP:
KB [ HAP [ EXP
KB [ HAP [ EXP
j= G
j=
        </p>
        <p>IC
plus speci c conditions to support the con rmation of expectations.</p>
        <p>Positive/negative expectations are con rmed (not violated) if</p>
        <p>KB [ HAP [ EXP
KB [ HAP [ EXP
j=
j=</p>
        <p>E(X ) ! H(X )</p>
        <p>EN(X ) ^ H(X ) ! false</p>
        <p>The declarative semantics of SCIFF also requires that the same event cannot be
expected both to happen and not to happen</p>
        <p>KB [ HAP [ EXP j= E(X ) ^ EN(X ) ! false</p>
        <sec id="sec-2-2-1">
          <title>De nition 2 (SCIFF answer )</title>
          <p>Given a SCIFF program hKB ; ICi and a history HAP, a goal G is a SCIFF answer
if there is a set EXP such that equations (1)-(5) are satis ed. In this case, we write
hKB ; ICi j=HAP G</p>
          <p>The SCIFF proof-procedure is a rewriting system that de nes a proof tree, whose
nodes represent states of the computation. A set of transitions rewrite a node into
one or more children nodes.</p>
          <p>
            The main transitions, inherited from the IFF are:
Unfolding replaces a (non abducible) atom with its de nitions;
Propagation if an abduced atom a(X ) occurs in the condition of an IC (e.g.,
a(Y ) ! p), the atom is removed from the condition (generating X = Y ! p);
Case Analysis given an implication containing an equality in the condition (e.g.,
X = Y ! p), generates two children in logical or (in the example, either X = Y
and p, or X 6= Y );
Equality rewriting rewrites equalities as in the Clark's equality theory;
Logical simpli cations other simpli cations like (true ! A) , A, etc.
SCIFF includes also the transitions of CLP
            <xref ref-type="bibr" rid="ref23">(Ja ar and Maher 1994)</xref>
            for constraint
solving.
          </p>
          <p>
            A complete description is in
            <xref ref-type="bibr" rid="ref3">(Alberti et al. 2008)</xref>
            , with proofs of soundness,
completeness, and termination. SCIFF was implemented in CHR
            <xref ref-type="bibr" rid="ref19">(Fruhwirth 1998)</xref>
            ,
an e cient implementation is described in
            <xref ref-type="bibr" rid="ref5">(Alberti et al. 2013)</xref>
            .
          </p>
          <p>
            In this paper we consider the generative version of SCIFF, called g-SCIFF
            <xref ref-type="bibr" rid="ref2 ref3 ref6">(Alberti et al. 2006)</xref>
            , in which also the H events are considered as abducibles, and can
be assumed like the other abducible predicates, beside being provided as input in
the history HAP; they are then collected in a set HAP0 HAP.
          </p>
        </sec>
        <sec id="sec-2-2-2">
          <title>De nition 3 (g-SCIFF answer )</title>
          <p>Given a SCIFF program hKB ; ICi and a history HAP, we say that a goal G is
a g-SCIFF answer if there exist a set EXP and a set HAP0 HAP such that
equations (1)-(5) are satis ed1. In this case, we write
g
hKB ; ICi j=HAP G</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4 Mapping Datalog into ALP programs</title>
      <p>In this section, we show that a Datalog program can be represented as a set of
SCIFF integrity constraints and a history. SCIFF abductive declarative semantics
provides the model-theoretic counterpart to Datalog semantics. Operationally,
query answering is achieved bottom-up via the chase in Datalog , while in the
ALP framework it is supported by the SCIFF proof procedure. SCIFF is able to
integrate a knowledge base KB , expressed in terms of Logic Programming clauses,
possibly with abducibles in their body, and to deal with integrity constraints.</p>
      <p>To our purposes, we consider only SCIFF programs with an empty KB , IC s with
only conjunctions of positive expectations and CLP constraints in their heads. We
show that this subset of the language su ces to represent Datalog ontologies2.</p>
      <p>We map the nite set of relation names of a Datalog relational schema R into
the set of predicates of the corresponding SCIFF program.</p>
      <sec id="sec-3-1">
        <title>De nition 4</title>
        <p>The mapping is recursively de ned as follows, where A is an atom, M can be
either H or E, and F1, F2, . . . are Datalog formulae:
(Body ! Head )</p>
        <p>H(A)</p>
        <p>E(A)
M(F1 ^ F2)</p>
      </sec>
      <sec id="sec-3-2">
        <title>M(false)</title>
        <p>M(Yi = Yj )</p>
        <p>E(9X A)
= H(Body ) !
= H(A)
= E(A)
= M(F1) ^ M(F2)
= false
= Yi = Yj
= E(A)</p>
      </sec>
      <sec id="sec-3-3">
        <title>E(Head )</title>
        <p>A Datalog database D for R corresponds to the (possibly in nite) SCIFF
history HAP, since there is a one-to-one correspondence between each tuple in D and
each (ground) fact in HAP. This mapping is denoted as HAP = H(D ).</p>
        <p>A Datalog TGD F of the kind body ! head is mapped into the SCIFF integrity
constraint IC = (F ), where the body is mapped into conjunctions of SCIFF atoms,
and head into conjunctions of SCIFF abducible atoms. Existential quanti cations
of variables occurring in the head of the TGD are maintained in the head of the
SCIFF IC , but they are left implicit in the SCIFF syntax, while the rest of the
variables are universally quanti ed with scope the entire IC .
1 In the equations (1)-(5) the set HAP should be substituted with HAP0.
2 As should be clear soon, the only CLP constraint used in the mapping is the equality constraint</p>
        <p>Given a set of TGDs T , let us denote the mapping of T into the corresponding
set IC of SCIFF integrity constraints, as IC = (T ).</p>
        <p>Recall that for a set of TGDs T on R, and a database D for R, the set of models
of D given T , denoted mods(D ; T ), is the set of all (possibly in nite) databases B
such that D B and every F 2 T is satis ed in B . For any such database B , we can
prove that there exists an abductive explanation EXP = E(B ), HAP0 = H(B )
such that:</p>
        <p>HAP0 [ EXP j= IC
where HAP0 HAP = H(D ), and IC = (T ).</p>
        <p>Finally, Datalog negative constraints NC are mapped into SCIFF ICs with head
false, and equality-generating dependencies EGDs into SCIFF ICs, each one with
an equality CLP constraint in its head.</p>
        <p>Therefore, informally speaking, the set of models of D given T , mods(D ; T ),
corresponds to the set of all the abductive explanations EXP satisfying the set of
SCIFF integrity constraints IC = (T ).</p>
        <p>A Datalog CQ q (X) = 9Y (X; Y) over R is mapped into a SCIFF goal G =
E( (X; Y)), where E( (X; Y)) is a conjunction of SCIFF atoms. Notice that in
the SCIFF framework we have therefore a goal with existential variables only, and
among them, we are interested in computed answer substitutions for the original
(tuple of) variables X (and therefore Y variables can be made anonymous).</p>
        <p>A Datalog BCQ q = (Y) is mapped similarly: G = E( (Y)).</p>
        <p>Recall that in Datalog the set of answers to a CQ q on D given T , denoted
ans(q ; D ; T ), is the set of all tuples t such that t 2 q (B ) for all B 2 mods(D ; T ).
With abuse of notation, we will write q (t) to mean answer t for q on D given T .</p>
        <p>We can hence state the following theorems for (model-theoretic) completeness of
query answering.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Theorem 1 (Completeness of query answering )</title>
        <p>For each answer q (t) of a CQ q (X) = 9Y (X; Y) on D given T , in the
corresponding SCIFF program h;; A; (T )i there exists an answer substitution and an
abductive explanation EXP [ HAP0 for goal G = E( (X; )) such that:
g
h;; ICi j=HAP G
where HAP =</p>
        <p>H(D ), IC = (T ), and G
= E( (t; )).</p>
      </sec>
      <sec id="sec-3-5">
        <title>Corollary 1 (Completeness of boolean query answering )</title>
        <p>If the answer to a BCQ q = 9Y (Y) over D given T is Yes, denoted D [ T j= q ,
then in the corresponding SCIFF program there exists an abductive explanation
EXP [ HAP0 such that:
where HAP =
g
h;; ICi j=HAP G</p>
        <p>H(D ), IC = (T ), and G = E( ( )).</p>
        <p>
          The SCIFF proof procedure was proved sound and complete w.r.t. SCIFF
declarative semantics in
          <xref ref-type="bibr" rid="ref3">(Alberti et al. 2008)</xref>
          , thus for each abductive explanation EXP
for a given goal G in a SCIFF program, there exists a SCIFF-based computation
producing a set of abducibles (positive expectations to our purposes) EXP,
and a computed answer substitution for goal G possibly more general than .
        </p>
      </sec>
      <sec id="sec-3-6">
        <title>Example 2 (Real estate information extraction system in ALP )</title>
        <p>The TGDs F1-F8 from the Datalog ontology of Example 1 are one-to-one mapped
into the following SCIFF ICs:3</p>
        <sec id="sec-3-6-1">
          <title>IC1 : H(ann(X ; label )); H(ann(X ; price)); H(visible(X )) ! E(priceElem(X ))</title>
        </sec>
        <sec id="sec-3-6-2">
          <title>IC2 : H(ann(X ; label )); H(ann(X ; priceRange)); H(visible(X )) ! E(priceElem(X ))</title>
        </sec>
        <sec id="sec-3-6-3">
          <title>IC3 : H(priceElem(E )); H(group(E ; X )) ! E(forSale(X )) IC4 : H(forSale(X )) ! (9P ) E(price(X ; P )) IC5 : H(hasCode(X ; C )); H(codeLoc(C ; L)) ! E(loc(X ; L)) IC6 : H(hasCode(X ; C )) ! (9L) E(codeLoc(C ; L)); E(loc(X ; L))</title>
          <p>IC7 : H(loc(X ; L1)); H(loc(X ; L2)) ! L1 = L2
IC8 : H(loc(X ; L)) ! E(advertised (X ))</p>
          <p>The database is then simply mapped into the following history HAP:
fH(codeLoc(ox 1; central )); H(codeLoc(ox 1; south));</p>
        </sec>
      </sec>
      <sec id="sec-3-7">
        <title>H(codeLoc(ox 2; summertown)); H(hasCode(prop1; ox 2)); H(ann(e1; price));</title>
        <sec id="sec-3-7-1">
          <title>H(ann(e1; label )); H(visible(e1)); H(group(e1; prop1))g</title>
          <p>The SCIFF proof procedure applies ICs in a forward manner, and it infers the
following set of abducibles from the program above:</p>
          <p>EXP
=
fE(priceElem(e1)); E(forSale(prop1)); 9P E(price(prop1; P ));</p>
        </sec>
        <sec id="sec-3-7-2">
          <title>E(loc(prop1; summertown)); E(advertised (prop1))g</title>
          <p>plus the corresponding H atoms, that are not reported for the sake of brevity.</p>
          <p>Each of the (ground) atomic queries of Example 1 is entailed in the SCIFF
program above, since there exist sets EXP and HAP0 such that:</p>
          <p>HAP0 [ EXP j= E(priceElem(e1)); E(forSale(prop1)); E(advertised (prop1))
The query 9L E(loc(prop1; L)) is entailed as well (with uni cation L = summertown)
since:</p>
          <p>HAP0 [ EXP j= E(loc(prop1; summertown))</p>
          <p>Also in this case, if we remove IC7 we obtain the previous answer, and a further
one, similar to the one obtained by Datalog , where the set HAP0 contains two
loc events:</p>
        </sec>
      </sec>
      <sec id="sec-3-8">
        <title>H(loc(prop1; summertown));</title>
        <sec id="sec-3-8-1">
          <title>9L H(loc(prop1; L))</title>
          <p>and the answer includes a further CLP constraint L 6= summertown (being, instead,
L and summertown uni ed in the previous answer).
3 We show for clarity the quanti cation of existentially quanti ed variables, although in the
SCIFF syntax the quanti cation is implicit.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5 Conclusions and Future Work</title>
      <p>
        In this paper, we addressed representation and reasoning for Datalog ontologies in
an Abductive Logic Programming framework, with existential (and universal)
variables, and Constraint Logic Programming constraints in rule heads. The underlying
proof procedure, named SCIFF and inspired by the IFF proof procedure, was
implemented in Constraint Handling Rules
        <xref ref-type="bibr" rid="ref19">(Fruhwirth 1998)</xref>
        . The SCIFF system has
already been used for modeling and implementing several knowledge representation
frameworks, also providing an e ective reasoning system.
      </p>
      <p>Here we have shown how the SCIFF language can be a useful knowledge
representation and reasoning framework for Datalog ontologies. In fact, the underlying
abductive proof procedure can be directly exploited as an ontological reasoner for
query answering and consistency check, also supporting inline incrementality of the
extensional part of the knowledge base (namely, the ABox), represented in SCIFF
as a (possibly incremental) set of events. To the best of our knowledge, this is the
rst application of ALP to model and reason upon ontologies.</p>
      <p>Many issues have not been addressed in this paper, and they will be subject of
future work. First of all, we have not focused here on complexity results. Future work
will be devoted to identify syntactic conditions guaranteeing tractable ontologies in
SCIFF, in the style of what has been done for Datalog .</p>
      <p>A second issue for future work concerns experimentation and comparison with
other approaches, even not Logic Programming based, on real-size ontologies.</p>
      <p>Finally, SCIFF language is richer than the subset here used to represent Datalog
ontologies. In fact, the SCIFF integrity constraints can have the disjunction in the
head, and negative expectations in rule heads, with universally quanti ed variables
too, which basically represent the fact that something ought not to happen, and
the proof procedure can identify violations to them. Moreover, the SCIFF language
smoothly supports the integration of rules, expressed in a Logic Programming
language, with ontologies expressed in Datalog , since a Logic Programming program
can be added to the set of ICs, giving the opportunity to consider deductive rules
besides the forward ICs themselves. SCIFF also allows for CLP constraints
beside the equality one, which can be used also in the ICs as well. Finally, this rich
language could be used to add further expressivity to query languages.</p>
      <p>ESAW 2005 Post-proceedings, O. Dikenelli, M.-P. Gleizes, and A. Ricci, Eds. Number
3963 in LNAI. Springer-Verlag, Kusadasi, Aydin, Turkey, 106{124.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Abdennadher</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Christiansen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <year>2000</year>
          .
          <article-title>An experimental CLP platform for integrity constraints and abduction</article-title>
          .
          <source>In FQAS, Flexible Query Answering Systems</source>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Larsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kacprzyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zadrozny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Andreasen</surname>
          </string-name>
          , and H. Christiansen, Eds. LNCS. Springer-Verlag, Warsaw, Poland,
          <volume>141</volume>
          {
          <fpage>152</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>An abductive framework for a-priori veri cation of web services</article-title>
          .
          <source>In Proceedings of the Eighth Symposium on Principles and Practice of Declarative Programming</source>
          , M. Maher, Ed. ACM Press, New York, USA,
          <volume>39</volume>
          {
          <fpage>50</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Security protocols veri cation in abductive logic programming: a case study</article-title>
          . In Alberti,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Chesani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Gavanelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Lamma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Mello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            , and
            <surname>Torroni</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          <year>2008</year>
          .
          <article-title>Veri able agent interaction in abductive logic programming: the SCIFF framework</article-title>
          .
          <source>ACM Transactions on Computational Logic 9</source>
          ,
          <issue>4</issue>
          ,
          <issue>29</issue>
          :1{
          <fpage>29</fpage>
          :
          <fpage>43</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <year>2012</year>
          .
          <article-title>Deon + : Abduction and constraints for normative reasoning</article-title>
          .
          <source>In Logic Programs, Norms and Action - Essays in Honor of Marek J. Sergot on the Occasion of His 60th Birthday</source>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Artikis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Craven</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. K.</given-names>
            <surname>Cicekli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Sadighi</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. Stathis,
          <source>Eds. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7360</volume>
          . Springer,
          <volume>308</volume>
          {
          <fpage>328</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>The CHR-based implementation of the SCIFF abductive system</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>124</volume>
          ,
          <issue>4</issue>
          , 365{
          <fpage>381</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sartor</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Mapping deontic operators to abductive expectations</article-title>
          .
          <source>Computational and Mathematical Organization Theory</source>
          <volume>12</volume>
          ,
          <issue>2</issue>
          {3 (Oct.),
          <volume>205</volume>
          {
          <fpage>225</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2004</year>
          .
          <article-title>Speci - cation and veri cation of agent interactions using social integrity constraints</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>85</volume>
          ,
          <issue>2</issue>
          (Apr.),
          <volume>94</volume>
          {
          <fpage>116</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Alferes</surname>
            ,
            <given-names>J. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pereira</surname>
            ,
            <given-names>L. M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Swift</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>1999</year>
          .
          <article-title>Well-founded abduction via tabled dual programs</article-title>
          .
          <source>In Logic Programming: The 1999 International Conference</source>
          , Las Cruces, New Mexico, USA, D. D. Schreye, Ed. MIT Press, Cambridge, MA,
          <volume>426</volume>
          {
          <fpage>440</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Bry</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <year>1990</year>
          .
          <article-title>Intensional updates: Abduction via deduction</article-title>
          .
          <source>In Logic Programming, Proceedings of the Seventh International Conference</source>
          , Jerusalem, Israel,
          <string-name>
            <given-names>D.</given-names>
            <surname>Warren</surname>
          </string-name>
          and P. Szeredi, Eds. MIT Press, Cambridge, MA,
          <volume>561</volume>
          {
          <fpage>578</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Cal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2008</year>
          .
          <article-title>Taming the in nite chase: Query answering under expressive relational constraints</article-title>
          .
          <source>In International Conference on Principles of Knowledge Representation and Reasoning</source>
          . AAAI Press,
          <volume>70</volume>
          {
          <fpage>80</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Cal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2009a</year>
          .
          <article-title>A general datalog-based framework for tractable query answering over ontologies</article-title>
          .
          <source>In Symposium on Principles of Database Systems. ACM</source>
          ,
          <volume>77</volume>
          {
          <fpage>86</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Cal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2009b</year>
          .
          <article-title>Tractable query answering over ontologies with Datalog</article-title>
          .
          <source>In International Workshop on Description Logics. CEUR Workshop Proceedings</source>
          , vol.
          <volume>477</volume>
          . CEUR-WS.org.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Cal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marnette</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Pieris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Datalog : A family of logical knowledge representation and query languages for new applications</article-title>
          .
          <source>In IEEE Symposium on Logic in Computer Science</source>
          .
          <volume>228</volume>
          {
          <fpage>242</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>G. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2007</year>
          .
          <article-title>Tractable reasoning and e cient query answering in description logics: The dl-lite family</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>39</volume>
          ,
          <issue>3</issue>
          , 385{
          <fpage>429</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Carlsson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Mildner</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2012</year>
          .
          <article-title>SICStus Prolog { the rst 25 years</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          <volume>12</volume>
          ,
          <issue>35</issue>
          {
          <fpage>66</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Christiansen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Dahl</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <year>2005</year>
          .
          <article-title>HYPROLOG: A new logic programming language with assumptions and abduction</article-title>
          .
          <source>In Proc. ICLP</source>
          <year>2005</year>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gabbrielli</surname>
          </string-name>
          and G. Gupta, Eds.
          <source>LNCS</source>
          , vol.
          <volume>3668</volume>
          . Springer,
          <volume>159</volume>
          {
          <fpage>173</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Denecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Schreye</surname>
            ,
            <given-names>D. D.</given-names>
          </string-name>
          <year>1998</year>
          .
          <article-title>SLDNFA: an abductive procedure for abductive logic programs</article-title>
          .
          <source>Journal of Logic Programming</source>
          <volume>34</volume>
          ,
          <issue>2</issue>
          , 111{
          <fpage>167</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Endriss</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mancarella</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Terreni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Toni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <year>2004</year>
          .
          <article-title>The CIFF proof procedure for abductive logic programming with constraints</article-title>
          .
          <source>In Proc. JELIA</source>
          <year>2004</year>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Alferes</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Leite</surname>
          </string-name>
          , Eds.
          <source>LNAI</source>
          , vol.
          <volume>3229</volume>
          . Springer-Verlag,
          <volume>31</volume>
          {
          <fpage>43</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Fru</surname>
          </string-name>
          hwirth, T.
          <year>1998</year>
          .
          <article-title>Theory and practice of constraint handling rules</article-title>
          .
          <source>Journal of Logic Programming</source>
          <volume>37</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>3</lpage>
          (Oct.),
          <volume>95</volume>
          {
          <fpage>138</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Fung</surname>
            ,
            <given-names>T. H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Kowalski</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          <year>1997</year>
          .
          <article-title>The IFF proof procedure for abductive logic programming</article-title>
          .
          <source>Journal of Logic Programming</source>
          <volume>33</volume>
          ,
          <issue>2</issue>
          (Nov.),
          <volume>151</volume>
          {
          <fpage>165</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lukasiewicz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Simari</surname>
            ,
            <given-names>G. I.</given-names>
          </string-name>
          <year>2011</year>
          .
          <article-title>Conjunctive query answering in probabilistic Datalog+/- ontologies</article-title>
          .
          <source>In International Conference on Web Reasoning and Rule Systems. LNCS</source>
          , vol.
          <volume>6902</volume>
          . Springer,
          <volume>77</volume>
          {
          <fpage>92</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Krotzsch, M., and
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <year>2009</year>
          .
          <article-title>Foundations of Semantic Web Technologies</article-title>
          . CRCPress.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Jaffar</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Maher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>1994</year>
          .
          <article-title>Constraint logic programming: a survey</article-title>
          .
          <source>Journal of Logic Programming 19-20</source>
          ,
          <issue>503</issue>
          {
          <fpage>582</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Kakas</surname>
            ,
            <given-names>A. C.</given-names>
          </string-name>
          <year>2000</year>
          .
          <article-title>ACLP: integrating abduction and constraint solving</article-title>
          .
          <source>In Proceedings of the 8th International Workshop on Non-Monotonic Reasoning</source>
          , NMR'00,
          <string-name>
            <surname>Breckenridge</surname>
          </string-name>
          , CO.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Kakas</surname>
            ,
            <given-names>A. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kowalski</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Toni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <year>1993</year>
          .
          <article-title>Abductive Logic Programming</article-title>
          .
          <source>Journal of Logic and Computation</source>
          <volume>2</volume>
          ,
          <issue>6</issue>
          , 719{
          <fpage>770</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>Kakas</surname>
            ,
            <given-names>A. C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Mancarella</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>1990</year>
          .
          <article-title>On the relation between Truth Maintenance and Abduction</article-title>
          .
          <source>In Proceedings of the 1st Paci c Rim International Conference on Arti cial Intelligence</source>
          , PRICAI-
          <volume>90</volume>
          , Nagoya, Japan, T. Fukumura, Ed. Ohmsha Ltd.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <surname>Kakas</surname>
            ,
            <given-names>A. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>van Nuffelen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Denecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2001</year>
          .
          <article-title>A-System: Problem solving through abduction</article-title>
          .
          <source>In Proceedings of the Seventeenth International Joint Conference on Arti cial Intelligence</source>
          , Seattle, Washington, USA (IJCAI-01), B. Nebel, Ed. Morgan Kaufmann Publishers, Seattle, Washington, USA,
          <volume>591</volume>
          {
          <fpage>596</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>Kunen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <year>1987</year>
          .
          <article-title>Negation in logic programming</article-title>
          .
          <source>In Journal of Logic Programming</source>
          . Vol.
          <volume>4</volume>
          . 289{
          <fpage>308</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>Mancarella</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Terreni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Endriss</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          <year>2009</year>
          .
          <article-title>The CIFF proof procedure for abductive logic programming with constraints: Theory, implementation and experiments</article-title>
          .
          <source>TPLP 9</source>
          ,
          <issue>6</issue>
          , 691{
          <fpage>750</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <surname>Wielemaker</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schrijvers</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Triska</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lager</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2012</year>
          .
          <article-title>SWI-Prolog</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          <volume>12</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>