<!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>When OWL met DL-Lite...</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claudio Corona</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emma Di Pasquale</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonella Poggi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Ruzzi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domenico Fabio Savo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dip. di Informatica e Sistemistica, SAPIENZA University of Rome</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Recent research in the area of ontology representation for the Semantic Web has led to several different language proposals. Among the others, it led to the standardization of OWL, on one hand, and to the emergence of the DL-Lite family of Description Logics, on the other hand. These two outcomes mainly differ on their objective: while OWL aims to be a standard, and as such, it is tailored towards expressivity, the main goal of the languages in the DL-Lite family is to allow accessing huge amount of data, by maintaining tractability, and delegating query processing to a DBMS. In this paper we show how DL-Lite can meet OWL. Specifically, we focus on DL-LiteA, the language in the DL-Lite family that is closest to OWL, and introduce the SparSQL language, a concrete epistemic query language, inspired by both SQL and SPARQL, that allows posing expressive tractable queries over DL-LiteA ontologies. Finally, we introduce the main novel DL-LiteA features beyond OWL. The capability of handling such features, together with the SparSQL queries, are some of the new functionalities recently implemented in the MASTRO system.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Web Ontology Language (OWL) has become the standard W3C language for the
definition of ontologies for the Semantic Web community. As a standard language, no limits
have been posed to its expressivity, and the complete language of OWL, OWL Full, is
not decidable. Some fragments of OWL have been identified in order to meet
decidability, with restricted forms of constructs. This is the case of OWL Lite and OWL DL.
Although these fragments are decidable, they enforce very high computational costs
even for simple reasoning tasks, not allowing a practical use of OWL.</p>
      <p>
        The DL-Lite family [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] of Description Logics (DLs) is a family of ontology
languages whose aim is to capture some of the most popular conceptual modeling
formalisms, such as Entity-Relationship model [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and UML class diagrams1, while
preserving the tractability of the most important reasoning tasks, such as ontology
satisfiability and query answering. More specifically, reasoning over ontologies of the DL-Lite
family, is LOGSPACE w.r.t. the size of data, that is, the number of instances of the
ontology, and can be entirely delegated to a standard DBMS technology. Unfortunately,
DL-Lite has no standard syntax, which makes it difficult to use the most popular tools
currently available for the SW community to reason over DL-Lite ontologies.
1 http://www.omg.org/uml/
      </p>
      <p>
        In this paper we show how the two aspects mentioned above, that is, the need for a
standard language and the capability of handling ontologies with a huge number of
instances, can be both achieved. More precisely, the main contributions of this paper can
be summarized as follows: (i) we provide an expressive query language for DL-LiteA
ontologies, named SparSQL , whose syntax is inspired by both SQL and SPARQL,
the W3C recommendation towards a standard query language for RDF ; SparSQL is
actually an epistemic query language that implements the language EQL-Lite(UCQ)
presented in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. As such, it is in LOGSPACE and can be reduced to evaluate first-order
logic queries over the ABox; (ii) then, we stress the expressive power of DL-LiteA
by extending its TBox, to make it able to express data properties of object properties,
denials and local identification constraints, and adding a new component to DL-LiteA
ontologies, called the ECBox, containing a general form of constraints called EQL
constraints, that are based on epistemic logics. Note that this is not the first attempt to
add constraints to OWL. However, previous related work, e.g. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], are technically and
semantically incomparable with the approach presented in this paper.
      </p>
      <p>
        Notably, all the contributions discussed in this work are currently implemented
