<!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>Constraint Reuse in DL-Lite Core with Arbitrary Number Restrictions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco A. Casanova</string-name>
          <email>casanova@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Karin K. Breitman</string-name>
          <email>karin@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio L. Furtado</string-name>
          <email>furtado@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vânia M.P. Vidal</string-name>
          <email>vvidal@lia.ufc.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>José A. F. de Macêdo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eveline R. Sacramento</string-name>
          <email>esacramento@inf.puc-rio.br</email>
          <email>eveline@funceme.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ceará State Foundation of Meteorology and Water Resources - Fortaleza</institution>
          ,
          <addr-line>CE -</addr-line>
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computing, Federal University of Ceará - Fortaleza</institution>
          ,
          <addr-line>CE -</addr-line>
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Informatics - PUC-Rio - Rio de Janeiro</institution>
          ,
          <addr-line>RJ -</addr-line>
          <country country="BR">Brazil</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>The process of reusing an ontology involves two issues: (1) selecting a set of terms from the ontology vocabulary; and (2) using the ontology constraints 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 operations for a class of ontologies built upon DL-Lite core with arbitrary number restrictions. Finally, for this class of ontologies, the paper addresses the question of minimizing the set of constraints which results from an operation.</p>
      </abstract>
      <kwd-group>
        <kwd>constraints</kwd>
        <kwd>DL-Lite Core</kwd>
        <kwd>Description Logics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        We introduce a set of concepts and procedures that promote constraint reuse in
ontology 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
theories. Then, we concretely show how to compute the operations when the ontologies
are built upon DL-Lite core with arbitrary number restrictions [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. We refer to such
ontologies as lightweight ontologies. Finally, for lightweight ontologies, we show
how to minimize the set of constraints.
      </p>
      <p>
        The development in the paper adopts the machinery to handle constraints
developed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which uses DL-Lite core with arbitrary number restrictions [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Previous work by the authors [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] introduced the equivalent of the projection
operation, but considered neither the other operations nor the question of optimizing the
representation of the resulting ontologies.
      </p>
      <p>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
ontologies. Section 4 addresses the question of minimizing the set of constraints that result
from an operation. Finally, Section 5 contains the conclusions.</p>
    </sec>
    <sec id="sec-2">
      <title>2 A Formal Framework</title>
      <sec id="sec-2-1">
        <title>2.1 A Brief Review of Basic Concepts</title>
        <p>
          The definition of the operations depends only on the notion of theory, which we
introduce in the context of Description Logic (DL) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>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
descriptions and role descriptions of V depend on the specific description logic. An
inclusion of V is an expression of the form u ⊑ v, where u and v both are concept
descriptions or both are role descriptions.</p>
        <p>
          An interpretation s of V consists of a nonempty set s, the domain of s, and an
interpretation function, also denoted s, with the usual definition [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. We use s(u) to
indicate the value that s assigns to an expression u of V.
        </p>
        <p>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.</p>
        <p>The theory of a set  of inclusions of V, denoted [], is the set of all inclusions of
V which are logical consequences of .</p>
        <p>
          We are specially interest in DL-Lite core with arbitrary number restrictions [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ],
denoted DL - LitecNore . 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
concept descriptions and also concept descriptions
 If u is a concept description, then u (negated concept) is a concept description
For DL - LitecNore , 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
descriptions.
        </p>
        <p>We use the following abbreviations: “⊤” for “” (universal concept), “p” for
“( 1 p)” (existential quantification), “( n p)” for “( n+1 p)” (at-most restriction)
and “u | v” for “u ⊑ v” (disjunction). By an unabbreviated expression we mean an
expression that does not use such abbreviations.</p>
        <p>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,
respectively, and  is a finite set of inclusions of V, called the constraints of O. A
lightweight ontology is an ontology whose constraints are inclusions of DL - LitecNore .</p>
        <p>From this point on, we will use the terms class, property and constraint instead of
atomic concept, atomic role and inclusion, whenever reasonable.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Definition of the Operations</title>
        <p>We define the following operations over ontologies.</p>
        <p>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</p>
        <p>OS = (VS ,S), where VS = V1 and S = 1  .
(ii) The projection of O1 = (V1 ,1) over W, denoted [W](O1), returns the
ontology 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
ontology 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].</p>
        <p>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
resulting ontology is not necessarily minimal, a point elaborated in Section 4.
2.3</p>
        <p>
          An Example
The Music Ontology (MO) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] 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
Ontology RDF schema uses terms from the Friend of a Friend (FOAF) [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] and the XML
Schema (XSD) vocabularies, among others. We adopt the prefixes “mo:”, “foaf:” and
“xsd:” to respectively refer to these vocabularies.
        </p>
        <p>Figure 1 shows the class hierarchies of MO rooted at classes foaf:Agent and
foaf:Person. Let us focus on this fragment of MO.</p>
        <p>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
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 }</p>
        <p>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 }</p>
        <p>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.</p>
        <p>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</p>
        <p>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
