<!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>Answering Conjunctive Queries over a Temporally-Ordered Finite Sequence of ABoxes Sharing one TBox</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Natalya G. Keberle ?</string-name>
          <email>nkeberle@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Zaporozhye National University, Dept. of Information Technologies 66</institution>
          ,
          <addr-line>Zhukovskogo str. 69063, Zaporozhye</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>79</fpage>
      <lpage>90</lpage>
      <abstract>
        <p>Ontology-based data access (OBDA) assumes that data in a database are mediated with a conceptual layer, available for clients and hiding data storage details. Ontologies are good candidates for such a conceptual layer presentation, whereas databases are good for huge data storage. One of the interesting applications of OBDA is checking a finite set of constraints defined in some language against a temporally-ordered sequence of ABoxes sharing one TBox, where each constraint is considered as a conjunctive query. Presented is one algorithm of conjunctive query answering for such a language, proved are its termination, soundness and completeness.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Ontology-based data access</kwd>
        <kwd>temporal conjunctive query language</kwd>
        <kwd>description logic knowledge base</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Ontology-based data access (OBDA) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] assumes that data in a database are mediated
with a conceptual layer, available for clients and hiding data storage details. Ontologies
are good candidates for such a conceptual layer presentation, whereas databases are
good for huge data storage.
      </p>
      <p>The benefits from combination of databases and knowledge bases are as follows:</p>
      <p>At the same time, employing such an approach is rather challenging due to
significant differences between relational database systems and ontology languages, based on
Description Logics, such as OWL. At first, relational databases adopt a closed-world
semantics, i.e. all facts that are not explicitly stated to be true are assumed to be false.
In contrast, OWL is based on an open world semantics which does not requre one to
fix the truth value of every fact and is more similar to an incomplete database. Second,
relational databases are unaware of the intensional part of a knowledge base (called a
TBox).</p>
      <p>
        Research has been done so far in the OBDA field considers only one ABox stored in
a data source, that is an actual set of assertions on individuals and their pairs. However,
real applications show that ABox is changing over time. The examples of such dynamic
systems can be easily found in practice: environmental conditions, air traffic load,
computer system load and performance, health control for the people suffering from serious
diseases. Therefore, in some applications of situation awareness [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], there is a need to
store an archive of ABoxes, keeping ABoxes actual at different time points. Temporal
logics are often used as the means to formulate constraints a dynamic system should
obey during its work.
      </p>
      <p>The main results of the paper are:
– for the point-based linear finite time structure elaborated is the language of unions
of temporal conjunctive queries, which allows to evaluate atemporal unions of
conjunctive queries at different time points;
– proposed is an algorithm of answering a union of temporal conjunctive queries,
which harnesses set-theoretic operations on atomic queries answer sets. Proved are
its termination, soundness and completeness;
The paper is organized as follows: in the next section a language of unions of temporal
conjunctive queries is introduced and the definitions of main reasoning tasks available
for such a query language are presented. In the section 3 the algorithm of answering
temporal unions of conjunctive queries is presented and illustrated in examples. The
section 4 is dedicated to the proofs of logical properties of the algorithm. The section 5
discusses the related work in the field of conjunctive queries answering.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Conjunctive Queries: Syntax, Semantics</title>
      <p>
        Assume there is a knowledge base K = (A; T ), where T is a set of concept axioms (a
TBox), A is a set of assertional axioms (an ABox). Fix a language of a knowledge base
to ALC [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. An interpretation of K, named I, is a pair ( I ; ), where is a domain of
individuals, obeying unique name assumption (UNA) and I is an interpretation
function, which assigns every concept C a set CI , every atomic role R a binary relation
RI , and every individual name a an individual aI 2 . Assertional axioms
are C(a) - concept assertion and R(a; b) - role assertion.
      </p>
      <p>Query answering is the extension of a well known task of instance checking: given
a knowledge base K and an assertion . Check whether this assertion is entailed by an
ABox of K.</p>
      <sec id="sec-2-1">
        <title>Conjunctive Queries Basics</title>
        <p>
          Let Vars(Q) be a set of all distinguished and non-distinguished variables which appear
in a query Q, let Inds(Q) to denote the set of all individual names which appear in
query Q and Terms(Q) to denote the set of all terms in Q, i.e. Vars(Q) [ Inds(Q).
Let us formally define conjunctive queries and Boolean conjunctive queries for a
wellelaborated language ALC [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Definition 1 (Conjunctive query, Union of conjunctive queries). Let x, y, c are
respectively tuples of distinguished variables (answer variables), of non-distinguished
variables and of individual names, and t, t1, t2 are terms in Terms(Q). A conjunctive
query (CQ) is an expression of the form
where
conj(x; c) = 9y:q1 ^ : : : ^ qm;</p>
        <p>qi ::= C(t) j r(t1; t2)
A Boolean conjunctive query is a CQ without answer variables.</p>
        <p>A union of conjunctive queries (UCQ) is a disjunction of conjunctive queries (CQs)
of the form</p>
        <p>Q(x) = fx j conj1(x; c) _ : : : _ conjn(x; c)g
Example 1. The example of a query asking about all students that attend some courses
and take some exams could be as follows:</p>
        <p>Q(x) = fx j 9y:takeCourse(x; y) ^ takeExam(x; y)g</p>
        <p>This query can be modified to a Boolean query by substitution of x with an
individual name:</p>
        <p>Q(x) = fj y:takeCourse("Eldora"; y) ^ takeExam("Eldora"; y)g
We use jQj to denote the size of Q - the number of symbols required to build the
query. The arity of a query will be the number of answer variables in the query. If
all terms in Q are individual names, we say Q is ground. We write Q(c) for a query
whose answer variables x are substituted by c, Q(x) for a conjunctive query and simply
Q for a Boolean conjunctive query. Sometimes we write x1; : : : ; xn instead of x, and
similarly for y and c.</p>
        <p>Given an ALC-knowledge base K = hT ; Ai, an interpretation I satisfies a query
Q(x) iff the interpretation function can be extended to the variables in Q(x) in such a
way that I satisfies every term in Q(x). A query Q(x) is true w.r.t. K (written K j= Q)
iff every interpretation that satisfies K also satisfies Q.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 2 (Query answering, query entailment). Given a query Q(x) with a tuple</title>
        <p>of answer variables x, and a knowledge base K, a tuple of individuals c with the same
arity of x is an answer for Q in K if I j= Q(c) for every model I in K.</p>
        <p>Given a Boolean conjunctive query Q, and a KB K, query entailment is a task to
decide whether K j= Q if I j= Q for every model I of K.</p>
        <p>Given a conjunctive query Q(x), a tuple of individuals a, and a KB K, query
answering is a task to decide whether a is an answer for Q(x) in K.
where</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Temporal Conjunctive Queries</title>
      <p>
        Let K = hT ; (Ai)0 i ni be a knowledge base with a sequence of ABoxes sharing
one TBox. Let’s describe a query language extending the language of conjunctions of
positive existential formulae built from query atoms. Having in mind linear temporal
logic LT L (see e.g. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), this language allows for the following temporal operators: #
(next), # (previous), U (until), S (since).
      </p>
      <p>Definition 3. Temporal conjunctive query (TCQ)
is an expression
tconj(x; c) = 9y:q1 ^ : : : ^ qm;</p>
      <p>qi ::= ' j
' ::= C(t) j r(t1; t2)
::= ' j 1 ^ 2 j # j # j 1 S 2 j 1 U 2
and C is a concept description, r is a role name, t; t1; t2 are terms in Terms(Q).</p>
      <p>
        Derived temporal modalities like 3 (sometimes in the past), 2 (always in the
past), 3; 2 can be defined in a usual way (see, e.g. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]).
      </p>
      <p>Example 2. A query asking about students who had defended their thesis some time
ago and had been ex-matriculated since then is expressed as follows:</p>
      <p>Q(x) = fx j 9y:3 Student(x) ^ exM atriculated(x) S hasDef ended(x; y)g
The semantics of the TCQ is defined as follows.</p>
      <p>Definition 4. A total function : Terms( ) ! is a binding for a query in an
interpretation I, if (a) = a for all individuals a 2 dom( ), and the validity I; j=
for atemporal CQ ' is defined inductively:</p>
      <p>I; j= C(t) iff I j= C( (t))
I; j= r(t1; t2) iff I j= r( (t1); (t2))
I; j= '1 ^ '2 iff I; j= '1 and I; j= '2</p>
      <p>I; j= 9y' iff 9e 2 : 0 = [y=e] and I; 0 j= '
where the notation [y=e] represents a binding extended with (y) = e if y is not in
the domain of , otherwise the original value for y is replaced by e.</p>
      <p>The validity for a TCQ and a KB K = hT ; (Ai)0 i ni is extended as follows:
K; i; j= '
K; i; j=
K; i; j= #
K; i; j= #
K; i; j=
K; i; j=</p>
      <p>iff 8I j=T Ai:I; j= '
1 ^ 2 iff K; i; j= 1 and K; i; j= 2
iff i &lt; n and K; i + 1; j=
iff i &gt; 0 and K; i 1; j=
1 U 2 iff 9k; i k n : K; k; j= 2</p>
      <p>and 8j; i j &lt; k : K; j; j= 1
1 S 2 iff 9k; 0 k i : K; k; j= 2</p>
      <p>and 8j; k &lt; j i : K; j; j= 1</p>
      <p>For a binding , if, for every i, 8I j=T Ai:I j= K, this implies I j= . If such
evaluation exists, we write K j= and we say is a match for in K. For a tuple
of individuals c1; : : : ; cn mapped to a tuple of answer variables x1; : : : ; xn we say
c1; : : : ; cn is a certain answer for in K, iff K j= [x1; : : : ; xn=c1; : : : ; cn]. We denote
a set of certain answers for as Ans( ).</p>
      <p>Definition 5. A union of temporal conjunctive queries (UTCQ) Q(x) is a disjunction
of temporal conjunctive queries (see Definition 3):</p>
      <p>Q(x) = fx j tconj1(x; c) _ : : : _ tconjn(x; c)g
4</p>
    </sec>
    <sec id="sec-4">
      <title>Answering a Union of Temporal CQs Over a Sequence of</title>
    </sec>
    <sec id="sec-5">
      <title>ABoxes</title>
      <p>4.1</p>
      <sec id="sec-5-1">
        <title>Algorithm Answering a Union of Temporal CQs</title>
        <p>The idea of answering a UTCQ against a set of ABoxes is to use temporal operators as
the means of detection of time points at which atemporal CQs should be evaluated. Due
to the recursive nature of such temporal operators as S ; U we have to store all the
ABoxes and the values of particular CQs depending on the operator. Intuitively, given
= # at a time point i, is evaluated at the time i + 1, and so on.</p>
        <p>To be able to combine certain answers obtained from different CQs of one TCQ,
let’s take a closer look at the nature of certain answers.</p>
        <p>A certain answer to a CQ is a binding of each xi 2 x (distinguished variables)
to some individual name that appeared in the KB K, such that in all models of K,
K j= ( (x)). There could be more than one certain answer for a CQ , so further we
shall consider a set of certain answers for a query (x). A correspondent set of matches
for actually produces some k-ary relation, where k is the arity of a CQ .</p>
        <p>A certain answer to a UCQ is a combination of answers of CQs in , i.e. c1 [: : :[
cn where n is a number of CQs in . For such a combination there are two possible
situations: (i) disjuncts j1 , j2 in UCQ use pairwise disjoint sets of distinguished
variables (i.e. there are no common distinguished variables in two arbitrary disjuncts
of ); (ii) some disjuncts can share (some) distinguished variables of each other. To
deal with sets of certain answers (that are actually relations) we adopt two operators of
relational algebra, namely, - a cross-product, and ./ - a natural join.</p>
        <p>
          Cross-product operator [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] is used for the case (i).
        </p>
        <p>Definition 6. Given two bindings 1 : (x1; : : : ; xn) ! , 2 : (y1; : : : ; ym) ! ,
their cross-product, 1 2 is a binding : X ! where x; y are free variables that
do not have any variables in common, and X = (x1; : : : ; xn; y1; : : : ; ym).</p>
        <p>
          Join operator ./ [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] is used for the case (ii) to join two bindings w.r.t. common
variables in both bindings are mapped to same constant.
        </p>
        <p>Definition 7. Given two bindings 1 : (x1; : : : ; xn; z) ! , 2 : (y1; : : : ; ym; z) !
, their join, 1 ./ 2 is a binding : X ! where x; y; z are free variables and
X = (x1; : : : ; xn; y1; : : : ; ym; z), iff every common variable z must be mapped to same
constant c 2 .</p>
        <p>A correspondent binding for</p>
        <p>1 ./ : : : ./ n
The following theorems show applications of
will be: for (i)
=
1
: : :</p>
        <p>n , and for (ii)
and ./ for bindings.</p>
        <sec id="sec-5-1-1">
          <title>Theorem 1. Given a formula</title>
          <p>= 1 ./ 2 is a match for
= 1 ^ 2, where 1, 2 are CQ formulas, a binding
iff bindings 1, 2 are matches for 1, 2.</p>
          <p>Proof. It is true based on the definition of the join operator.</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>Theorem 2. Given a formula</title>
          <p>= 1 2 is a match for
match for 2.</p>
          <p>= 1 _ 2, where 1, 2 are CQ formulas, a binding
iff the binding 1 is a match for 1 or the binding 2 is a
Proof. The ) direction is trivial.</p>
          <p>For ( direction, assume 1 : (x1; : : : ; xn; z) 7! , 2 : (y1; : : : ; ym; z) 7! , and
they are matches for 1 and 2. From the nature of disjuntion, we know that formula
is satisfiable if either 1 or 2 is satisfiable. That means if there is a match for either 1
or 2. If z appears in both of the CQs, renaming z in one of the CQs does not change
the validity. Therefore, we have that : (x1; : : : ; xn; z; y1; : : : ; ym; z0) 7! which is
obtained from 1 2 is indeed a match for .</p>
          <p>Now, consider a structure of a certain answer to a union of temporal CQs (UTCQ).
It is a combination of answers to a (set of) TCQ obtained at proper time points, referred
by temporal operators used in a UTCQ.</p>
          <p>
            One more thing to be explicitly addressed is that known algorithms for conjunctive
query answering, such as [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ], [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ], are focused on query entailment, that is, a Boolean
conjunctuve query answering. This means that the task of answering an atemporal CQ
requires a preprocessing step, and considers a Boolean conjunctive query answering
algorithm as a black box. Namely, at the preprocessing step a candidate match (a tuple
of variables, substituted via some binding with a tuple of individuals c) is submitted
to a Boolean conjunctive query answering engine, and that engine decides if such a
candidate match is a certain answer.
          </p>
          <p>Now, present the algorithm informally.</p>
          <p>Eliminate temporal operators in a UTCQ The important step in our algorithm is to
get a normal form where the temporal operators are used to decide at which time
point should each CQ be evaluated. This is done by iterative applecation of the
expansion rules Table 1. For every # and # operators, we just shift one point
forward and backward. By doing these, we obtain a query that is in normal form
whose atoms are UCQs, except some recursion atom which is a TCQ.</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>Replace the boolean operators with relational operators Every conjunction is replaced</title>
        <p>with join and every disjunction - with cross-product.</p>
        <p>
          Retrieve an answer Use an arbitrary query answering algorithm [
          <xref ref-type="bibr" rid="ref6 ref7 ref8 ref9">6–9</xref>
          ] as a black-box
approach to compute a set of answers for a given UCQ. If the original UTCQ
contains U , S , 2, 2 , 3, 3 , the normal form of the transformed query might
contain a recursion. In such case, if the time point i &lt; 0 or i &gt; n, then return ;,
else evaluate CQs with leading # or # for U , S and for derived modalities (if
any).
        </p>
        <p>For the illustration of Algorithm 1 consider some examples, assuming that
Algorithm 1 returns a set Ans of answers to at the time point i.</p>
        <p>Example 3. Given a TCQ query
= #
( 1 U
nmove forward one point by #</p>
        <p>A more complex example is given below.
Example 4. Given a TCQ query
= 3 ( 1 U</p>
        <p>There is one thing we have to ensure that in the intersection of two sets of answers
for conjunction of CQs a certain answer is obtained, i.e. there is a common answer for
both CQs, otherwise an empty set. One way to do this is to retrieve all answers for each
CQ and then to intersect them to get some common answers. Another way is first to
retrieve an answer of a UCQ and then to decide if this answer is also the answer for
the other CQs in the conjunction, otherwise keep retrieving and deciding until there is
no more answer obtained. The former way is preferred since it offers more practical
solution. It means that we can deal with it using relational algebra operators or database
language operators.</p>
      </sec>
      <sec id="sec-5-3">
        <title>Termination, Soundness, Completeness of the Algorithm</title>
        <p>Definition 8. (UTCQ closure). Given a temporal union of conjunctive queries Q, its
closure set, Cl(Q) is a set of query atoms closed under the following rules
if q 2 Q then q 2 Cl(Q)
if # q 2 Q then q 2 Cl(Q)
if #q 2 Q then q 2 Cl(Q)
if q1 ^ q2 then q1; q2 2 Cl(Q)
if q1 _ q2 then q1; q2 2 Cl(Q)
if q1 U q2 then q1; q2; #(q1 U q2) 2 Cl(Q)
if q1 S q2 then q1; q2; # (q1 S q2) 2 Cl(Q)</p>
        <p>Since a closure set for a UTCQ is finite, Algorithm 1 terminates after a finite number
of steps.
Theorem 3. (Local) termination. Given a UTCQ Q and a knowledge base</p>
        <p>K = fT ; (Ai)0 i ng. Algorithm 1 always terminates.</p>
        <p>Proof. We can show the local termination inductively.</p>
        <p>Base case. Any query is also cointained in the closure set of itself.</p>
      </sec>
      <sec id="sec-5-4">
        <title>Inductive case.</title>
        <p>(C(a), r(a1; a2)) If we have a query Q which is atomic, then the closure set contains
C(a) or r(a1; a2).</p>
        <p>(# T CQ) For such query Cl(Q) = fT CQ; # T CQg, i.e. evaluated are two
elements, and in case of i = 0 the value of # T CQ is known to be ;, so Algorithm 1
stops after two evaluations.</p>
        <p>(T CQ1 U T CQ2) For such query Cl(Q) = fT CQ2; T CQ1; T CQ1 U T CQ2;
# (T CQ1 U T CQ2)g</p>
        <p>(T CQ1 S T CQ2) For such query Cl(Q) = fT CQ2; T CQ1; T CQ1 S T CQ2;
# (T CQ1 S T CQ2)g
Theorem 4. Soundness. If for UTCQ Q its answer set Ans(Q(x); i), obtained with
Algorithm 1, is not empty, then Q has at least those certain answers that are in Ans(Q; i).
Proof. We prove by induction. We start with evaluating non-temporal query, i.e. a query
containing no temporal operator.</p>
        <p>Base case If we have an atomic query in the form of C(a), then using any
approach of CQ answering we obtain all the answers for the query Q entailment over
K = fT ; (Ai)0 i ng. If K j= C(a) and a 2 Ans(Q(x); i), the function returns a
and this value is stored in Ans(Q(x); i). By Definition 4, this result tells us that the
individual a is a certain answer to the query C(x) w.r.t. the match (x) = a. The same
result is obtained if we have atomic query in the form of r(a; b).</p>
        <p>Inductive case can be obtained by Definition 4.</p>
        <p>Theorem 5. Completeness. If a UTCQ Q has a certain answer ans, then Algorithm 1
shows that this answer is in Ans(Q; i).</p>
        <p>Proof. By contradiction. Assume that (i) Q(x) has a certain answer ans w.r.t , (ii)
Ans(Q; i) - is a set of certain answers obtained by Algorithm 1, and (iii) ans 62
Ans(Q; i). By (i), we know that K j= Q(ans) and that for all time points 0 i n
in all models I, such that I j= K, I j= Q(ans). By (ii), for Algorithm 1 to return
Ans(Q; i) such that ans 62 Ans(Q; i) there are several reasons for it.</p>
        <p>Q is atomic. If Q is atomic, i.e. in the form C(x) or r(x; y), then we know that
Ans(Q; i) does not contain ans. This means that there is a model I of a knowledge
base K which does not entail Q(ans). But this is a contradiction to our assumption (i).</p>
        <p>(T CQ1 ^ T CQ2). If Ans(Q; i) does not contain ans, according to Algorithm 1
it means that ans 62 Ans(T CQ1; i) ./ Ans(T CQ2; i). This, in turn, leads to the
existence of a model I of a knowledge base K such that I j= T CQ1(ans) and I 2
T CQ2(ans) or vice versa, that contradicts to (i).</p>
        <p>(T CQ1 _ T CQ2). If Ans(Q; i) does not contain ans, according to Algorithm 1
it means that ans 62 Ans(T CQ1; i) Ans(T CQ2; i). This, in turn, leads to the
existence of a model I of a knowledge base K such that either I 2 T CQ1(ans) or
I 2 T CQ2(ans), that contradicts to (i).
(# T CQ). If Ans(Q; i) does not contain ans, according to Algorithm 1 it means
that ans 62 Ans(Q; i 1). This, in turn, leads to the existence of a model I of a
knowledge base K such that I; i 1 2 Q(ans), that contradicts to (i).</p>
        <p>(T CQ1 U T CQ2). If Ans(Q; i) does not contain ans, according to Algorithm 1
it means that ans 62 Ans(T CQ2; i) (Ans(T CQ1; i) ./ Ans(Q; i + 1). This, in
turn, leads to the existence of a model I of a knowledge base K such that either I; i 2
T CQ2(ans) or I; i 2 T CQ1(ans) and I; i + 1 2 Q, that contradicts to (i).</p>
        <p>(T CQ1 S T CQ2). If Ans(Q; i) does not contain ans, according to Algorithm 1
it means that ans 62 Ans(T CQ2; i) (Ans(T CQ1; i) ./ Ans(Q; i 1). This, in
turn, leads to the existence of a model I of a knowledge base K such that either I; i 2
T CQ2(ans) or I; i 2 T CQ1(ans) and I; i 1 2 Q, that contradicts to (i).</p>
        <p>The proof for the temporal operator # acting in the direction of future can be
completed in the same manner.
5</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work and Conclusions</title>
      <p>
        Transition graphs for a temporal query language answering over a finite set of versions
of a database were investigated in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The expressivity of a temporal query language
presented is however restricted either to past [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], or to future [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] direction
of time. Known are several algorithms for answering unions of conjunctive queries
over knowledge bases with static TBox and ABox, for example works of Ortiz [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
Glimm [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], Tessaris [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], Motik [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] should be mentioned. Any of those algorithms could
serve as a basis for finding answers to atemporal CQs at particular time points, whereas
possible extensions of those algorithms for the application to a sequence of ABoxes is
an open question. A language of temporal conjunctive queries with negation, together
with the computational and combined computational complexity is intriduced in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
Summing up, obtaining benefits from keeping a large evolving ABox of a knowledge
base in a database and applying TBox of that knowledge base to obtain missing
assertional axioms is one of the ways of dealing with complex evolving domains. It is
interesting, due to high computational complexity of temporal conjunctive query
answering in general, to find a balance between the expressivity of a query language and
its practical applicability.
      </p>
      <p>Acknowledgements The presented results were obtained during the research visit of
the author to the Chair of Automata Theory at Dresden University of Technology. The
author is grateful to the group of Prof. Franz Baader, and in particular, Eldora, Marcel
Lippmann and Anni-Yasmin Turhan for the fruitful discussions and ideas at the stage
of early drafts of the paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            <given-names>R</given-names>
          </string-name>
          .
          <article-title>Linking Data to Ontologies</article-title>
          .
          <source>J. on Data Semantics</source>
          ,
          <string-name>
            <surname>X</surname>
          </string-name>
          ,
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baumgartner</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cregan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gabaldon</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ji</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajaratnam</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwitter</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>A novel architecture for situation awareness systems</article-title>
          . In: Giese,
          <string-name>
            <given-names>M.</given-names>
            and
            <surname>Waaler</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Proc. 18th International Conference on Automated Reasoning with Analytic Tableaux and Related Methods (Tableaux</source>
          <year>2009</year>
          ). LNCS, vol.
          <volume>5607</volume>
          , pp.
          <fpage>77</fpage>
          -
          <lpage>92</lpage>
          . Springer, Berlin/Heidelberg (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.F</given-names>
          </string-name>
          . (eds.).
          <source>The Description Logic Handbook: Theory</source>
          , Implementation, and
          <string-name>
            <surname>Applications</surname>
          </string-name>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baier</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
          </string-name>
          , J.-P. Principles of Model Checking. The MIT Press, Cambridge, Massachusetts, USA (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Abiteboul</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vianu</surname>
          </string-name>
          , V. Foundations of Databases. Addison-Wesley (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ortiz de la Fuente</surname>
            ,
            <given-names>M.M. Query</given-names>
          </string-name>
          <article-title>Answering in Expressive Description Logics Techniques and Complexity Results</article-title>
          .
          <source>PhD Thesis</source>
          . Technischen Universitt Wien,
          <source>Fakultt fr Informatik</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Glimm</surname>
            ,
            <given-names>B. Querying</given-names>
          </string-name>
          <article-title>Description Logic Knowledge Bases</article-title>
          .
          <source>PhD Thesis</source>
          . The University of Manchester (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <article-title>Reasoning in Description Logics using Resolution and Deductive Databases</article-title>
          . Univesitt
          <string-name>
            <surname>Karlsruhe</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Tessaris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Questions and answers: reasoning and querying in Description Logic</article-title>
          . The University of Manchester (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lipeck</surname>
            ,
            <given-names>U.W.</given-names>
          </string-name>
          <article-title>Transformation of Dynamic Integrity Constraints into Transaction Specifications</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>76</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>115</fpage>
          -
          <lpage>143</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Schwiderski</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartmann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saake</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Monitoring Temporal Preconditions in a Behaviour Oriented Object Model</article-title>
          .
          <source>Data Knowl. Eng.</source>
          ,
          <volume>14</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>143</fpage>
          -
          <lpage>186</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lipeck</surname>
          </string-name>
          , U.W.,
          <string-name>
            <surname>Feng</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Construction of Deterministic Transition Graphs from Dynamic Integrity Constraints</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>344</volume>
          , pp.
          <fpage>166</fpage>
          -
          <lpage>179</lpage>
          . Springer Verlag (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Baader</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgwardt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Lippmann,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>On the Complexity of Temporal Query Answering</article-title>
          .
          <source>Technical report LTCS-Report 13-01</source>
          . Available at http://lat.inf.tudresden.de/research/reports/2013/BaBoLi-LTCS-
          <volume>13</volume>
          -01.pdf (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>