within the MASTRO system, a tool for ontology representation and reasoning that has
DL-LiteA as proprietary core language. The main feature of MASTRO is to reduce all
reasoning tasks, such as consistency checking and query answering to the evaluation
of standard SQL queries over a DBMS. Note that one of the major benefits of using
DBMS technologies, is to allow using huge amounts of possibly pre-existing data, to
populate the ontology instances [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>The rest of the paper is structured as follows: in Section 2 we introduce DL-LiteA
as a fragment of the standard functional-style syntax of OWL; in Section 3 we present
the SparSQL query language for DL-LiteA ontologies; in Section 4 we introduce all
the new DL-LiteA enrichments that are beyond OWL and present some conclusions in
Section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>In this section we present DL-LiteA as a fragment of OWL, coherently with its
functional-style syntax 2. Note that DL-LiteA differs from the tractable fragment of OWL
recently proposed and called DL-Lite 3, essentially because it allows using both functional
object properties and sub-object properties, by appropriately restricting their use. In
providing the specification of our language, we use A to denote a named class, P (possibly
with subscripts) an object property, UC a data property, D a datatype, owl:Thing
the most general class, and rdfs:Literal the universal datatype. Then, DL-LiteA
expressions are defined as follows:
objectP ropertyExpression ::= P j InverseObjectPropertyOf(P )
dataP ropertyExpressions ::= UC
classExpression ::= A j DataMinCardinality(1 UC ) j</p>
      <p>ObjectMinCardinality(1 P ) j</p>
      <sec id="sec-2-1">
        <title>ObjectSomeValueFrom(objectP ropertyExpression owl:Thing) j</title>
        <sec id="sec-2-1-1">
          <title>DataSomeValueFrom(dataP ropertyExpressions rdfs:Literal)</title>
          <p>2 From now on we will refer to OWL 2.0, see http://www.webont.org/owl/1.1/.
3 See http://www.w3.org/Submission/owl11-tractable/#3</p>
          <p>As usual in DLs, a DL-LiteA ontology O = hT ; Ai represents the domain of
discourse in terms of two components: the TBox T , i.e. a set of axioms representing the
intensional knowledge, and the ABox A, i.e. a set of axioms representing the
extensional knowledge, known as facts.</p>
          <p>More precisely, DL-LiteA intensional axioms have the form:
ClassAxiom ::= SubClassOf(classExpression (classExpression j</p>
          <p>ObjectComplementsOf(classExpression))) j</p>
          <p>EquivalentClasses(2* classExpression) j DisjointClasses(2* classExpression)
ObjectP ropertyAxiom ::= SubObjectPropertyOf(2*2 objectP ropertyExpression) j
EquivalentObjectProperties(2* objectP ropertyExpression) j
DisjointObjectProperties(2* objectP ropertyExpression) j
InverseObjectProperties(P1 P2) j
ObjectPropertyDomain(P (classExpression j</p>
          <p>ObjectComplementsOf(classExpression))) j
ObjectPropertyRange(P (classExpression j</p>
          <p>ObjectComplementsOf(classExpression)))
FunctionalObjectProperty(objectP ropertyExpression)</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>SymmetricObjectProperty(objectP ropertyExpression)</title>
          <p>AsymmetricObjectProperty(objectP ropertyExpression)
DataP ropertyAxiom ::= SubDataPropertyOf(2*2 dataP ropertyExpression) j
EquivalentDataProperties(2* dataP ropertyExpression) j
DisjointDataProperties(2* dataP ropertyExpression) j</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>DataPropertyDomain(dataP ropertyExpression (classExpression j</title>
        <p>ObjectComplementsOf(classExpression))) j</p>
      </sec>
      <sec id="sec-2-3">
        <title>DataPropertyRange(dataP ropertyExpression D) j</title>
        <p>FunctionalDataProperty(dataP ropertyExpression)</p>
        <p>Then, a DL-LiteA TBox is a set of intensional axioms that must satisfy the
following restriction: no functional object property (or functional data property 0) can be
specialized, i.e., (resp. 0) cannot appear in axioms of the form:</p>
        <p>SubObjectPropertyOf(</p>
        <p>) (resp. SubDataPropertyOf( 0 0)).</p>
        <p>We now specify the form of a DL-LiteA ABox. Coherently with OWL, DL-LiteA
uses two disjoint alphabets, i.e. individual URIs to denote objects, and constants to
denote values (e.g. integer, strings). Then, DL-LiteA ABox axioms have the form:
f act ::= ClassAssertion(individualU RI A) j</p>
        <p>ObjectPropertyAssertion(P 2*2 individualU RI) j</p>
        <sec id="sec-2-3-1">
          <title>DataPropertyAssertion(UC individualU RI constant)</title>
          <p>
            Before providing an example of DL-LiteA ontology, we recall that the semantics of
DL-LiteA is given in terms of FOL interpretations with the unique name assumption.
Refer to [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] for details.
          </p>
          <p>Example 1. Consider the following DL-LiteA ontology:</p>
          <p>SubClassOf(F emale P erson)
DisjointClasses(F emale Male)
ObjectPropertyDomain(MARRIES P erson)
SubClassOf(P erson DataMinCardinality(1 SSN))
ClassAssertion(mary F emale)
ClassAssertion(ann F emale)
ClassAssertion(bob Male)
ObjectPropertyAssertion(MARRIES bob jane)
SubClassOf(Male P erson)
ObjectPropertyRange(MARRIES P erson)
SymmetricObjectProperty(MARRIES)
ClassAssertion(john Male)
ClassAssertion(jane F emale)
ObjectPropertyAssertion(MARRIES john ann)
ObjectPropertyAssertion(MARRIES bob mary)</p>
          <p>The intensional level of the ontology asserts that males and females are disjoint
sets of persons, where all persons have at least one social security number and can
marry other persons. Moreover, it says that if a person x marries a person y , then
also y marries x. On the other hand, the extensional level of the ontology asserts that
mary; ann; and jane denote female individuals, while john and bob males. Finally,
bob marries both jane and mary, while john marries ann.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The SPARSQL query language</title>
      <p>
        In this section, after briefly recalling the EQL-Lite(UCQ) epistemic query language [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
we introduce the SparSQL query language, that implements EQL-Lite(UCQ) , and is
currently used in MASTRO to pose expressive queries over DL-LiteA ontologies. Then,
we present the strategy adopted in MASTRO to process SparSQL queries.
3.1
      </p>
      <p>
        EQL-Lite(UCQ)
It is well-known that open-world semantics, typically adopted to interpret DL
ontologies, are essential for representing incomplete information, but make FOL queries
submitted over DL ontologies undecidable. To the best of our knowledge, the most
expressive FOL fragment for which decidability of query answering has been proved in
DLs, is the class of union of conjunctive queries (UCQs) [
        <xref ref-type="bibr" rid="ref5 ref8">8, 5</xref>
        ], which unfortunately,
has limited expressive power.
      </p>
      <p>
        Hence, a non monotonic epistemic query language, named EQL-Lite(Q) , was
introduced in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to query arbitrary DL ontologies. Intuitively, this language is based on the
idea that “we have complete information on what the ontology knows”, which allows to
explicitly referring in the query to the ontology knowledge, by adopting a closed-world
semantics. Thus, EQL-Lite(Q) queries are FOL queries, whose atoms, expressed in the
embedded query language Q, are epistemic formulas that refer to “what the ontology
knows”, i.e. the certain answers. According to the results of [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], EQL-Lite(UCQ) is
particularly suitable to express complicated queries over DL-LiteA ontologies which
can be answered in LOGSPACE w.r.t.the number of instances of the ontology.
3.2
      </p>
      <p>SparSQL
SparSQL is the query language currently implementing EQL-Lite(UCQ) in MASTRO.
Its syntax, as the name of the language suggests, is based both on the SQL STANDARD
syntax and the SPARQL syntax 4. Indeed, in SparSQL queries, SQL plays the role of
4 We refer to http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/
for details about SPARQL.</p>
      <p>FOL in EQL-Lite(UCQ) , while a fragment of SPARQL is used as embedded query
language, i.e. to define the so-called sparqltables. The latter play the role of
EQLLite(UCQ) atoms in SparSQL queries.</p>
      <p>Thus, before precisely presenting the SparSQL queries syntax, let us focus on
sparqltables. These are defined as SPARQL queries in the fragment of the SPARQL syntax
expressing UCQs. More precisely, such a fragment does not include neither the
GraphGraphPattern, nor the FILTER constraints, nor the OptionalGraphPattern. Moreover,
for the sake of simplicity, the SparSQL syntax does not require the use of the FROM
clause in the SPARQL query. Specifically, a non boolean SPARQL query in SparSQL
has the following syntax:</p>
      <sec id="sec-3-1">
        <title>SELECT listOf V ariables</title>
      </sec>
      <sec id="sec-3-2">
        <title>WHERE GroupGraphP attern</title>
        <p>On the contrary, a boolean SPARQL query in SparSQL has the following syntax:</p>
      </sec>
      <sec id="sec-3-3">
        <title>ASK GroupGraphP attern</title>
        <p>Now that we have introduced how sparqltables are defined, we can present the
SparSQL syntax. A non boolean SparSQL query has the following form:</p>
      </sec>
      <sec id="sec-3-4">
        <title>SELECT listOf AttributesOrExpressions</title>
        <p>FROM listOf Sparqltables
[WHERE conditions]
[GROUPBY listOf GroupingAttributes]
[HAVING listOf GroupingConditions]
[ORDERBY listOf AttributesT oOrder]
where each sparqltable (defined in terms of a SPARQL query as described above) is
associated to an alias, and no joins can occur between sparqltables defined as non boolean
SPARQL queries and sparqltables defined as boolean SPARQL queries. As expected, a
SparSQL query differs from an SQL query mainly because of the presence of one or
more sparqltables in the FROM clause. Note that SparSQL queries, like SQL queries,
can have nested queries that are again SparSQL queries. Next we illustrate SparSQL by
providing two examples of non boolean queries, the first one referring to a sparqltable
defined in terms of a non boolean SPARQL query, and the second one to a sparqltable
defined in terms of a boolean SPARQL query.</p>
        <p>Example 2. Consider the ontology presented in Example 1, and suppose that we want
to know the persons that we know have married at least two persons. This query can be
expressed by the following SparSQL query:</p>
      </sec>
      <sec id="sec-3-5">
        <title>SELECT spouses:x; count(spouses:y)</title>
        <p>FROM SparqlTable(SELECT ?x ?y</p>
        <sec id="sec-3-5-1">
          <title>WHEREf?x :MARRIES ?yg) spouses</title>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>GROUPBY spouses:x HAVING count(spouses:y) &gt;= 2</title>
        <p>The answer to this query would be the tuple (bob; 2).</p>
        <p>Now, suppose that we want to know all the known wifes, provided we know that
Bob is married either with Mary or with Ann:</p>
      </sec>
      <sec id="sec-3-7">
        <title>SELECT wif es:x</title>
        <p>FROM SparqlTable(SELECT ?x</p>
        <p>WHEREf?x rdf:type 0F emale0:</p>
        <p>?x :MARRIES ?yg) wif es;
SparqlTable(ASKff0bob0 :MARRIES 0mary0g</p>
        <p>UNION
f0bob0 :MARRIES 0ann0gg) spouses
Since the boolean sparqltable conditions are verified, the answers to the query are the
tuples (mary), (ann) and (jane). Observe, however, that if the spouses sparqltable would
have been false, then the overall SparSQL query would have been empty.</p>
        <p>Let us next focus on boolean SparSQL queries. A boolean SparSQL query has the
following syntax5:</p>
      </sec>
      <sec id="sec-3-8">
        <title>VERIFY conditions</title>
        <p>where conditions is defined as for non boolean SparSQL query. A boolean SparSQL
query returns true if the conditions are verified, otherwise it returns false.</p>
        <p>Next, we provide an example of boolean SparSQL query.</p>
        <p>Example 3. Consider again the ontology of Example 1, and suppose that we want to
know if there is not any person that is not known be a male or a female. This query can
be expressed by the following boolean SparSQL query:</p>
      </sec>
      <sec id="sec-3-9">
        <title>VERIFY not exists (SELECT persons:x</title>
        <p>FROM SparqlTable(SELECT ?x</p>
        <sec id="sec-3-9-1">
          <title>WHEREf?x rdf:type 0P erson0g) persons</title>
          <p>EXCEPT( SELECT males:x
FROM SparqlTable(SELECT ?x</p>
        </sec>
        <sec id="sec-3-9-2">
          <title>WHEREf?x rdf:type 0M ale0g) males</title>
          <p>UNION</p>
        </sec>
      </sec>
      <sec id="sec-3-10">
        <title>SELECT f emales:x</title>
        <p>FROM SparqlTable(SELECT ?x</p>
        <p>WHEREf?x rdf:type 0F emale0g)
f emales))
This query returns true, since there are no persons that are not known to be males or
females.</p>
        <p>The example above shows that using SparSQL , we can express negation (which cannot
be expressed in UCQ) through the use of the EXCEPT SQL operator (or NOT IN SQL
operator using nested queries) .
3.3</p>
        <p>SparSQL processing
In this section we sketch out the processing of SparSQL queries. The technique exposed
below is currently implemented in the QuOntoEQL module, that is a client of MASTRO
in charge to process SparSQL queries.</p>
        <p>
          In particular, QuOntoEQL takes as input a SparSQL query qEQL and a DL-LiteA
ontology O = (T ; A) and performs the following steps:
5 Note that this syntax simplifies the SQL syntax used to express boolean queries.
– every sparqltable occurring in the qEQL query is expanded according to the TBox
T : the expansion process amounts to compute the perfect reformulation (see [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ])
        </p>
        <p>
          REF of the sparqltable;
– the REF query is unfolded and rewritten as UNF , so to be expressed in terms of
the database where the ABox A is stored (cf. details in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]);
– every sparqltable is then replaced with the corresponding UNF query SQL in
the original SparSQL query.
        </p>
        <p>
          Hence we obtain a whole query expressed in SQL that can be executed by any DBMS.
We refer to [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for the proof of correctness of the query processing described above.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Extending DL-LiteA beyond OWL</title>
      <p>
        This section aims to present new features of DL-LiteA, that are absent in OWL. These
amount to (i) extend the intensional level of DL-LiteA ontologies, and (ii) introduce
a new component of DL-LiteA ontologies, called ECBox (Epistemic Constraints Box),
embracing a useful expressive kind of epistemic constraints.
We next present a series of extensions of DL-LiteA that are beyond OWL and concern
the intensional level of ontologies. More precisely, we first introduce object property
data, that allow handling data properties of object properties. Then, we present denial
and local identification constraints, that were formally introduced in [
        <xref ref-type="bibr" rid="ref2 ref4">4, 2</xref>
        ].
Object property data To be closer to ER and UML formalisms, DL-LiteA has been
enriched with object property data, representing binary relations between pairs of objects
and values [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>In the following we use UR to denote an object property data. Then, the new axioms
involving object property data are defined as follows:
ObjectP ropertyDataAxiom ::= SubObjectPropertyDataOf(2*2 UR) j
EquivalentObjectPropertyData(2* UR) j DisjointObjectPropertyData(2* UR) j</p>
      <sec id="sec-4-1">
        <title>ObjectPropertyDataDomain(UR objectP ropertyExpression) j</title>
        <p>
          ObjectPropertyDataRange(UR D) j FunctionalObjectPropertyData(UR)
For the semantics of these axioms refer to [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>Denial constraints Now, we pass considering the second extension to the intensional
level of DL-LiteA ontologies: the denial constraints. Denial constraints (for short, DCs)
are TBox assertions defined as follows:
DCAxiom ::= deny(q)
where q is a boolean union of conjunctive queries. The semantics of denial constraints
is given in terms of FOL interpretations. Specifically, an interpretation I satisfies the
DC deny(q) if q is false in I. Thus, the semantics of ontologies with denial constraints
is the set of interpretations that satisfy all assertions in A and T , including every denial
constraint in T .</p>
        <p>Local identification constraints Finally, we present the third and last extension: the
local identification constraints. Local identification constraints (LIdCs) are TBox
assertions defined as follows:
LIdCAxiom ::= KeyFor(simpleP ropertyExpression *(; path) classExpression)
where
path ::= simpleP ropertyExpression j testRoleExpression j CompositionOf(2*(path))
simpleP ropertyExpression ::= keyDataP ropertyExpression j objectP ropertyExpression
testRoleExpression ::= TestRole(classExpression j valueDomainExpression)
valueDomainExpression ::= D j RangeOf(UC ) j RangeOf(UR)
keyDataP ropertyExpression ::= UC j InverseDataPropertyOf(UC )</p>
        <p>
          As for DCs, the semantics of LIdCs is given in terms of FOL interpretations 6.
Intuitively, let KeyFor( 1; :::; n A) be an LIdC, n 1, where A denotes a
classExpression, 1 denotes a path of length 1, i.e. a simpleP ropertyExpression, and i denotes
a path of arbitrary length, for i = 2; :::; n. Then an interpretation satisfies such an LIdC
if for any two individuals a; a0 of A, there exists at least one path j , j 2 f1; ng, such
that a; a0 differ on the set of individuals and values that are reachable resp. from a; a0 by
means of j (for more details about the formal semantics of LIdCs, please refer to [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]).
        </p>
        <p>Now, a DL-LiteA ontology with LIdCs is a DL-LiteA ontology whose TBox T can
also include LIdCs, such that for each LIdC in T , every simpleP ropertyExpression
in a path of is not specialized in T . Then, as for DCs, the semantics of a DL-LiteA
ontology with LIdCs is the set of interpretations that satisfy all assertions in A and T ,
including every LIdC in T .</p>
        <p>Let us now illustrate by an example the extensions presented above.</p>
        <p>Example 1 (cont.) The ontology of Example 1 can be now enriched with these axioms:
ObjectPropertyDataDomain(W eddingDate MARRIES)
ObjectPropertyDataRange(W eddingDate rdf:date)
KeyFor(SSN P erson)
deny(q() W eddingDate(X; X))</p>
        <p>ObjectPropertyDataAssertion(W eddingDate bob mary 006=02=060)
The new intensional assertions state that MARRIES is the domain of the object property
data W eddingDate, while its range is date. Moreover, they state that SSN is an
identifier for P erson, and that nobody is married with himself. Finally, the extensional
assertions specify the date of the wedding of bob and mary.
4.2</p>
        <p>
          Expressing epistemic constraints in DL-LiteA: the ECBox
In this section we present a new component of a DL-LiteA ontology, called ECBox,
consisting of a set of epistemic constraints, named EQL constraints, formally
introduced in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. It is worth noting that, as opposed to rules and other kinds of assertions,
constraints are not interpreted as assertions allowing inferring the set of models of the
ontology. On the contrary, constraints are interpreted as simple “checks” over the
ontology set of models.
        </p>
        <p>The syntax for the EQL constraints (or EQLCs) is the following:
6 Note that OWL 2.0 Easy Keys fundamentally differ from LIdCs, since they are interpreted
with an epistemic semantics.</p>
        <p>EQLCAxiom ::= EQLC(q)
where q is a boolean SparSQL query.</p>
        <p>
          The semantics of such constraints is given in terms of epistemic interpretations [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
An epistemic interpretation E; w satisfies EQLC(q) if q is true in E; w. Notice that such
constraints are a particular form of the constraints introduced in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>With this notion in place, we can revise the notion of DL-LiteA ontology: a DL-LiteA
ontology with ECBox is a triple (T ; A; C), where T and A resp. denote as usual a
DL-LiteA TBox and ABox, and C is a ECBox.</p>
        <p>
          Now, we say that an ontology (T ; A) satisfies an ECBox C, if for each EQLC(q) 2
C, the boolean SparSQL query q is true over the ontology (T ; A). Then, the semantics
of an ontology with ECBox (T ; A; C) is defined as the set of models of (T ; A), if
(T ; A) satisfies C, and the empty set of models, otherwise. Also, we say that an ontology
with ECBox is satisfiable if its set of models is non-empty. We remind that the idea of
epistemic constraints, follows the research line introduced in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>Let us now illustrate the role of the ECBox.</p>
        <p>Example 1 (cont.) Through the ECBox, we can now enrich the ontology of Example 1
and model the following:
– if someone, let us say X, is married with someone else, let us say Y , and Y is
married with X, then their wedding dates have to be the same: EQLC(q0), where
q0 is the boolean SparSQL query asking for the nonexistence of two persons X; Y
such that it is known that X is married with Y , that Y is married with X, and that
their wedding dates are different. For shortness, we don’t show the actual form of
q0.
– a person is a male or a female: EQLC(q00), where q00 is the boolean SparSQL query
showed in Example 3.</p>
        <p>Let us focus on the last constraint. It is well-known that DL-LiteA, being conceived to
keep data complexity of the main reasoning tasks within LOGSPACE, has renounced to
express few constructs typically used in the ER (or UML) formalisms, such as complete
generalization and minimal cardinality (greater than 1) on relations. Hence, for
example, it is not possible to assert in a DL-LiteA ontology that a person is either a male or
a female (and nothing else). However, by weakening the semantics and using the last
EQLC, it is possible to guarantee that if the ontology with constraints is satisfiable, then
a person is either a male or a female, in all the models of the ontology.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>
        The main contribution of this paper is to show how to implement efficient reasoning
tasks over ontologies while keeping compliant with OWL. To this aim, we presented a
new query language, called SparSQL , that is an implementation of the EQL-Lite(UCQ)
epistemic query language presented in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], whose syntax is inspired by both SQL and
SPARQL. Last but not least, we enriched the ontology language introduced so far with
a new set of constructs, beyond OWL, to handle data properties of object properties,
and to express constraints that might be particularly useful for modeling ontologies of
practical interest.
      </p>
      <p>
        It is worth noting that all along this paper we considered DL-LiteA ontologies,
having traditional ABoxes as for data layer. Actually, MASTRO is able to access through
an ontology and an appropriate set of mappings [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] any data layer, provided that it is
accessible through a standard SQL engine. Notably, both the functional-style syntax
for DL-LiteA, the SparSQL query language and the expressive DL-LiteA constraints
that were presented, are currently implemented within the MASTRO system, and keep
working when MASTRO is used to access a general data layer. Furthermore, the first
experiments with the overall system are very encouraging.
      </p>
      <p>As future work we plan to follow two main directions. On one hand, we plan to
investigate the use of SparSQL to query ontologies written in DLs, other than DL-LiteA,
e.g. OWL-DL, and in RDFS. On the other hand, we plan to run experiments with actual
users, in order to compare the usability of MASTRO with the other tools for ontology
management reasoning that are currently available.</p>
      <p>Acknowledgments. This research has been partially supported by the MIUR FIRB
2005 project “Tecnologie Orientate alla Conoscenza per Aggregazioni di Imprese in
Internet” (TOCAI.IT), and by the FET project TONES (Thinking ONtologiES), funded
by the EU under contract number FP6-7603.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Linking data to ontologies: The description logic DL-LiteA</article-title>
          .
          <source>In Proc. of OWLED</source>
          <year>2006</year>
          , volume
          <volume>216</volume>
          <source>of CEUR Electronic Workshop Proceedings</source>
          , http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>216</volume>
          /,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          . EQL-Lite:
          <article-title>Effective first-order query processing in description logics</article-title>
          .
          <source>In Proc. of IJCAI</source>
          <year>2007</year>
          , pages
          <fpage>274</fpage>
          -
          <lpage>279</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Tractable reasoning and efficient query answering in description logics: The DL-Lite family</article-title>
          .
          <source>J. of Automated Reasoning</source>
          ,
          <volume>39</volume>
          (
          <issue>3</issue>
          ):
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Path-based identification constraints in description logics</article-title>
          .
          <source>In Proc. of KR</source>
          <year>2008</year>
          ,
          <year>2008</year>
          . To appear.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          .
          <article-title>On the decidability of query containment under constraints</article-title>
          .
          <source>In Proc. of PODS'98</source>
          , pages
          <fpage>149</fpage>
          -
          <lpage>158</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Chen</surname>
          </string-name>
          .
          <article-title>The Entity-Relationship model: Toward a unified view of data</article-title>
          .
          <source>ACM Trans. on Database Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>9</fpage>
          -
          <lpage>36</lpage>
          , Mar.
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>Adding integrity constraints to OWL</article-title>
          .
          <source>In Proceedings of the Workshop OWLED</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>M. M. Ortiz de la Fuente</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Calvanese</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Eiter</surname>
          </string-name>
          .
          <article-title>Data complexity of answering unions of conjunctive queries in SHIQ</article-title>
          .
          <source>Technical report</source>
          , Fac. of Computer Science, Free Univ. of Bozen-Bolzano,
          <year>Mar</year>
          .
          <year>2006</year>
          . Available at http://www.inf.unibz.it/ ˜calvanese/papers/orti
          <article-title>-calv-eite-</article-title>
          <string-name>
            <surname>TR-</surname>
          </string-name>
          2006-03.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Linking data to ontologies</article-title>
          .
          <source>J. on Data Semantics</source>
          , X:
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ruzzi</surname>
          </string-name>
          .
          <article-title>Ontology-based data access with MASTRO (demo)</article-title>
          .
          <source>In Proceedings of the Workshop OWLED</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Reiter</surname>
          </string-name>
          .
          <article-title>What should a database know?</article-title>
          <source>J. of Logic Programming</source>
          ,
          <volume>14</volume>
          :
          <fpage>127</fpage>
          -
          <lpage>153</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>