<!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>Extending DL-Lite R TBoxes with View Definitions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Manuel Namici</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe De Giacomo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maurizio Lenzerini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Ingegneria Informatica, Automatica e Gestionale “Antonio Ruberti” Sapienza, Università di Roma lastname @diag.uniroma1.it</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Views are a mechanisms for precomputing answers to query of particular significance. Views have a definition (the query itself) and an extension obtained by evaluating the query over the data sources. Views are used for controlling the access to data and keep data even when the original sources are not accessible anymore. In this paper we introduce views definitions in DL-LiteR ontologies as an additional form of assertions in the TBox, and we study the basic reasoning tasks involving them, including consistency, containment, disjointness, projection classification, and query answering.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The notion of view is used in data management to create an abstraction of a
query (which forms the definition of the view), and to see it as an ordinary
database object. When such an object is mentioned in a data service (query or
update), the data manager substitutes it with its “content”, and then executes
the service resulting from the substitution. In relational databases, views can
be seen as new relations derived from the elementary ones (base relations). But
views are also available in NoSQL systems (e.g., MongoDB), and they have been
studied for graph databases as well. Note that there are two interpretations of the
notion of “content” here: for dynamic views, the content is simply the definition
of the associated query, whereas for static views (also called materialized views),
the content is the so-called “extension” of the view, i.e., the result that was
pre-computed and cached for the associated query.</p>
      <p>There are many uses of views in data management. For example, they can
provide the user with concepts that are derived from the elementary database
objects, thus improving abstraction. Or, they can represent a selection of the
data contained in a particular portion of the database, so as to limit the degree
of exposure of the underlying data to the outer world. Indeed, users of a given
class may have permission to query the view, while denied access to the rest of
the database. Views can also present aggregations to the users, thus providing
calculated results as part of the data temselves. Finally, views can be used in
data integration to specify which portion of a data source is mapped to which
concepts in the global schema, or in data exchange to characterize the portion of
the data to be transferred from the sources to the target system.</p>
      <p>
        Generally speaking, the notion of view can be very well used in knowledge
bases too. Surprisingly, however, there are only few works dealing with views in
such area in general, and in Description Logics in particular. Here, we mention
those works that are the most relevant for the present paper. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the authors
propose to split the TBox of a knowledge base in two parts, one for declaring
the classical terminological axioms regarding the concepts and the relation of
interest (forming the schema), and one for defining views, that are new concepts
(unary predicates), each one with an associated definition. Axioms regarding the
concepts in the schema refer only to names of schema elements, whereas concept
expressions constituting the view definitions may refer to names of both schema
and view elements. Note that views can be recursive, in the sense they contain
(either direct or indirect) references to themselves, and fixpoint semantics are
advocated for dealing with cycles in the definitions. In the seminal paper [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the
authors introduce the problem of rewriting queries using views in Description
Logics: find a query expression that uses only a set of conjunctive views V
defined over a Description Logic knowledge base, and is equivalent to a given
conjunctive query Q. While query rewriting aims at computing a query over the
views that is equivalent to the original one, view-based query answering has the
goal of computing the answers to a query by relying only on the pre-computed
extensions of a set of views. Obviously, rewriting is a technique for addressing
view-based query answering, but the latter is a more general problem than the
one of rewriting queries using views. Algorithms and complexity for view-based
query answering in lighweight Description Logics have been investigated in [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ].
      </p>
      <p>
        In this paper we follow an approach similar to the one adopted in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], but with
the following differences: (i) Each view is given as a conjunctive query, rather
than a concept expression, thus allowing the use of variables, joins, projections,
and selections in the expression associated to the view definition. (ii) We do
not limit the views to unary or binary predicates, and thus each view symbol
has an associated arity (greater than 0), which corresponds to the number of
distinguished variables of the query constituting its definition. (iii) We disallow
the use of recursion in view definitions.
      </p>
      <p>Example 1. Consider an ontology containing the following axioms:
