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