constraints.</p>
        <p>owl:disjointWith
3. Computing the Operations over Lightweight Ontologies</p>
      </sec>
      <sec id="sec-2-3">
        <title>3.1 Constraint Graphs</title>
        <p>This section introduces the concept of constraint graphs, which leads to procedures to
compute the operations over lightweight ontologies.</p>
        <p>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.</p>
        <p>
          Let  be a set of (unabbreviated) inclusions and  be a set of (unabbreviated)
concept descriptions. The notion of constraint graphs [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] captures the structure of sets of
constraints.
        </p>
        <p>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
either P or P and m&lt;n, then there is an arc (N,M) in .
(v) If there is an arc (M,N) in , where M and N are the nodes labeled with e and f
respectively, then there is an arc (K,L) in , where K and L are the nodes
labeled with f and e , respectively.</p>
        <p>(vi) These are the only nodes and arcs of g(). 
Definition 3: The labeled graph G(,)=(,,) that represents  and , where 
labels each node with a set of concept descriptions, is defined from g(,) by
collapsing each strongly connected component of g(,) into a single node labeled
with the descriptions that previously labeled the nodes in the strongly connected
component. When  is the empty set, we simply write G() and say that the graph
represents . </p>
        <p>If a node K of G(,) is labeled with e, then K denotes the node labeled with e ,
and K→M indicates that there is a path in G(,) from K to M.</p>
        <p>Definition 4: Let G(,)=(,,) be the labeled graph that represents  and . We
say that a node K of G(,) is a -node with level n, for a non-negative integer n,
iff one of the following conditions holds:
(i)</p>
        <p>
          K is is a -node with level 0 iff
a. K is labeled with , or
b. there are nodes M and N, not necessarily distinct from K, and a basic
concept description h such that M and N are labeled with h and h, and
K→M and K→N.
(ii) K is is a -node with level n+1 iff
a. There is a -node M of level n, distinct from K, such that K→M, and M is
the -node with the smallest level such that K→M, or
b. K is labeled with a minCardinality constraint of the form (1 P) (or of the
form (1 P)) and there is a -node M of level n, distinct from K, such
that M is labeled with (1 P) (or with (1 P)), and M is the -node with
the smallest level labeled with (1 P) or (1 P). 
Definition 5: Let G(,)=(,,) be the labeled graph that represents  and . Let K
be a node of G(,). We say that K is a -node iff K is a -node with level n, for
some non-negative integer n. We also say that K is a ⊤-node iff K is a -node. 
Theorem 1 shows how to test logical implication for DL - LitecNore inclusions [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
Theorem 1. Let  be a set of DL - LitecNore inclusions and  be a DL - LitecNore
inclusion. Assume that  is of the form e  f and let  = {e, f}. Then,    iff one of the
following conditions holds:
(i) The node of G(,) labeled with e is a -node; or
(ii) The node of G(,) labeled with f is a ⊤-node; or
(iii) There is a path in G(,) from the node labeled with e to the node labeled with f.
Example 1: The fragment of the Music Ontology shown in Figure 1 is formalized as
the ontology O0=(V0,0), where
        </p>
        <p>V0 = { foaf:Agent, foaf:Person, foaf:Group, foaf:Organization, mo:MusicArtist,
mo:CorporateBody, mo:SoloMusicArtist, mo:MusicGroup, mo:Label,
mo:member_of, foaf:name, xsd:string }
and the set of constraints 0 shown in Table 2. Figure 3 depicts the graph G(0) that
represents 0 (using unabbreviated constraints).
(2foaf:name)</p>
        <p>(2 foaf:name)
(1 mo:member_of)
(1 foaf:name)
(1)foaf:name)
(1 mo:member_of)
mo:SoloMusicArtist
foaf:Person</p>
      </sec>
      <sec id="sec-2-4">
        <title>3.2 Computing the Operations</title>
        <p>Let O1=(V1,1) and O2=(V2,2) be two lightweight ontologies and W be a subset of V1.