9hasTaken v Student, 9hasGiven v Professor, 9isTheCourseOf v Course,
9teaches v Professor, 9teaches v Course
where the notion of “exam” is represented in terms of a number of binary relations
linking the various actors (student, professor) and components (course, grade)
of the exam. If we want to provide the user with a different abstraction of the
notion of exam, in particular as a specific predicate with 4 arguments, indicating
who has taken the exam, what is the corresponding course, who is the professor
(who must teach the course) who has given the exam, and which is the assigned
grade, then we can define the following view:
Exam(x; y; w; z)</p>
      <sec id="sec-1-1">
        <title>9t hasTaken(x; t), isTheCourseOf(y; t), HasGiven(w; t),</title>
        <p>teaches(w; y), grade(t; z)
The above example shows that with the new predicate symbols corresponding
to the views, the ontology is enriched with new abstractions that can be used
during both ontology exploration for domain analysis, and query answering. The
introduction of such new predicates may help overcoming some limitations of
Ontology-based Data Access (OBDA) systems. The first limitation has to do
with the nature of the ontology languages used in OBDA, which only allows
unary and binary predicates. The use of views provides the possibility of using
n-ary predicates in modeling the domain. The second limitation is related to the
controlled expressive power in specifying the axioms of the ontology. For example,
no lightweight ontology languages allows the free use of joins in concepts and
role expressions. Once again, the possibility of defining conjunctive views may
help overcoming this limitation.</p>
        <p>Obviously, once we have introduced views in our ontology, we should be able
to reason about them in all the tasks where the ontology plays a role. We discuss
two basic classes of reasoning tasks, namely query answering, and reasoning about
views. It is easy to see that, with the limitation (iii), computing the certain
answers to (unions of) conjunctive queries whose atoms are ordinary concepts
and relations, and view symbols can be still done in AC0 in the case where the
ontology is expressed in DL-LiteR. Indeed, a simple unfolding strategy suffices
for this purpose. Reasoning on views, on the other hand, is more challenging.
Indeed, we aim at designing algorithms and study the complexity of checking
view consistency, view containment and view disjointness. This is exactly the
topic of this paper.</p>
        <p>The paper is organized as follows. In Section 2 we illustrate some preliminary
