<!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>
      <journal-title-group>
        <journal-title>S. Borgwardt); stefen.breuer@mailbox.tu-dresden.de (S. Breuer);
alisa.kovtunova@tu-dresden.de (A. Kovtunova)
~ https://lat.inf.tu-dresden.de/~stefborg/ (S. Borgwardt); https://lat.inf.tu-dresden.de/~alisa/ (A. Kovtunova)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Computing ABox Justifications for Query Answers via Datalog Rewriting</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefan Borgwardt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefen Breuer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alisa Kovtunova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Theoretical Computer Science, Technische Universität Dresden</institution>
          ,
          <addr-line>01062 Dresden</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Justifications are a very useful tool for explaining DL consequences. They highlight parts of the ontology that are responsible for the consequence, and can serve as the basis for more detailed explanations such as proofs. In this paper, we present an approach that can compute ABox justifications, i.e., justifications restricted to assertions, for answers to conjunctive queries, assuming that these queries are Datalogrewritable over the input ontology. We implemented the approach based on the rewriting tool Clipper and ProvSQL, which can be used to compute provenance information, including justifications, for SQL queries. The potentially recursive nature of Datalog rewritings does not allow a direct translation into SQL queries, but requires some additional processing steps, depending on the cyclic structure of the Datalog program and the ABox. We show that the set of all ABox justifications can be computed in reasonable time, and compare the performance with Souflé, a Datalog engine that also supports explanations.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Query Answering</kwd>
        <kwd>Justifications</kwd>
        <kwd>Explanation</kwd>
        <kwd>Provenance</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Despite the reputation of description logics and other logic-based formalisms of supporting
the inspection and understanding of large and complex domain knowledge, sometimes DL
entailments are far from understandable by themselves. For this reason, research on explanation
approaches for DLs already has a long history. Justifications , which point out the responsible
axioms, are the most popular tool and often enough to understand a given entailment [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1, 2,
3, 4</xref>
        ], and black-box justification techniques have long been supported in the ontology editor
Protégé [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].1 More detailed proofs of entailments have been investigated for a longer time, but
received less attention so far [
        <xref ref-type="bibr" rid="ref10 ref6 ref7 ref8 ref9">6, 7, 8, 9, 10</xref>
        ]. They are especially helpful when the justifications
are large or require unintuitive reasoning steps to reach the conclusion. However, justifications
are also useful for computing proofs since they can be used as a preprocessing step to filter
irrelevant axioms from the ontology and make proof computation more eficient [
        <xref ref-type="bibr" rid="ref11 ref9">9, 11</xref>
        ].
      </p>
      <p>
        Related areas of research include provenance for databases [
        <xref ref-type="bibr" rid="ref12 ref13 ref14">12, 13, 14</xref>
        ], which is more