We say that O1=(V1,1) and O2=(V2,2) are equivalent iff V1=V2 and [1]=[2].</p>
        <p>Given O1=(V1,1) and W, procedure Projection (in Figure 4) generates 2, based
on the representation graph of 1, so that O2=(W,2) is equivalent to the projection of
O1=(V1,1) over W. Based on Theorem 1, Projection generates all constraints that
involve only symbols in W and that are logical consequences of 1. However, it avoids
generating both e ⊑ f and f ⊑ e , which are equivalent. We note that Projection is
non-deterministic since the set of constraints generated depends on the order that the
for-loop selects pairs of nodes of G(1), which is not unique.</p>
        <p>The above argument can be generalized into a correctness proof of the Projection
procedure, in the following sense. Let 1 /W denote the set of formulas that use only
classes and properties in W and that are logically implied by 1.</p>
        <p>Theorem 2: Let O1=(V1,1) be an ontology and W be a subset of V1. Let 2 be the
set of constraints which Projection outputs for 1 and W. Then, 2 is logically
equivalent to 1 /W. </p>
        <p>Procedures to compute the selection, union, intersection and difference of
ontologies can be likewise defined.
Projection(V1 , 1 , W ; 2)
input: a vocabulary V1
a set 1 of normalized constraints over V1
a subset W of V1
output: a set of constraints 2
begin Initialize 2 =  ;</p>
        <p>Construct G(1 ), the representation graph for 1;
Mark all nodes of G(1) labeled with at least one expression</p>
        <p>that uses only atomic concepts and atomic roles in W;
for each node M of G(1) such that M is marked and M is a -node
for each concept description e
such that e labels M and e uses only classes and properties in W</p>
        <p>add e ⊑  to 2;
drop all -nodes and ⊤-nodes from G(1);
for each node M of G(1) such that M is marked
for each pair of concept descriptions e and f
such that e and f label M and e and f use only classes and properties in W</p>
        <p>
          add e  f to 2;