notions of queries in Description Logics. Section 3 describes our approach for
extending ontologies with views. Section 4 presents algorithms and complexity
analyses for reasoning about views. Finally, Section 5 concludes the paper, by
highlighting possible directions for future work.
2</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        In this section we briefly recap the basic notions of Description Logics [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] (DLs)
and conjunctive queries [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. DLs are a family of formal knowledge representation
languages that are essentially fragments of first-order logic that can be used
to model the domain of interest in terms of individuals, representing single
individuals in the domain, concepts, representing sets of individuals, and roles,
representing binary relations on sets of individuals. A DL knowledge base (KB)
or ontology is composed by a set of logical axioms, which are typically separated
into terminological (TBox) axioms, that describe relationships between concepts
and roles, and assertional (ABox) axioms, that describe knowledge about (tuples
of) individuals in the domain. In this paper we consider the Description Logic
DL-LiteR [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] of the DL-Lite family of lightweight Description Logics.
DL-LiteR: syntax and semantics. Given a signature S = hNc; Nr; Nii, where Nc
is a set of atomic concept names, Nr is a set of atomic role names, and Ni is a set
of individual names, then DL-LiteR concept and roles are constructed according
to the following syntax:
      </p>
      <p>B ::= A j 9R
C ::= B j :B</p>
      <p>R ::= P j P
E ::= R j :R
where A 2 Nc denotes an atomic concept, P 2 Nr denotes an atomic role, B
denotes a basic concept, that can either be an atomic concept or an expression of
the form 9R, and R denotes a basic role, that can be either an atomic role or
the inverse of an atomic role. Finally, C and E denote, respectively, a general
concept, that can be either a basic concept or its negation, and a general role,
that can be either a basic role or its negation.</p>
      <p>A DL-LiteR TBox T over a signature S is formed by a finite set of inclusion
assertions of the form:</p>
      <p>B v C</p>
      <p>R v E
where general concept expressions (resp. general role expressions) are allowed
to occurs only on the right-hand side of the inclusion assertion. Intuitively, an
assertion of the form B v C states that all instances of the basic concept B
are also instances of the general concept C, whereas an assertion of the form
R v E states that all instances of the basic role R are also instances of the
general role E.</p>
      <p>A DL-LiteR ABox A over a signature S is formed by a finite set of membership
assertions on atomic concepts and roles, of the form:</p>
      <p>A(a)</p>
      <p>P (a; b)
where a; b 2 Ni are constants denoting object (individuals) in the domain, A(a)
states that the object denoted by the constant a is an instance of the atomic
concept A, and P (a; b) states that the pair of objects identified by constants
a and b is an instance of the atomic role P . Given a TBox T and an ABox A
defined as above, a DL-LiteR knowledge base (KB) over a signature S is defined
as the pair O = hT ; Ai.</p>
      <p>The semantics of a DL-LiteR KB O = hT ; Ai is given in terms of
firstorder interpretations. An interpretation I over a signature S is defined as a
pair I = h I ; I i where I is a nonempty interpretation domain, and I is an
interpretation function, that assigns to each concept C a subset CI of I , to
each role R a binary relation RI over I , and to each individual a an element
aI of I , according to the following rules:
aI 2
AI
P I</p>
      <p>I
I
I</p>
      <p>I
(9R)I
a j 9b: ha; bi 2 RI</p>
      <p>Given a KB O = hT ; Ai over a signature S, and an interpretation I = I ; I
over the same signature, then an inclusion assertion B v C (resp. R v E) in T
is said to hold in I if and only if BI CI (resp. RI EI ), while a membership
assertion A(a) (resp. P (a; b)) is said to hold in I if and only if aI 2 AI (resp.
haI ; bI i 2 P I ). An interpretation I is a model for O, denoted as I j= O, if and
only if it satisfies every inclusion assertion and every membership assertion in O.
The set of all models of a KB is indicated as Mod (O) = fI j I j= Og. We use
the same notation I j= T and Mod (T ) also when we refer only the TBox T .
Conjunctive Queries over DL-LiteR. A conjunctive query (CQ) over a DL
knowledge base is an open first-order logic formula of the form:</p>
      <p>
        9~y:conj(~x; ~y)
where ~x are the free (or distinguished ) variables, and ~y are the existentially
quantified (or non-distinguished ) variables, and conj is a conjunction of atoms
over the signature of the knowledge base, each of the form A(z) or P (z; w), where
A is an atomic concept, P is an atomic role, and z, w are constants appearing in
A or variable names. A CQ that does not involve any free variable is called a
boolean CQ corresponding to a closed formula of first-order logic. Sometimes, it
is convenient to denote CQs using datalog notation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
q(~x)
      </p>
      <p>conj(~x; ~y)
where q(~x), called the head of the query, is a symbol that is not part of the
signature of the KB, and conj (~x; ~y) is called the body of the query. Using this
notation, variables in ~x appearing in the head of the query denote the free
variables, while variables in ~y, that do not appear in the head of the query, are
the non-distinguished variables, and are assumed to be implicitly existentially
quantified. Moreover, conjunction in datalog notation is typically represented by
separating atoms with a comma. Using datalog notation, a boolean CQ can be
simply written as: q() conj(~y).</p>
      <p>The semantics of a CQ are given in terms of answers : Given an interpretation
I, the answers to a CQ 9~y:conj(~x; ~y) is given in terms of the assignments
: V ars ! I from the free variables in ~x to the constants in I, such that,
when substituted, make the formula true in I.</p>
      <p>conjI = f (~x) j I; j= 9~y:conj(~x; ~y)g</p>
      <p>
        The crucial characteristic of DL-LiteR ontologies is that they enable the
socalled Ontology-based Data Access [
        <xref ref-type="bibr" rid="ref10 ref6 ref7">6, 7, 10</xref>
        ]. Indeed, DL-LiteR enjoys first-order
rewritability of query answering. That is, every (union of) CQ over a DL-LiteR
ontology can be rewritten into a first-order query to be evaluated over the ABox
only (i.e., the individual data) considered as a database. This property, on the
one hand, gives us a very low worst-case computational complexity bound w.r.t.
data, namely AC0 data complexity. On the other hand, it gives us a very effective
practical technique to deal with ontologies that include very large ABoxes (i.e.,
a lot of individual data): perform the rewriting; transform the first-order query
into SQL, or SPARQL, depending on how data are stored; and perform the
resulting query exploiting a data management engine to take advantage of all
optimizations available for these standard languages.
      </p>
      <p>While in this paper we do not consider directly query answering, we will
exploit DL-LiteR nice computational features when reasoning on views.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Extending DL-Lite R TBoxes with Views Definitions</title>
      <p>In this section we describe an extension to the notion of DL-LiteR KB that
includes views defined as conjunctive queries.</p>
      <p>If O = hT ; Ai is a DL-LiteR KB over a signature S, a view V over O is
defined as follows:
where v is the name associated with the view V , and conj is a CQ over O with
free variables ~x. As a notation, in what follows we will indicate with name(V ) the
corresponding view symbol v associated with V , with def (V ) the corresponding
conjunctive query 9~y:conj(~x; ~y) associated with V , and with arity(V ) the arity
of the view V , coinciding with the number of free variables ~x.</p>
      <p>Now, if Nv = fv1; : : : ; vng is a finite set of view names, where each vi is a
symbol not appearing in S, and V = fV1; V2; : : : ; Vng is a set of views over O,
where each Vi 2 V is defined as follows:</p>
      <p>Vi = hvi; 9~y:conji(~x; ~y)i
then Ov = hT ; A; Vi is called a view-enriched knowledge base over the signature
Sv = hNc; Nr; Ni; Nvi.</p>
      <p>For convenience, with a little abuse of notation, for view Vi we will sometimes
use the abbreviated form vi(~x) conji(~x; ~y).</p>
      <p>Example 2. Let’s consider the following ontology, composed by:</p>
      <p>T = fStudent v Person;</p>
      <sec id="sec-3-1">
        <title>Professor v Person;</title>
      </sec>
      <sec id="sec-3-2">
        <title>Student v :Professor;</title>
      </sec>
      <sec id="sec-3-3">
        <title>9LivesIn v Person;</title>
      </sec>
      <sec id="sec-3-4">
        <title>9LivesIn v City;</title>
      </sec>
      <sec id="sec-3-5">
        <title>9LocatedIn v City;</title>
      </sec>
      <sec id="sec-3-6">
        <title>9LocatedIn v Countryg</title>
        <p>A = fStudent(john);</p>
        <sec id="sec-3-6-1">
          <title>Professor(mary);</title>
          <p>LivesIn(john; london);</p>
        </sec>
      </sec>
      <sec id="sec-3-7">
        <title>LocatedIn(london; uk)g</title>
        <p>Then we can introduce a view V = fV1g as follows:</p>
        <p>V1 = hPersonCountry; 9y:Person(x1) ^ LivesIn(x1; y) ^ LocatedIn(y; x2)i
name(V1) = PersonCountry arity(V1) = 2
def (V1) = 9y:Person(x1) ^ LivesIn(x1; y) ^ LocatedIn(y; x2)
The abbreviated form for the view V1 is:</p>
        <sec id="sec-3-7-1">
          <title>PersonCountry(x1; x2)</title>
        </sec>
        <sec id="sec-3-7-2">
          <title>Person(x1); LivesIn(x1; y); LocatedIn(y; x2)</title>
          <p>In order to define the semantics for Ov, we need to provide the semantics
for the views in V. Thus, starting from the notion of interpretation as described
in Section 2, we extend the interpretation function to views as follows:
viI = conjiI = f (~x) j I; j= 9~y:conj(~x; ~y)g
that is, the interpretation of a view vi is equivalent to the assignments that make
the corresponding formula conji true in I. Notice that by adopting this definition,
such views act as a conservative extension to the KB language.</p>
          <p>Example 3. An interpretation I that satisfies the ontology in the example above
is the following:</p>
          <p>I = fj; k; l; mg</p>
          <p>PersonI = fj; mg</p>
          <p>StudentI = fjg
ProfessorI = fmg</p>
          <p>CityI = flg
CountryI = fkg</p>
          <p>LivesInI = fhj; lig
LocatedInI = fhl; kig
johnI = j
maryI = m
londonI = l
ukI = k
Consider that the query def (V1) = 9y:Person(x) ^ LivesIn(x; y) ^
LocatedIn(y; z) is evaluated as (def (V1))I = fhj; kig, and this evaluation is
assigned to name(V1) = PersonCountry, hence, PersonCountryI = fhj; kig.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Basic Reasoning Services on Views Definitions</title>
      <p>We now proceed in defining a set of reasoning services in DL-LiteR that are of
interest when taking into account views as defined in Section 3. In particular, we
are interested in the following reasoning tasks:
– View consistency: Given a TBox T and a view V , defined as:</p>
      <p>V = hv; 9~y:conj(~x; ~y)i
we are interested in checking whether V is consistent w.r.t. T , denoted as
V 6=T ;. In other words, we want to know if there exists an interpretation I
such that I j= T , and vI 6= ;.</p>
      <p>Example 4. Consider the TBox from Example 2, and the view V1:</p>
      <sec id="sec-4-1">
        <title>Person(x1), LivesIn(x1; y), LocatedIn(y; x2)</title>
        <p>it is easy to see that this view is consistent with T . Indeed the interpretation I
in Example 3 is a model of T for which the interpretation of PersonCountry
is non-empty. However, if we consider for example a view V2 defined as:
then it is immediate to see that this view must be empty in every possible
model of T since the TBox assertion Student v :Professor implies that
their intersection is empty in every model of T , and hence Student(x1) ^
Professor(x1) is false for every assignment of x1 in every model of T .
– View containment: Given a TBox T and two views V1, V2, where
arity(V1) = arity(V2), defined as:</p>
        <p>V1 = hv1; 9y~1:conj1(~x; y~1)i</p>
        <p>V2 = hv2; 9y~2:conj2(~x; y~2)i
we are interested in checking whether v1 is contained in v2, denoted as
V1 T V2. In other words, we are interested in checking whether v1I v2I , for
every interpretation I that is a model of T .</p>
        <p>Example 5. Consider again the TBox T from Example 2, and the views V1
and V2 defined respectively as follows:
it follows from the TBox axioms that V2 must be contained in V1 in every
possible model of T since the TBox contains the assertion Student v Person.
– View disjointness: Given a TBox T and two views V1, V2 where arity(V1) =
arity(V2), defined as:</p>
        <p>V1 = hv1; 9y~1:conj1(~x; y~1)i</p>
        <p>V2 = hv2; 9y~2:conj2(~x; y~2)i
we are interested in checking whether v1 is disjoint from v2, denoted as
V1\V2 =T ;. In other words, we are interested in checking whether v1I \v2I = ;,
for every interpretation I that is a model of T .</p>
        <p>Example 6. Consider once more the TBox T from Example 2, and the views
V1 and V2 defined respectively as follows:</p>
      </sec>
      <sec id="sec-4-2">
        <title>StudentCountry(x1; x2)</title>
      </sec>
      <sec id="sec-4-3">
        <title>ProfessorCountry(x1; x2)</title>
      </sec>
      <sec id="sec-4-4">
        <title>Student(x1), LivesIn(x2; y), LocatedIn(y; x2)</title>
      </sec>
      <sec id="sec-4-5">
        <title>Professor(x1), LivesIn(x1; y),</title>
      </sec>
      <sec id="sec-4-6">
        <title>LocatedIn(y; x2)</title>
        <p>we have that V1 and V2 must be disjoint in every possible model of T since
Student and Professor are disjoint in T .
4.1</p>
        <p>Checking View Consistency
We show how view consistency can be reduced to knowledge base satisfiability.
To do so, we introduce the notion of canonical ABox Aq of a boolean CQ q.
Definition 1. Given a boolean conjunctive query q, defined as 9~y:conj(~y), the
canonical ABox Aq for q is formed by the set of membership assertions as follows:
– For each variable y in q we include a new constant cy in the signature.
– One membership assertion A(t^) for each atom of the form A(t) 2 9~y:conj(~y),
where t^ = c if t is a constant c, and t^ = cy if t is a variable y.
– One membership assertion P (t^1; t^2) for each atom of the form P (t1; t2) 2
9~y:conj(~y), where t^i = c if ti is a constant c, and t^i = cy if ti is a variable y.</p>
        <p>Using the canonical ABox of a view V = hv; 9~y:conj(~x; ~y)i, we can check
consistency v 6=T ; by applying the boolean procedure ViewConsistency(T ; V ),
defined as follows:
1. Freeze the free variables ~x, by replacing them with fresh constants ~a. Notice
that when we replace the free variables ~x in 9~y:conj(~x; ~y), we obtain a boolean
query v~a of the form 9~y:conj(~a; ~y).
2. Compute the canonical ABox Av~a of 9~y:conj(~a; ~y).
3. Return true iff the KB hT ; Av~a i is consistent.</p>
        <p>Theorem 1. Let T be a DL-LiteR TBox, and V be a view, V =6T ; iff
ViewConsistency(T ; V ) evaluates to true.</p>
        <p>Proof. (() Let V = hv; 9~y:conj(~x; ~y)i. By definition ViewConsistency(T ; V )
returns true iff hT ; Av~a i is satisfiable. This means that there exists an
interpretation I such that I j= hT i; Av~a . Then the query 9~y:conj(~a; ~y) evaluates to true in
I. Notice that 9~y:conj(~a; ~y) is obtained from 9~y:conj(~x; ~y) by freezing the free
variables ~x with fresh constants ~a. Thus, if we consider the assignment such
that (~x) = ~aI we have that I; j= 9~y:conj(~x; ~y), hence, vI = f (~x)g and hence
V is consistent.</p>
        <p>()) If there exists an interpretation I for which vI 6= ;, then there exists an
assignment from the free variables ~x such that I; j= 9~y:conj(~x; ~y). Moreover,
considering the existentially quantified variables, there exists an assignment 0
such that I; 0 j= conj(~x; ~y). Let us introduce fresh constants ~a for ~x and ~b for
~y and extend the interpretation I to I’ that interprets these fresh constants
as ~aI0 = 0(~x) and ~bI0 = 0(~y). Then we immediately get that I0 is such that
I0 j= hT ; Av~a i, hence hT ; Av~a i is satisfiable. tu</p>
        <p>Considering the complexity of KB consistency in DL-LiteR, it is immediate
to assess the complexity of view consistency.</p>
        <p>Theorem 2. Let T be a DL-LiteR TBox, and V be a view, checking whether
V 6=T ; is in PTime in T , and AC0 in def (V ).
4.2</p>
        <p>Checking View Containment
We now show how view containment can be reduced to query answering. We
will again make use of the canonical ABox of a view, as defined above.
Consider two views, V1 = hv1; 9y~1:conj1(~x; y~1)i and V2 = hv2; 9y~2:conj2(~x; y~2)i,
we can check containment V1 T V2, by applying the boolean procedure
ViewContainment(T ; V1; V2), defined as follows:
1. Freeze the free variables ~x, by replacing them with fresh constants ~a. Notice
that we obtain two boolean queries vi;~a of the form 9~y:conji(~a; ~y).
2. Compute the canonical ABox Av1;~a of v1;~a.
3. Return T ; Av1;~a j= v2;~a (note that v2;~a is a boolean query).</p>
        <p>Theorem 3. Let T be a DL-LiteR TBox, and V1, V2 be two views of the same
arity, then V1 T V2 iff ViewContainment(T ; V1; V2) evaluates to true.
Proof. ()) If V1 T V2, then for every interpretation I that is a model of
T , we have that v1I v2I . Let’s now consider the boolean queries v1;~a; v2;~a,
obtained by freezing the variables ~x. It is easy to see that, by construction,
T ; Av1;~a j= v1;~a is always true. Since we know that v1I v2I , we can conclude also
that T ; Av1;~a j= v2;~a.
(() If T ; Av1;~a j= v2;~a, then by applying the deduction theorem we have that
T j= ^A2Av1;~a A =) v2;~a but ^A2Av1;~a A is v1;~a, hence we have T j= v1;~a =)
v2;~a. That is, for every model I0 of T extended with the interpretation of the
fresh constants ~a, we have that v1I;0~a v2I;0~a. If we now replace the fresh constants
with variables we get that for every model I of T and every assignment of the
free variables ~x, we have I; j= 9y~1:conj1(~x; y~1) implies I; j= 9y~2:conj2(~x; y~1).
Hence the claim. tu</p>
        <p>Considering the complexity of query answering in DL-LiteR, it is immediate