general than justifications, but does not consider ontologies. Instead of arbitrary provenance
semirings [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], justifications correspond to the so-called why-provenance [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. There are also
provenance formalisms that can deal with the recursive nature of Datalog programs [
        <xref ref-type="bibr" rid="ref17 ref18 ref19">17, 18, 19</xref>
        ],
but they are not necessary to compute the why-provenance. Provenance has been considered
also for DL-Lite and ℰ ℒ ontologies, taking the problem of recursive derivations into account
by, e.g. restricting to idempotent semirings [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ]. Less closely related is work on proofs for
query answering in DLs or Datalog [
        <xref ref-type="bibr" rid="ref19 ref22 ref23">22, 19, 23</xref>
        ].
      </p>
      <p>
        In this paper, we consider a type of justifications for conjunctive query answering in
Datalogrewritable description logics. We report on an implementation that combines the Datalog
rewritings computed by Clipper, which supports Horn-ℋℐ ontologies [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], with ProvSQL,
a tool for computing provenance for database queries [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. In case the Datalog rewriting is
non-recursive, it can be directly translated into SQL queries over the database, which are
then processed by ProvSQL. For recursive Datalog programs, we need to do some additional
processing based on the cyclic structures in the program and the data. For each answer to the
original query, this method computes all ABox justifications , i.e., minimal sets of ABox assertions
that (together with the TBox) yield the given answer. This can be useful for further computation
of more complex explanations, e.g. proofs [
        <xref ref-type="bibr" rid="ref19 ref22 ref23">22, 19, 23</xref>
        ], since it can reduce large ABoxes to a
handful of facts.
      </p>
      <p>
        The runtime of this approach is substantially larger than what is required for query answering
in the first place, which is mainly due to ProvSQL computing the provenance for all query
answers at once. In practice, we expect that such explanations are usually only computed
upon request by a user, and only for single answers at a time. We compare the performance of
our approach with Souflé, a Datalog engine that supports proofs for query atoms [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], from
which one can extract a (possibly non-minimal) set of ABox assertions responsible for the query
answer. In contrast to our approach, this only computes a single justification at a time, but still
requires significant time. The data and instructions for running the experiments can be found
at https://lat.inf.tu-dresden.de/~stefborg/abox-justifications.zip.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>
        We assume that the reader is familiar with the basics of DLs [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. A concept atom is of the form
(), where  is a concept name and the term  is an individual name or a variable. Similarly,
a role atom is of the form (, ′), where  is a role name and , ′ are terms. A Datalog atom
(1, 2, . . . , ) is a relational symbol  along with a list of terms as arguments. A Datalog
program is a collection of Datalog rules, each of which is of the form:
      </p>
      <p>ℎ :– 1, 2, . . . , 
where  ≥ 0, ℎ, 1, . . . ,  are atoms, ℎ is the head of the rule, and the conjunction of
1, 2, . . . ,  is the body of the rule. The predicate in the rule head depends on each
predicate occurring in the body. A program is recursive if the transitive closure of the “depends
on”-relation is cyclic.</p>
      <p>
        A conjunctive query (CQ) is a first-order formula of the form (⃗) = ∃⃗.(⃗, ⃗), where  is a
conjunction of concept and role atoms using the variables in ⃗ and ⃗. The variables in ⃗ are the
answer variables of . An answer to  over an ontology (,  ) with ABox  and TBox  is a
|⃗|-tuple ⃗ of individual names from  such that every model of (,  ) satisfies (⃗) under the
usual semantics of first-order logic (written ,  |= (⃗)). A Datalog rewriting of  w.r.t.  is a
tuple (, , ), where , is a Datalog program with the |⃗|-ary query predicate , such that,
for all ABoxes  over the signature of  and  , it holds that ,  |= (⃗) if  ∪ , |= (⃗).
Clipper is a tool that can compute Datalog rewritings for arbitrary CQs and TBoxes formulated
in Horn-ℋℐ [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>Example 1. In a scenario where a human operator oversees a collection of drones, each drone
can be connected to an individual describing its surroundings via the role environment. Since
sensor readings are often imperfect, the description can contain additional confidence information.
Consider a CQ () = ∃. environment(, ) ∧ LowVisiblity() ∧ HighConfidence() over a TBox</p>
      <sec id="sec-2-1">
        <title>WetDrone ⊑ ∃environment.(Rain ⊓ HighConfidence)</title>
      </sec>
      <sec id="sec-2-2">
        <title>Rain ⊑ LowVisibility</title>
        <p>The query returns a set of individuals (drones) that are likely in a low-visibility environment. The
ontology additionally specifies that rain decreases visibility and, if a drone is wet, it is likely raining.
A Datalog rewriting of the query and ontology could look as follows.</p>
        <sec id="sec-2-2-1">
          <title>LowVisibility() :– Rain()</title>
        </sec>
        <sec id="sec-2-2-2">
          <title>Q() :– environment(, ), LowVisibility(), HighConfidence() Q() :– WetDrone()</title>
          <p>
            An ABox justification for a query answer ,  |= (⃗) is a minimal subset  ⊆  for
which  ,  |= (⃗) holds. Using a Datalog rewriting (, , ), this can be reformulated to
 ∪ , |= (⃗). The latter problem can be solved in the closed-world setting of databases,
and therefore we will apply database provenance computation to solve it. The why-provenance
for a database query answer  |= (⃗) is the set of all minimal subsets of  that yield the same
answer. ProvSQL is a plugin for the Postgres relational database system [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ] that can compute
diferent kinds of provenance database queries, supporting most features of the SQL standard.
Any CQ  over a database can be seen as an SQL query of the form SELECT (DISTINCT)
. . . FROM . . . WHERE . . . .
          </p>
          <p>
            In the setting of ontology-based data access, databases often come equipped with so-called
mappings that associate data from the data sources with concepts in the ontology. In particular,
they can define unary and binary relations in terms of SQL queries over an input database that
may contain tables with more than two attributes. This type of mappings is usually referred to
as global-as-view [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ]. Formally, a mapping  has the form  : q(⃗) ⇝  (⃗), where q is an
SQL query over the data sources, and  is a DL concept or role name. Intuitively, q returns
(pairs of) constants from the data sources and instantiates  with them.
          </p>
          <p>In this paper, we assume these mappings to be pre-materialized into unary and binary tables
that correspond to DL concepts and roles, respectively. In some cases, splitting a large table
into smaller ones also allows for more fine-grained justifications.</p>
          <p>Example 2. Using mappings, a database entry of a (ProvSQL-enabled) SensorData table
can be transformed into separate facts sensor(123, camera), Rain(123), time(123, 15:43),</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>HighConfidence(123), environment(d2, 123). Consider the query</title>
          <p>′() = ∃. environment(, ) ∧ Rain() ∧ HighConfidence()
that has the answer  = d2 w.r.t. the TBox from Example 1. The only justification for this
answer is {environment(d2, 123), Rain(123), HighConfidence(123)}, which allows pinpointing
the reasons for the query answer more precisely than by just returning the full original tuple
SensorData(123, d2, camera, rain, 15:43, 0.8).</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Implementation</title>
      <p>
        In this section, we describe the building blocks of our approach for computing ABox justifications
for CQ answers.
3.1. ProvSQL
ProvSQL2 [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is an open-source module for the PostgreSQL database management system that
adds support for computation of provenance of (SQL) query results. The module computes
the provenance circuit associated with a query that represents the operations performed to
obtain a query answer, such as join ⊗ , union ⊕ , etc. It adds a separate column, provsql, that
contains provenance tokens, to all ProvSQL-enabled tables of the database. Provenance tokens
are fresh universally unique identifiers (UUIDs) and correspond to input gates of the circuits.
ProvSQL generates new provenance tokens for results of queries on ProvSQL-aware tables,
which identify inner gates of the provenance circuits.
      </p>
      <p>Example 3. Returning back to Example 2 above, using ProvSQL, we can trace the DL-ified tuples
back to the original SensorData table, since the facts such as environment(d2, 123) can be obtained
by an SQL query over the materialized environment table:
drone
d2
id
123</p>
      <p>provsql
6bb9bd38-4ef8-bb6d
where the UUID ’6bb9bd38-4ef8-bb6d’ refers to a circuit that encodes the projection operation over
the original entry ’a0eebc99-9c0b-4ef8’.</p>
      <p>
        To obtain the set of all justifications J = {1, . . . , } for a specific output tuple, we then
need to suitably evaluate its provenance circuit. Each UUID corresponding to an input fact 
gets replaced by {{ }} (the set containing only the trivial justification for  ), and the operators
⊗ , ⊕ are translated into element-wise set union and simple set union, respectively, which
corresponds to a step-wise combination of the sets of justifications for intermediate query
results [
        <xref ref-type="bibr" rid="ref13 ref16">13, 16</xref>
        ]. Afterwards, we still need to remove non-minimal elements from the set J, but
this was mostly unnecessary in our experiments.
2https://github.com/PierreSenellart/provsql
3.2. Clipper
Clipper3 is DL reasoner for conjunctive query answering over Horn-ℋℐ ontologies via
Datalog rewriting that is implemented in Java. It accepts an ontology  = ( , ) and a CQ 
in the SPARQL syntax as input and produces a Datalog program which can be evaluated over
the facts in . In the original paper [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], the authors use DLV4 [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] or Clingo5 [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] for the
ifnal Datalog evaluation. The program comprises rewriting steps of the query  as well as the
completion rules over the TBox  . In general, the resulting Datalog program can be recursive.
      </p>
      <sec id="sec-3-1">
        <title>Example 4. The axiom ∃near.∃environment.Rain ⊑ ∃environment.Rain, expressing that, if rain</title>
        <p>was detected at a nearby location, then it is also raining at the current location, will be rewritten as
environmentSomeRain() :– near(, ), environmentSomeRain()
environmentSomeRain() :– environment(, ), Rain()</p>
        <p>In the next section, we explain how we can transform a possibly recursive Datalog program
into a series of SQL statements, whose provenance can be traced using ProvSQL.
3.3. Compiling Datalog Rules Into SQL Statements
The algorithm proceeds as follows. First, the “depends on”-relation of the Datalog program is
represented as a graph, denoted by  = (, ), where each node  in  corresponds to a
predicate  that occurs in the ontology. The edge relation  is defined using the body and the
head of each rule: for each rule ℎ :– 1, . . . , , there exist edges (ℎ, 1 ), . . . , (ℎ,  ) in .
Furthermore, each node  is associated with the set of all rules in the Datalog program that
have  in their head. In Datalog rewritings produced by Clipper, no other predicate depends
on the query predicate , and thus for most of the following descriptions we will ignore the
node  and process it separately at the end.</p>
        <p>If  is acyclic, its nodes can be partitioned into levels according to the length of the longest
path to any leaf node (a node without outgoing edges). The algorithm processes all nodes on
the same level one after the other, starting from the lowest level, i.e., the leafs. Processing a
node  translates all rules associated with  (which all have the same head predicate) into SQL
statements.</p>
        <p>Example 5. For example, the rules ℎ(1) :– 1(1, 2), 2(2), ℎ(1) :– 3(1) would be
translated into the query
CREATE TABLE ℎ AS
((SELECT 1.1 FROM 1 JOIN 2 ON 1.2 = 2.1) UNION (SELECT 1 FROM 3)).</p>
        <p>In case a table for a predicate ℎ already exists and has to be updated with new tuples, in order
for ProvSQL to recognize a change in the data, first a dummy table needs to be created that
holds the union of the data contained in the old table and the new query results:</p>
        <p>CREATE TABLE dummy AS (. . . UNION SELECT * FROM ℎ)
3https://github.com/ghxiao/clipper
4https://www.dlvsystem.it/dlvsite/
5https://github.com/potassco/clingo
Afterwards, the old table is deleted and re-created with the content of the dummy table:
DROP TABLE ℎ</p>
        <p>CREATE TABLE ℎ AS SELECT * FROM dummy</p>
        <p>
          However, the dependency graph of the rules created by Clipper from a Horn-ℋℐ ontology
can actually be cyclic (see Example 4). To handle cyclic dependency graphs, all strongly
connected components (SCCs) are first identified using Kosaraju-Sharir’s algorithm [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ], which
is implemented in the jgraph6 library. All nodes in a given SCC are then replaced by a new cycle
node in the dependency graph.
        </p>
        <p>For an SCC  and a new cycle node , the dependency graph  = (, ) is updated to
′ = ( ′, ′) with  ′ = ( ∖ ) ∪ {} and
(1)
(2)
(3)
(4)
′ = {(, ) | (, ) ∈ , ,  ∈  ′} ∪
{(, ) | (, ) ∈ ,  ∈  ′,  ∈ } ∪
{(, ) | (, ) ∈ ,  ∈ ,  ∈  ′}.</p>
        <p>
          The rules previously associated to the nodes in  are thereafter associated to . The algorithm
then proceeds as in the non-recursive case, but processes cycle nodes diferently, depending on
the associated rules. Due to the shape of the Datalog programs produced by Clipper, all rules
involved in a cycle either have only unary predicates in the head (e.g. as in Example 4), or they
have only binary predicates in the head [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. In the former case, to process the cycle node, first
the length ℓ of the longest acyclic path of the SCC is determined. Then, all SQL statements of
the rules associated with the cycle node are executed ℓ times to ensure that all individuals are
propagated to all involved predicates.
        </p>
        <p>By Horn-ℋℐ syntax, when binary head atoms are involved, all rules must be of one of
the following shapes:
(, ) :– (, )
(, ) :– (, )
(, ) :– (, ), (, )
If all rules in the cycle are of the form (2), they can be processed as in the case of unary head
atoms. If rules of shape (3) are involved, we need to double the number of executions of the
SQL statements since it may require 2ℓ iterations to propagate all involved pairs of individuals
(, ) and their inverses (, ) to all involved binary predicates.</p>
        <p>Finally, transitivity rules of the form (4) need to be processed diferently, since their application
involves a potentially unbounded number of individuals, and thus the necessary number of
iterated SQL statements now depends on the length of the longest (undirected) path in the
current database that involves only the roles from the cycle node. Therefore, every transitivity
rule (potentially as part of a larger cycle node) increases the number of iterated applications of
SQL statements for the whole cycle node by log2 , where  is the length of this path.</p>
        <p>At the very end of the algorithm, the query predicate  is populated using the same approach
as in Example 5, since we do not have to worry about cycles at this stage.</p>
        <p>Algorithm 1: Generating SQL updates w.r.t. a Datalog program  for ABox tables .
1  = (, ) is the “depends-on” relation graph of 
2 foreach  ∈  do
3 rule() = { ∈  |  is in the head of  }
4 ′ = 
5 while ′ has a SCC  do
6 create a new cycle node 
7 rule( ) = { ∈  |  ∈ rule() for some  ∈ }
8 update ′ according to (1) for</p>
        <p>The above-described procedure is summarized in Algorithm 1.</p>
        <p>Theorem 1. Let  = ( , ) be a Horn-ℋℐ ontology,  a CQ with Datalog rewriting (, , )
w.r.t.  , and ′ the set of facts resulting from Algorithm 1 w.r.t. the Datalog program , and .
Then  |= (⃗) if (⃗) ∈ ′.</p>
        <p>Proof. For soundness, it sufices to observe that the algorithm faithfully applies the rules in the
rewriting, which is correct for query answering over . To show completeness, we have to show
that  ∪ , |= (⃗) implies (⃗) ∈ ′. If  ∪ , |= (⃗), there exists a derivation D
(i.e., a tree of rule applications) deriving (⃗) from the facts in  using the rules in , . In the
following, we assume that D is minimal, and in particular that no fact is derived twice and only
facts that are required to derive (⃗) are derived. For every fact  (⃗) derived in D, we prove
that  (⃗) ∈ ′ by induction over the order in which the node  representing  is processed by
the main loop in Lines 11–25. Hence, we assume that the claim is satisfied for all predicates
represented by the nodes reachable from  in the original graph ′ (after the introduction of
the cycle nodes in Lines 5–8). We distinguish two cases.</p>
        <p>• If  is an ordinary node  or a cycle node associated with only unary or only binary
head predicates (including  ), but rules of the form (3) or (4), then we consider the last
rule applications in D involving the predicates in . For any premises  ′(⃗′) of these
rules involving predicates from previous stages, we know by induction that  ′(⃗′) ∈ ′
has already been derived previously by Line 24. The remaining premises must be of the
form  ′(⃗) with  ′ represented by the current cycle node . Assume that the depth of
these last rule applications is larger than the length ℓ of the longest acyclic path in the
SCC represented by . Then the rule applications contain a cycle, i.e., at least one fact
 ′(⃗) is derived twice, which contradicts our assumption on the derivation D. Thus, since
the depth of the last rule applications to derive  (⃗) is bounded by ℓ, we have  (⃗) ∈ ′
by our construction.
• If  involves binary predicates and at least one rule of the form (3), but no rule of the
form (4), then we can apply the same arguments as above, but have to consider all facts
of the form  ′(, ) and  ′(, ) that are involved in the derivation of  (⃗) =  (, ),
which means that the length of the derivation could be doubled in the worst case (see
Line 16).
• If  is a cycle node involving a transitive binary predicate  (cf. Lines 17–20), then
 (⃗) =  (, ) and we consider all applications of the rule (, ) ← (, ), (, ) up
to the derivation of (, ) (or (, )). Since D is non-redundant, the original -facts
(not derived by the transitivity rule) must form an -path (, 1), (1, 2), . . . , (, )
from  to  without repeating constants. If this path is of length , then the fact (, ) is
derived after at most log2  nested applications of (, ) ← (, ), (, ). By similar
arguments as above, each of the -facts (, +1) must have been derived after 2ℓ rule
applications from other binary facts (or their inverses) whose predicates are involved in
the cycle. This shows that (, ) ∈ ′ and  (, ) ∈ ′.</p>
        <p>Note that Algorithm 1 does consider the query predicate : the ABox tables are updated until no
more facts are derived. In the implementation, this procedure is optimized by terminating once
the node  has been processed by the loop in Lines 12–25. Further iterations are redundant,
since they cannot create new facts for .</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation</title>
      <p>
        In order to evaluate our approach, we compare our implementation with Souflé, a
state-ofthe-art tool for Datalog reasoning that can also compute proofs [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], on the Lehigh University
Benchmark (LUBM).7 All experiments were run on a computer with an Intel Core i5-7200U
CPU @ 2.50GHz processor, and runtime and memory cutofs of 14400 seconds and 2 GB. The
experiment results are shown in Table 1.
7http://swat.cse.lehigh.edu/projects/lubm/
      </p>
      <p>
        We also wanted to compare the performance of a recent approach for computing provenance
for Datalog programs based on Rulewerk and Vlog [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], but we could not achieve reasonable
runtimes with it. We also did not compare with OntoProv [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which also uses ProvSQL, but
only supports DL-Lite ontologies. Using Clipper, the benchmark’s University ontology was
translated into a Datalog program, for which we ran the two tools together with a dataset
containing the data of one university. We recorded how long it took to answer each of the 14
benchmark queries (Query Time), as well as the time needed for computing justifications for a
single (randomly chosen) query answer (Explanation Time). Query 2 has no answers, which is
why we cannot compute any justifications for it. For Queries 4 and 5, Souflé did not produce a
result in the limited time. Additionally, we provide the Query Time without the provenance
computation in the lines marked by S- and O-.
      </p>
      <p>The Query Time for our approach already includes the time taken by ProvSQL to compute
the provenance circuits for each intermediate answer, which could also be seen as part of the
Explanation Time, which is why we also report the Total Time for each tool. Nevertheless, the
comparison is still biased since ProvSQL always computes the full provenance, i.e., we obtain
all possible justifications for a query answer, whereas Souflé outputs only a single proof, from
which we can extract one (possibly non-minimal) set of input facts responsible for the answer.
By construction, our approach cannot compute the provenance of just a single query answer on
demand without pre-computing the provenance for all answers. Similarly, ProvSQL does not
support computing only a single ABox justification.</p>
      <p>We can see that with the provenance components our algorithm mostly compares favorably
to Souflé, except for queries that have a lot of answers (which requires ProvSQL to compute
many provenance circuits) and for answers whose provenance is very large due to the cycles in
the Datalog program. Since we only want to compute justifications, these provenance circuits
contain a lot of redundancies that could be eliminated at intermediate steps by a more dedicated
algorithm in the future.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>
        We presented a possible approach for computing ABox justifications, or why-provenance, for
relatively expressive ontology-mediated queries that have Datalog rewritings. This can be useful
to compute further, more detailed explanations of query answers by restricting the set of facts
needed for computing them [
        <xref ref-type="bibr" rid="ref19 ref22">22, 19, 32</xref>
        ]. Similarly, to compute more detailed proofs, it would be
interesting to directly explain the rewriting steps used by Clipper [
        <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>We thank Islam Hamada for his contributions to the implementation. This work was supported
by the DFG grant 389792660 as part of TRR 248 (https://perspicuous-computing.science).
Proceedings, volume 13752 of Lecture Notes in Computer Science, Springer, 2022, pp. 146–163.
doi:10.1007/978-3-031-21541-4_10.
[32] C. Alrabbaa, S. Borgwardt, A. Hirsch, N. Knieriemen, A. Kovtunova, A. M. Rothermel,
F. Wiehr, In the head of the beholder: Comparing diferent proof representations, in:
G. Governatori, A. Turhan (Eds.), Rules and Reasoning - 6th International Joint Conference
on Rules and Reasoning, RuleML+RR 2022, Berlin, Germany, September 26-28, 2022,
Proceedings, volume 13752 of Lecture Notes in Computer Science, Springer, 2022, pp. 211–
226. doi:10.1007/978-3-031-21541-4_14.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Schlobach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cornet</surname>
          </string-name>
          ,
          <article-title>Non-standard reasoning services for the debugging of description logic terminologies</article-title>
          , in: G. Gottlob, T. Walsh (Eds.),
          <source>IJCAI-03, Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence</source>
          , Morgan Kaufmann,
          <year>2003</year>
          , pp.
          <fpage>355</fpage>
          -
          <lpage>362</lpage>
          . URL: http://ijcai.org/Proceedings/03/Papers/053.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Suntisrivaraporn</surname>
          </string-name>
          ,
          <article-title>Pinpointing in the description logic EL+</article-title>
          , in: J.
          <string-name>
            <surname>Hertzberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Beetz</surname>
          </string-name>
          , R. Englert (Eds.),
          <source>KI 2007: Advances in Artificial Intelligence, 30th Annual German Conference on AI</source>
          , volume
          <volume>4667</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2007</year>
          , pp.
          <fpage>52</fpage>
          -
          <lpage>67</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -74565-
          <issue>5</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <source>Justification Based Explanation in Ontologies, Ph.D. thesis</source>
          , University of Manchester, UK,
          <year>2011</year>
          . URL: https://www.research.manchester.ac.uk/portal/files/54511395/ FULL_TEXT.PDF.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Manthey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          , S. Rudolph,
          <article-title>SATPin: Axiom pinpointing for lightweight description logics through incremental SAT, Künstliche Intell</article-title>
          .
          <volume>34</volume>
          (
          <year>2020</year>
          )
          <fpage>389</fpage>
          -
          <lpage>394</lpage>
          . doi:
          <volume>10</volume>
          .1007/s13218-020-00669-4.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          , U. Sattler,
          <article-title>Explaining inconsistencies in OWL ontologies</article-title>
          , in: L.
          <string-name>
            <surname>Godo</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Pugliese (Eds.), Scalable Uncertainty Management, Third International Conference, SUM, Proceedings, volume
          <volume>5785</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2009</year>
          , pp.
          <fpage>124</fpage>
          -
          <lpage>137</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -04388-8_
          <fpage>11</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Borgida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Franconi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <article-title>Explaining ALC subsumption</article-title>
          , in: W. Horn (Ed.),
          <source>ECAI 2000, Proceedings of the 14th European Conference on Artificial Intelligence</source>
          , IOS Press,
          <year>2000</year>
          , pp.
          <fpage>209</fpage>
          -
          <lpage>213</lpage>
          . URL: http://www.frontiersinai.com/ecai/ecai2000/pdf/p0209.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <source>Explaining Reasoning in Description Logics, Ph.D. thesis</source>
          , Rutgers University, NJ, USA,
          <year>1996</year>
          . doi:
          <volume>10</volume>
          .7282/t3-q0c6-5305.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          , U. Sattler,
          <article-title>Justification oriented proofs in OWL</article-title>
          , in: P. F. PatelSchneider, Y. Pan,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Z.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          Glimm (Eds.),
          <source>The Semantic Web - ISWC 2010 - 9th International Semantic Web Conference, Revised Selected Papers</source>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          , volume
          <volume>6496</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2010</year>
          , pp.
          <fpage>354</fpage>
          -
          <lpage>369</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -17746-0_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Alrabbaa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Borgwardt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Koopmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kovtunova</surname>
          </string-name>
          ,
          <article-title>Finding small proofs for description logic entailments: Theory and practice</article-title>
          , in: E.
          <string-name>
            <surname>Albert</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          Kovács (Eds.),
          <source>LPAR 2020: 23rd International Conference on Logic for Programming</source>
          ,
          <source>Artificial Intelligence and Reasoning</source>
          , volume
          <volume>73</volume>
          of EPiC Series in Computing, EasyChair,
          <year>2020</year>
          , pp.
          <fpage>32</fpage>
          -
          <lpage>67</lpage>
          . doi:
          <volume>10</volume>
          . 29007/nhpp.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Alrabbaa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Borgwardt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Koopmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kovtunova</surname>
          </string-name>
          ,
          <article-title>Finding good proofs for description logic entailments using recursive quality measures</article-title>
          , in: A.
          <string-name>
            <surname>Platzer</surname>
          </string-name>
          , G. Sutclife (Eds.),
          <source>Automated Deduction - CADE 28 - 28th International Conference on Automated Deduction</source>
          , volume
          <volume>12699</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2021</year>
          , pp.
          <fpage>291</fpage>
          -
          <lpage>308</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -79876-5_
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C.</given-names>
            <surname>Alrabbaa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Borgwardt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Dachselt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Koopmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Méndez</surname>
          </string-name>
          , Evonne:
          <article-title>Interactive proof visualization for description logics (system description)</article-title>
          , in: J.
          <string-name>
            <surname>Blanchette</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Kovács</surname>
          </string-name>
          , D. Pattinson (Eds.),
          <source>Automated Reasoning - 11th International Joint Conference, IJCAR</source>
          <year>2022</year>
          ,
          <article-title>Proceedings</article-title>
          , volume
          <volume>13385</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2022</year>
          , pp.
          <fpage>271</fpage>
          -
          <lpage>280</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -10769-6_
          <fpage>16</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cheney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Chiticariu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. C.</given-names>
            <surname>Tan</surname>
          </string-name>
          , Provenance in databases: Why, how, and where,
          <source>Found. Trends Databases</source>
          <volume>1</volume>
          (
          <year>2009</year>
          )
          <fpage>379</fpage>
          -
          <lpage>474</lpage>
          . doi:
          <volume>10</volume>
          .1561/1900000006.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Senellart</surname>
          </string-name>
          ,
          <article-title>Provenance in databases: Principles and applications</article-title>
          , in: M.
          <string-name>
            <surname>Krötzsch</surname>
          </string-name>
          , D. Stepanova (Eds.),
          <source>Reasoning Web. Explainable Artificial Intelligence - 15th International Summer School</source>
          <year>2019</year>
          , Tutorial Lectures, volume
          <volume>11810</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2019</year>
          , pp.
          <fpage>104</fpage>
          -
          <lpage>109</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -31423-
          <issue>1</issue>
          _
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>P.</given-names>
            <surname>Senellart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jachiet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Maniu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Ramusat,</surname>
          </string-name>
          <article-title>ProvSQL: Provenance and probability management in PostgreSQL</article-title>
          ,
          <source>Proc. VLDB Endow</source>
          .
          <volume>11</volume>
          (
          <year>2018</year>
          )
          <fpage>2034</fpage>
          -
          <lpage>2037</lpage>
          . doi:
          <volume>10</volume>
          .14778/ 3229863.3236253.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Green</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Karvounarakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Tannen</surname>
          </string-name>
          ,
          <article-title>Provenance semirings</article-title>
          , in: L.
          <string-name>
            <surname>Libkin</surname>
          </string-name>
          (Ed.),
          <source>Proceedings of the Twenty-Sixth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems</source>
          , June 11-13,
          <year>2007</year>
          , Beijing, China,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2007</year>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>40</lpage>
          . doi:
          <volume>10</volume>
          .1145/1265530.1265535.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>P.</given-names>
            <surname>Buneman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Khanna</surname>
          </string-name>
          , W. C.
          <article-title>Tan, Why and where: A characterization of data provenance</article-title>
          , in: J. V. den
          <string-name>
            <surname>Bussche</surname>
          </string-name>
          , V. Vianu (Eds.),
          <source>Database Theory - ICDT</source>
          <year>2001</year>
          , 8th International Conference, London, UK, January 4-
          <issue>6</issue>
          ,
          <year>2001</year>
          , Proceedings, volume
          <volume>1973</volume>
          <source>of Lecture Notes in Computer Science</source>
          , Springer,
          <year>2001</year>
          , pp.
          <fpage>316</fpage>
          -
          <lpage>330</lpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-44503-X_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ramusat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Maniu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Senellart</surname>
          </string-name>
          ,
          <article-title>Eficient provenance-aware querying of graph databases with Datalog</article-title>
          , in: V.
          <string-name>
            <surname>Kalavri</surname>
          </string-name>
          , S. Salihoglu (Eds.),
          <source>GRADES-NDA '22: Proceedings of the 5th ACM SIGMOD Joint International Workshop on Graph Data Management Experiences &amp; Systems (GRADES)</source>
          and
          <article-title>Network Data Analytics (NDA)</article-title>
          , ACM,
          <year>2022</year>
          , pp.
          <volume>4</volume>
          :
          <fpage>1</fpage>
          -
          <issue>4</issue>
          :9. doi:
          <volume>10</volume>
          . 1145/3534540.3534689.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bourgaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bourhis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Peterfreund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Thomazo</surname>
          </string-name>
          ,
          <article-title>Revisiting semiring provenance for datalog</article-title>
          , in: G.
          <string-name>
            <surname>Kern-Isberner</surname>
          </string-name>
          , G. Lakemeyer, T. Meyer (Eds.),
          <source>Proceedings of the 19th International Conference on Principles of Knowledge Representation and Reasoning</source>
          , KR,
          <year>2022</year>
          . URL: https://proceedings.kr.org/
          <year>2022</year>
          /10/.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Subotic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Scholz</surname>
          </string-name>
          ,
          <article-title>Debugging large-scale Datalog: A scalable provenance evaluation strategy</article-title>
          ,
          <source>ACM Trans. Program. Lang. Syst</source>
          .
          <volume>42</volume>
          (
          <year>2020</year>
          ) 7:
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          :
          <fpage>35</fpage>
          . doi:
          <volume>10</volume>
          .1145/ 3379446.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ozaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          , G. Xiao,
          <article-title>Enriching ontology-based data access with provenance</article-title>
          , in: S. Kraus (Ed.),
          <source>Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI, ijcai.org</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1616</fpage>
          -
          <lpage>1623</lpage>
          . doi:
          <volume>10</volume>
          . 24963/ijcai.
          <year>2019</year>
          /224.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bourgaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ozaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          , L. Predoiu,
          <article-title>Provenance for the description logic ELHr</article-title>
          , in: C.
          <string-name>
            <surname>Bessiere</surname>
          </string-name>
          (Ed.),
          <source>Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI</source>
          <year>2020</year>
          ,
          <article-title>ijcai</article-title>
          .org,
          <year>2020</year>
          , pp.
          <fpage>1862</fpage>
          -
          <lpage>1869</lpage>
          . doi:
          <volume>10</volume>
          .24963/ijcai.
          <year>2020</year>
          /258.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Borgida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rodriguez-Muro</surname>
          </string-name>
          ,
          <article-title>Explanation in the DL-Lite family of description logics</article-title>
          , in: R.
          <string-name>
            <surname>Meersman</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          Tari (Eds.),
          <article-title>On the Move to Meaningful Internet Systems: OTM 2008 Confederated International Conferences</article-title>
          , CoopIS, DOA, GADA, IS, and
          <article-title>ODBASE 2008</article-title>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>II</given-names>
          </string-name>
          , volume
          <volume>5332</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2008</year>
          , pp.
          <fpage>1440</fpage>
          -
          <lpage>1457</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -88873-4_
          <fpage>35</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>C.</given-names>
            <surname>Alrabbaa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Borgwardt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Koopmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kovtunova</surname>
          </string-name>
          ,
          <article-title>Explaining ontology-mediated query answers using proofs over universal models</article-title>
          , in: G. Governatori,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Turhan (Eds.),
          <source>Rules and Reasoning - 6th International Joint Conference on Rules and Reasoning</source>
          ,
          <source>RuleML+RR</source>
          <year>2022</year>
          ,
          <article-title>Proceedings</article-title>
          , volume
          <volume>13752</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2022</year>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>182</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -21541-4_
          <fpage>11</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ortiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Simkus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tran</surname>
          </string-name>
          , G. Xiao,
          <article-title>Query rewriting for Horn-SHIQ plus rules</article-title>
          , in: J.
          <string-name>
            <surname>Hofmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          Selman (Eds.),
          <source>Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, July 22-26</source>
          ,
          <year>2012</year>
          , Toronto, Ontario, Canada, AAAI Press,
          <year>2012</year>
          . doi:
          <volume>10</volume>
          .1609/aaai.v26i1.
          <fpage>8219</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          , I. Horrocks,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          , An Introduction to Description Logic, Cambridge University Press,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1017/9781139025355.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <article-title>Data integration: A theoretical perspective</article-title>
          , in: L.
          <string-name>
            <surname>Popa</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Abiteboul</surname>
          </string-name>
          , P. G. Kolaitis (Eds.),
          <source>Proceedings of the Twenty-first ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems</source>
          , June 3-5, Madison, Wisconsin, USA, ACM,
          <year>2002</year>
          , pp.
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
          . doi:
          <volume>10</volume>
          .1145/543613.543644.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          , G. Pfeifer,
          <string-name>
            <given-names>W.</given-names>
            <surname>Faber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Scarcello</surname>
          </string-name>
          ,
          <article-title>The DLV system for knowledge representation and reasoning</article-title>
          ,
          <source>ACM Trans. Comput. Log</source>
          .
          <volume>7</volume>
          (
          <year>2006</year>
          )
          <fpage>499</fpage>
          -
          <lpage>562</lpage>
          . doi:
          <volume>10</volume>
          .1145/1149114.1149117.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kaufmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ostrowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schaub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <surname>Potassco:</surname>
          </string-name>
          <article-title>The potsdam answer set solving collection</article-title>
          ,
          <source>AI Commun</source>
          .
          <volume>24</volume>
          (
          <year>2011</year>
          )
          <fpage>107</fpage>
          -
          <lpage>124</lpage>
          . doi:
          <volume>10</volume>
          .3233/ AIC-2011-0491.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Toman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Wolter</surname>
          </string-name>
          ,
          <article-title>Conjunctive query answering in the description logic EL using a relational database system</article-title>
          , in: C.
          <string-name>
            <surname>Boutilier</surname>
          </string-name>
          (Ed.),
          <source>IJCAI 2009, Proceedings of the 21st International Joint Conference on Artificial Intelligence</source>
          , Pasadena, California, USA, July
          <volume>11</volume>
          -
          <issue>17</issue>
          ,
          <year>2009</year>
          ,
          <year>2009</year>
          , pp.
          <fpage>2070</fpage>
          -
          <lpage>2075</lpage>
          . URL: http://ijcai.org/Proceedings/09/Papers/341.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sharir</surname>
          </string-name>
          ,
          <article-title>A strong-connectivity algorithm and its applications in data flow analysis</article-title>
          ,
          <source>Computers &amp; Mathematics with Applications</source>
          <volume>7</volume>
          (
          <year>1981</year>
          )
          <fpage>67</fpage>
          -
          <lpage>72</lpage>
          . doi:https://doi.org/10. 1016/
          <fpage>0898</fpage>
          -
          <lpage>1221</lpage>
          (
          <issue>81</issue>
          )
          <fpage>90008</fpage>
          -
          <lpage>0</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>A.</given-names>
            <surname>Elhalawati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mennicke</surname>
          </string-name>
          ,
          <article-title>An existential rule framework for computing why-provenance on-demand for Datalog</article-title>
          , in: G. Governatori,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Turhan (Eds.),
          <source>Rules and Reasoning - 6th International Joint Conference on Rules and Reasoning</source>
          , RuleML+RR,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>