for each pair of nodes M and N of G(1) /* compute the transitive closure */
if M and N are marked and there is a path from M to N in G(1)
then add e ⊑ f to 2 where
e and f are expressions that label nodes M and N, respectively, and
e and f use only classes and properties in W, and
e ⊑ f is an allowed DL-Lite core inclusion (in the sense of Section 2), and
f ⊑ e is not already in 2 /* to avoid redundant constraints */
end
return 2
4. Optimizing the Representation of Lightweight Ontologies
The procedures that implement each of the operations return a set of constraints that
may contain redundancies, since they work with the transitive closure of the
constraint graph (c.f. the procedure in Figure 4). Therefore, an interesting question
immediately arises: How to minimize the set of constraints of a lightweight ontology
(output by one such procedure)? We argue that this question is equivalent to finding
the minimum equivalent graph (MEG) of a graph G, defined as the graph G’ with the
minimum set of edges such that the transitive closures of G and G’ are equal. This
problem has a polynomial solution for acyclic graphs and is known to be NP-hard for
strongly connected graphs [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ][
          <xref ref-type="bibr" rid="ref9">9</xref>
          ][
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>Let O1=(V1,1) be a lightweight ontology and G(1)=(,,) be the constraint
graph for 1. In what follows, we outline how to construct a new set of constraints, 2,
such that 2 is a minimal set and 1 and 2 are tautologically equivalent.</p>
        <p>Recall that G(1) is acyclic and that each node of G(1) is labeled with a set of
expressions that are equivalent.</p>
        <p>
          Since G(1) is acyclic, we may construct a MEG G’=(,’,) of G(1)=(,,) in
polynomial time [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ][
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. The nodes of G’ are those of G, with the same labels as in G.
The procedure adopted to construct a MEG of a graph has to be modified to also drop
an arc (M,N), if the arc ( N , M ) connecting the dual nodes of M and N is dropped.
This modification is necessary to preserve the characteristics of constraint graphs (see
Definitions 2 and 3). Then, for each arc (M,N) in ’, select an expression e that labels
M and an expression f that labels N, and add the constraint e ⊑ f to 2.
        </p>
        <p>The apparent problem lies in the expressions that label each node of G(1). Indeed,
by Definition 3, G(1) is defined from g(1) by collapsing each strongly connected
component of g(1) into a single node labeled with the expressions that previously
labeled the nodes in the strongly connected component. Thus, we would have to
construct a MEG, G”, of each strongly connected component of g(1) and generate a set
of constraints from G” as before. However, constructing a MEG of a strongly
connected graph is NP-hard, as indicated before.</p>
        <p>Recall that, for any two expressions e and f that label the same node of G(1), we
have that 1 logically implies e  f. From the point of view of an economical ontology
description, for each strongly connected component of g(1), we suggest to construct
a minimal set of equivalences which are tautologically equivalent to the inclusions
that correspond to the arcs of g(1). But this new problem is equivalent to
constructing a spanning tree T of each strongly connected component of g(1), which can be
done in polynomial time. Then, for each edge {M,N} of T, add e  f to 2, where e
labels M and f labels N in g(1). If T has k nodes, we generate k-1 equivalences.</p>
        <p>The final set of constraints, 2, contains a minimal set of inclusions, which
correspond to the arcs of G’, and a minimal set of equivalences, which correspond to the
edges of spanning trees of the strongly connected components of g(1). Finally, by
construction, 1 and 2 will be tautologically equivalent.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>5 Conclusions</title>
      <p>In this paper, we introduced a set of concepts and procedures that promote constraint
reuse in ontology design. We defined a set of operations that extend the idea of
namespaces to take into account constraints and that treat ontologies as theories. We
showed how to compute the operations when the ontologies are built upon DL-Lite
core with arbitrary number restrictions. For such ontologies, we also showed how to
minimize the set of constraints.</p>
      <p>
        As for current work, from a formal perspective, we are extending the results to a
more expressive variant of DL-Lite core, considered in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which supports a
restricted form of role hierarchy. From a practical perspective, we have implemented a tool
that accepts lightweight ontologies, described in OWL, and offers an interface to
apply the operations to create new ontologies. We are also designing a tool to extract
constraints from a Linked Data source S by combining the information in the VoiD
document [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] of the source, if any, with a probing technique. The tool explores the
idea of the operations introduced in this paper both to compute the constraints that
apply to S and to document them in an extension of the VoiD vocabulary.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Aho</surname>
            ,
            <given-names>A. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garey</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ullman</surname>
            ,
            <given-names>J. D.</given-names>
          </string-name>
          (
          <year>1972</year>
          ).
          <article-title>The Transitive Reduction of a Directed Graph</article-title>
          .
          <source>SIAM J. Comp.</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ),
          <fpage>131</fpage>
          -
          <lpage>137</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Alexander</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cyganiak</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hausenblas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Jun</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Describing Linked Datasets with the VoID Vocabulary</article-title>
          .
          <source>W3C Interest Group Note (03 March</source>
          <year>2011</year>
          ). Available at: http://www.w3.org/TR/void/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Artale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Kontchakov,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Zakharyaschev,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>The DL-Lite family and relations</article-title>
          .
          <source>J. of Artificial Intelligence Research</source>
          <volume>36</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>69</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nutt</surname>
            ,
            <given-names>W. Basic</given-names>
          </string-name>
          <article-title>Description Logics</article-title>
          . In:
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.L.</given-names>
            <surname>McGuiness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          (eds),
          <source>The Description Logic Handbook: Theory, Implementation and Applications</source>
          , Cambridge U. Press, UK (
          <year>2003</year>
          ), pp.
          <fpage>43</fpage>
          -
          <lpage>95</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Brickley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <source>FOAF Vocabulary Specification 0.98. Namespace Document 9 August 2010 - Marco Polo Edition.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Casanova</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lauschner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leme</surname>
            ,
            <given-names>L. A. P. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breitman</surname>
            ,
            <given-names>K. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furtado</surname>
            ,
            <given-names>A. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vidal</surname>
            ,
            <given-names>V. M. P. Revising</given-names>
          </string-name>
          <article-title>the Constraints of Lightweight Mediated Schemas</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          , v.
          <volume>69</volume>
          , pp.
          <fpage>1274</fpage>
          -
          <lpage>1301</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Casanova</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breitman</surname>
            ,
            <given-names>K. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furtado</surname>
            ,
            <given-names>A. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vidal</surname>
            ,
            <given-names>V. M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macêdo</surname>
            ,
            <given-names>J. A. F.</given-names>
          </string-name>
          <article-title>The Role of Constraints in Linked Data</article-title>
          .
          <source>Proceedings of the Confederated International Conferences: CoopIS, DOA-SVI, and ODBASE</source>
          <year>2011</year>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>II</given-names>
          </string-name>
          . Lecture Notes in Computer Science. Heidelberg: Springer,
          <year>2011</year>
          . v.
          <volume>7045</volume>
          . p.
          <fpage>781</fpage>
          -
          <lpage>799</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Casanova</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breitman</surname>
            ,
            <given-names>K.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furtado</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vidal</surname>
            ,
            <given-names>V.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macêdo</surname>
            ,
            <given-names>J.A.F.</given-names>
          </string-name>
          <string-name>
            <surname>An</surname>
          </string-name>
          <article-title>Efficient Proof Procedure for a Family of Lightweight Database Schemas</article-title>
          . In: Michael G. Hinchey and Lorcan Coyle (eds.),
          <source>Conquering Complexity</source>
          . Springer, London,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Hsu</surname>
            ,
            <given-names>H. T.</given-names>
          </string-name>
          (
          <year>1975</year>
          ).
          <article-title>An Algorithm for Finding a Minimal Equivalent Graph of a Digraph</article-title>
          .
          <source>Journal of the Association for Computing Machinery</source>
          ,
          <volume>22</volume>
          (
          <issue>1</issue>
          ),
          <fpage>11</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Khuller</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Raghavachari</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Young</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>1995</year>
          ).
          <article-title>Approximating the Minimum Equivalent Digraph</article-title>
          .
          <source>SIAM Journal on Computing</source>
          ,
          <volume>24</volume>
          (
          <issue>4</issue>
          ),
          <fpage>859</fpage>
          -
          <lpage>872</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Raimond</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giasson</surname>
            ,
            <given-names>F. Music Ontology</given-names>
          </string-name>
          <string-name>
            <surname>Specification. Specification</surname>
          </string-name>
          Document - 28
          <source>November</source>
          <year>2010</year>
          . Latest version: http://purl.org/ontology/mo/ (RDF/XML, Turtle).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>