=Paper=
{{Paper
|id=None
|storemode=property
|title=Constraint Reuse in DL-Lite Core with Arbitrary Number Restrictions
|pdfUrl=https://ceur-ws.org/Vol-866/keynote2.pdf
|volume=Vol-866
|dblpUrl=https://dblp.org/rec/conf/amw/CasanovaBFVMS12
}}
==Constraint Reuse in DL-Lite Core with Arbitrary Number Restrictions==
Constraint Reuse in DL-Lite Core with Arbitrary
Number Restrictions
(Extended Abstract)
Marco A. Casanova1, Karin K. Breitman1, Antonio L. Furtado1, Vânia M.P. Vidal2,
José A. F. de Macêdo2, Eveline R. Sacramento1,3
1
Department of Informatics – PUC-Rio – Rio de Janeiro, RJ – Brazil
{casanova, karin, furtado, esacramento}@inf.puc-rio.br
2
Department of Computing, Federal University of Ceará – Fortaleza, CE – Brazil
{vvidal, jose.macedo}@lia.ufc.br
3
Ceará State Foundation of Meteorology and Water Resources – Fortaleza, CE – Brazil
eveline@funceme.br
Abstract. The process of reusing an ontology involves two issues: (1) selecting
a set of terms from the ontology vocabulary; and (2) using the ontology con-
straints to derive those that apply to such terms. The first issue corresponds to
the familiar practice of importing namespaces. This paper proposes to address
the second issue by introducing a set of operations over ontologies, treated as
theories and not just as vocabularies. It discusses how to compute the opera-
tions for a class of ontologies built upon DL-Lite core with arbitrary number re-
strictions. Finally, for this class of ontologies, the paper addresses the question
of minimizing the set of constraints which results from an operation.
Keywords: constraints, DL-Lite Core, Description Logics.
1 Introduction
We introduce a set of concepts and procedures that promote constraint reuse in ontol-
ogy design. We start by introducing a set of operations on ontologies that create new
ontologies, including their constraints, out of other ontologies. Such operations extend
the idea of namespaces to take into account constraints and treat ontologies as theo-
ries. Then, we concretely show how to compute the operations when the ontologies
are built upon DL-Lite core with arbitrary number restrictions [3]. We refer to such
ontologies as lightweight ontologies. Finally, for lightweight ontologies, we show
how to minimize the set of constraints.
The development in the paper adopts the machinery to handle constraints devel-
oped in [6][7][8], which uses DL-Lite core with arbitrary number restrictions [3].
Previous work by the authors [7] introduced the equivalent of the projection opera-
tion, but considered neither the other operations nor the question of optimizing the
representation of the resulting ontologies.
2
The paper is organized as follows. Section 2 presents the formal definition of the
operations. Section 3 shows how to compute the operations for lightweight ontolo-
gies. Section 4 addresses the question of minimizing the set of constraints that result
from an operation. Finally, Section 5 contains the conclusions.
2 A Formal Framework
2.1 A Brief Review of Basic Concepts
The definition of the operations depends only on the notion of theory, which we in-
troduce in the context of Description Logic (DL) [4].
A DL language L is characterized by a vocabulary V, consisting of a set of atomic
concepts, a set of atomic roles, and the bottom concept . The sets of concept de-
scriptions and role descriptions of V depend on the specific description logic. An in-
clusion of V is an expression of the form u ⊑ v, where u and v both are concept de-
scriptions or both are role descriptions.
An interpretation s of V consists of a nonempty set s, the domain of s, and an in-
terpretation function, also denoted s, with the usual definition [4]. We use s(u) to in-
dicate the value that s assigns to an expression u of V.
Let be an inclusion of V and be a set of inclusions of V. We say that: s satisfies
or s is a model of , denoted s ⊨ , iff s(u) s(v); s satisfies or s is a model of ,
denoted s ⊨ , iff s satisfies all inclusions in ; logically implies , denoted ⊨ ,
iff any model of satisfies ; is satisfiable or consistent iff there is a model of ;
is strongly consistent iff is consistent and does not logically imply A ⊑ , for
some atomic concept A.
The theory of a set of inclusions of V, denoted [], is the set of all inclusions of
V which are logical consequences of .
We are specially interest in DL-Lite core with arbitrary number restrictions [3],
N
denoted DL - Litecore . The sets of basic concept descriptions, concept descriptions
and role descriptions in this case are defined as follows:
If P is an atomic role, then P and P (inverse role) are role descriptions
If u is an atomic concept or the bottom concept, and p is a role description, then
u and ( n p) (at-least restriction, where n is a positive integer) are basic con-
cept descriptions and also concept descriptions
If u is a concept description, then u (negated concept) is a concept description
N
For DL - Litecore , an inclusion of V is an expression of one of the forms u ⊑ v or
u ⊑ v, where u and v both are basic concept descriptions. That is, an inclusion may
contain a negated concept only on the right-hand side and it may not involve role de-
scriptions.
We use the following abbreviations: “⊤” for “” (universal concept), “p” for
“( 1 p)” (existential quantification), “( n p)” for “( n+1 p)” (at-most restriction)
3
and “u | v” for “u ⊑ v” (disjunction). By an unabbreviated expression we mean an
expression that does not use such abbreviations.
Finally, an ontology is a pair O=(V,) such that V is a finite vocabulary, whose
atomic concepts and atomic roles are called the classes and properties of O, respec-
tively, and is a finite set of inclusions of V, called the constraints of O. A light-
N
weight ontology is an ontology whose constraints are inclusions of DL - Litecore .
From this point on, we will use the terms class, property and constraint instead of
atomic concept, atomic role and inclusion, whenever reasonable.
2.2 Definition of the Operations
We define the following operations over ontologies.
Definition 1: Let O1 = (V1,1) and O2 = (V2,2) be two ontologies, W be a subset of V1
and be a set of constraints over V1.
(i) The selection of O1 = (V1,1) for , denoted [](O1), returns the ontology
OS = (VS ,S), where VS = V1 and S = 1 .
(ii) The projection of O1 = (V1 ,1) over W, denoted [W](O1), returns the ontol-
ogy OP = (VP,P), where VP = W and P is the set of constraints in [1] that
use only symbols in W.
(iii) The union of O1 = (V1 ,1) and O2 = (V2 ,2), denoted O1 O2, returns the on-
tology OU = (VU ,U), where VU = V1 V2 and U = 1 2.
(iv) The intersection of O1 = (V1 ,1) and O2 = (V2 ,2), denoted O1 O2, returns
the ontology ON = (VN ,N), where VN = V1 V2 and N = [1] [2].
(v) The difference of O1 = (V1 ,1) and O2 = (V2 ,2), denoted O1 O2, returns the
ontology OD = (VD ,D), where VD = V1 and D = [1] [2].
Note that selections can be defined as unions. We also observe that the ontology
that results from each operation is unique. However, the set of constraints of the re-
sulting ontology is not necessarily minimal, a point elaborated in Section 4.
2.3 An Example
The Music Ontology (MO) [11] provides concepts and properties to describe artists,
albums, tracks, performances, arrangements, etc. on the Semantic Web. It is used by
several Linked Data sources, including MusicBrainz and BBC Music. The Music On-
tology RDF schema uses terms from the Friend of a Friend (FOAF) [5] and the XML
Schema (XSD) vocabularies, among others. We adopt the prefixes “mo:”, “foaf:” and
“xsd:” to respectively refer to these vocabularies.
Figure 1 shows the class hierarchies of MO rooted at classes foaf:Agent and
foaf:Person. Let us focus on this fragment of MO.
We first recall that FOAF has two constraints, informally formulated as follows:
each person has at most one name
foaf:Person and foaf:Organization are disjoint classes
4
Let V1 be the following set of terms from the FOAF and the XSD vocabularies:
V1={ foaf:Agent, foaf:Person, foaf:Group, foaf:Organization, foaf:name, xsd:string }
Let V2 contains the rest of the terms that appear in Figure 1:
V2={ mo:MusicArtist, mo:CorporateBody, mo:SoloMusicArtist, mo:MusicGroup, mo:Label,
mo:member_of }
Let O1=(V1,1) be the projection [V1](FOAF) of FOAF over V1. Let O2=(V2,2) be
such that 2 contains just the inclusions over V2 shown in Figure 1:
2={ mo:SoloMusicArtist ⊑ mo:MusicArtist, mo:MusicGroup ⊑ mo:MusicArtist,
mo:Label ⊑ mo:CorporateBody }
Then, most of Figure 1 is captured by the union O3=(V3,3) of O1 and O2. The rest
of Figure 1 is obtained by the selection [5](O3) of O3, where
5={ mo:SoloMusicArtist ⊑ foaf:Person, mo:MusicGroup ⊑ foaf:Group,
mo:CorporateBody ⊑ foaf:Organization,
(1 mo:member_of) ⊑ foaf:Person, (1 mo:member_of) ⊑ foaf:Group }
where the last two constraints indicate that the domain and range of mo:member_of are
foaf:Person and foaf:Group, respectively.
Finally, we construct O0=(V0,0), the ontology that corresponds to Figure 1, in two
different, albeit equivalent ways:
(1) O0 = [5]( [V1](FOAF) O2 ) , using the selection operation
(2) O0 = (( [V1](FOAF) O2 ) O5 ) , eliminating the selection operator
We stress that the expression of the right-hand side of Eq. (1) (or Eq. (2)) provides
an explanation of how O0 is constructed from FOAF and additional terms and con-
straints.
owl:disjointWith
foaf:Agent
foaf:name
xsd:string foaf:Person foaf:Group foaf:Organization
mo:MusicArtist mo:CorporateBody
mo:SoloMusicArtist mo:MusicGroup mo:Label
Fig.1. The class hierarchies of MO rooted at classes foaf:Agent and foaf:Person.
5
3. Computing the Operations over Lightweight Ontologies
3.1 Constraint Graphs
This section introduces the concept of constraint graphs, which leads to procedures to
compute the operations over lightweight ontologies.
We say that the complement of a basic concept description e is e, and vice-versa.
If c is a concept description, then c denotes the complement of c.
Let be a set of (unabbreviated) inclusions and be a set of (unabbreviated) con-
cept descriptions. The notion of constraint graphs [6] captures the structure of sets of
constraints.
Definition 2: The labeled graph g(,)=(,,) that captures and , where labels
each node with a concept description, is defined as follows:
(i) For each concept description e that occurs on the right- or left-hand side of
an inclusion in , or that occurs in , there is exactly one node in labeled
with e. If necessary, the set of nodes is augmented with new nodes so that:
(a) For each atomic concept C, there is one node in labeled with C.
(b) For each atomic role P, there is one node in labeled with (1 P) and
one node labeled with (1 P).
(ii) If there is a node in labeled with a concept description e, then there must be
exactly one node in labeled with e .
(iii) For each inclusion e ⊑ f in , there is an arc (M,N) in , where M and N are
the nodes labeled with e and f, respectively.
(iv) If there are nodes M and N in labeled with (m p) and (n p), where p is ei-
ther P or P and m