to assess the complexity of view containment.</p>
        <p>Theorem 4. Let T be a DL-LiteR TBox, and V1, V2 be two views of the same
arity, checking whether V1 T V2 is in PTime in T , AC0 in def (V1), and NP
in def (V2).
4.3</p>
        <p>Checking View Disjointness
In this section we show how view disjointness can be reduced to KB satisfiability.
Consider two views, V1 = hv1; 9y~1:conj1(~x; y~1)i and V2 = hv2; 9y~2:conj2(~x; y~2)i,
we can check disjointness V1 \ V2 =T ;, by applying the boolean procedure
ViewDisjointness(T ; V1; V2), defined as follows:
1. Freeze the free variables ~x, by replacing them with fresh constants ~a. Notice
that we obtain two boolean queries vi;~a of the form 9~y:conji(~a; ~y).
2. Compute the canonical ABoxes Av1;~a of v1;~a and Av2;~a of v2;~a.
3. Return true iff T ; Av1;~a [ Av2;~a is inconsistent.</p>
        <p>Theorem 5. Let T be a DL-LiteR TBox, and V1, V2 be two views of the same
arity, then V1 \ V2 =T ; iff ViewDisjointness(T ; V1; V2) evaluates to true.
Proof. From the definition of view disjointness we have that, for every model I of
T , V1\V2 =T ; if and only if v1I \v2I = (9y~1:conj1(~x; y~1))I \(9y~2:conj2(~x; y~2))I =
(9y~1; y~2: (conj1(~x; y~1) ^ conj2(~x; y~2)))I = ;, that is, the conjunction of def (V1)
and def (V2) is inconsistent w.r.t. T . Moreover, it is easy to see that the canonical
ABox of the conjunction of def (V1) and def (V2), after replacing the free variables
with fresh constants ~a is equal to Av1;~a [ Av2;~a . Hence, we can apply the same
reasoning that we adopted for view consistency, and get the thesis. tu</p>
        <p>Considering the complexity of KB consistency in DL-LiteR, it is immediate
to assess the complexity of view disjointness.</p>
        <p>Theorem 6. Let T be a DL-LiteR TBox, and V1, V2 be two views of the same
arity, then V1 ^ V2 =T ; is in PTime in T , and AC0 in def (V1) and def (V2).</p>
        <p>Other Reasoning Services on Views Definitions
By using the basic reasoning services introduced above, we can define more
complex reasoning services on view definitions. Here we discuss a few of them.</p>
        <p>
          We start with view classification, which is one of the key reasoning services
available in ontology-based systems. Classification consists typically in computing
the hierarchical representation of the subsumption (“is-a”) relation between the
concepts in the ontology as logical consequences of the TBox assertions [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
Specifically, concept classification is the task of computing all subsumptions
A v B between atomic concepts A; B 2 Nc of the ontology such that T j= A v B.
        </p>
        <p>Classification can be extended to views. View classification corresponds to
systematically checking whether V1 T V2 for all views in V. This is of particular
interest to understand if a certain view can be used for approximating another
one without actually computing the latter, for example.</p>
        <p>It is also of interest to check how unary views are classified w.r.t. concepts by
systematically checking whether V T VA and VA T V for all unary views and
atomic concepts A, where VA is the trivial unary view VA = hvA; A(x)i. In this
way we can understand how unary view relate to the concepts in the ontology.
Note that a similar classification can be done with binary views and roles.</p>
        <p>Finally, we can also check containment and disjointness w.r.t. to projections
over views. One interesting use of this possibility is to actually type each component
of a view with the most specific subsumer and subsumee atomic concept to
understand which concepts an n-ary view relates to.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Further Work</title>
      <p>
        We have presented a proposal for enriching Description Logic knowledge bases
with views. Our paper can be seen as a first step in a path towards a complete
approach to the management of views in Description Logic and in Ontology-Based
Data Access systems. There are many interesting directions to explore following
the path. Probably, the most relevant is the introduction of views defined using
epistemic operators in the body, in the spirit of [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The use of epistemic logic
allows more sophisticated views to be defined. For example, one could use the
epistemic operator for distinguishing between semantically different concepts
expressed as views, such as “exam given by a professor working for a department”,
and “exam given by a professor for which the corresponding department is known”.
The challenge in this case is to devise algorithms for reasoning about ordinary
and epistemic views in the context of the same knowledge base.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <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>
            ,
            <given-names>V.</given-names>
          </string-name>
          : Foundations of Databases. Addison-Wesley (
          <year>1995</year>
          ), http://webdam.inria.fr/Alice/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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.):
          <article-title>The Description Logic Handbook: Theory, Implementation, and Applications</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Beeri</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rousset</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Rewriting queries using views in description logics</article-title>
          . In: Mendelzon,
          <string-name>
            <given-names>A.O.</given-names>
            ,
            <surname>Özsoyoglu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z.M</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of the Sixteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, May 12-14</source>
          ,
          <year>1997</year>
          , Tucson, Arizona, USA. pp.
          <fpage>99</fpage>
          -
          <lpage>108</lpage>
          . ACM Press (
          <year>1997</year>
          ), https: //doi.org/10.1145/263661.263673
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Buchheit</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Donini</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nutt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaerf</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A refined architecture for terminological systems: Terminology = schema + views</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>99</volume>
          (
          <issue>2</issue>
          ),
          <fpage>209</fpage>
          -
          <lpage>260</lpage>
          (
          <year>1998</year>
          ), https://doi.org/10.1016/S0004-
          <volume>3702</volume>
          (
          <issue>97</issue>
          )
          <fpage>00079</fpage>
          -
          <lpage>9</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>Eql-lite: Effective first-order query processing in description logics</article-title>
          . In: Veloso, M.M. (ed.)
          <source>IJCAI</source>
          <year>2007</year>
          ,
          <source>Proceedings of the 20th International Joint Conference on Artificial Intelligence</source>
          , Hyderabad, India, January 6-
          <issue>12</issue>
          ,
          <year>2007</year>
          . pp.
          <fpage>274</fpage>
          -
          <lpage>279</lpage>
          (
          <year>2007</year>
          ), http: //ijcai.org/Proceedings/07/Papers/042.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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>Lembo</surname>
            ,
            <given-names>D.</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>Tractable reasoning and efficient query answering in description logics: The DL-Lite family</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          (
          <year>2007</year>
          ), https://doi.org/10.1007/s10817-007- 9078-x
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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>Lembo</surname>
            ,
            <given-names>D.</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>Data complexity of query answering in description logics</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>195</volume>
          ,
          <fpage>335</fpage>
          -
          <lpage>360</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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>
          :
          <article-title>Answering queries using views over description logics knowledge bases</article-title>
          . In: Kautz,
          <string-name>
            <given-names>H.A.</given-names>
            ,
            <surname>Porter</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.W</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on on Innovative Applications of Artificial Intelligence, July 30 - August 3</source>
          ,
          <year>2000</year>
          , Austin, Texas, USA. pp.
          <fpage>386</fpage>
          -
          <lpage>391</lpage>
          . AAAI Press / The MIT Press (
          <year>2000</year>
          ), http://www.aaai.org/Library/AAAI/
          <year>2000</year>
          /aaai00-
          <fpage>059</fpage>
          .php
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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>
          </string-name>
          , R.:
          <article-title>View-based query answering in description logics: Semantics and complexity</article-title>
          .
          <source>J. Comput. Syst. Sci</source>
          .
          <volume>78</volume>
          (
          <issue>1</issue>
          ),
          <fpage>26</fpage>
          -
          <lpage>46</lpage>
          (
          <year>2012</year>
          ), https://doi.org/10.1016/j.jcss.
          <year>2011</year>
          .
          <volume>02</volume>
          .011
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <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>
          </string-name>
          , R.:
          <article-title>Linking data to ontologies</article-title>
          .
          <source>J. Data Semantics</source>
          <volume>10</volume>
          ,
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>