<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Extending OWL with Maximal Subroperties: An Approach to Define Qualified Cardinality Restrictions and Reflexive Properties</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stanislav Pokraev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rogier Brussee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Telematica Instituut</institution>
          ,
          <addr-line>P. O. Box 589, 7500 AN, Enschede</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper proposes a simple, single extension of OWL, namely maximalSubPropertyOf that allows to “localize” a given property to a fixed domain and range. As an application we show that both qualified cardinality restriction and reflexive properties can be defined using this construction in conjunction with existing OWL functionality.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>When we model, we need a way to say that one or more individuals of a class can be
related to one or more individuals of the same or some other class. For example, we
might need to state that an individual of class Component can be part of an individual
of class Machine or that an individual of class Person can be part of zero or more
individuals of class Organization. We usually do this by defining a property
isPartOf and then creating two subproperties, e.g. isComponentPartOfMachine
(with domain range and cardinality 1) and</p>
      <p>Component, Machine
isPersonPartOfOrganization (with domain Person, range Organization and no
defined cardinality). In this way, whenever we state that some of the subproperties
hold for two individuals of the respective classes, we can infer that the property
isPartOf also holds for the same individuals. However, anytime we state that a
a we implicitly mean that
Component c isPartOf Machine m c
isComponentPartOfMachine m, and likewise if Person p isPartOf an Organization
o we implicitly mean that p isPersonPartOfOrganization o. However, it is
impossible to express such implications in the current version of OWL.</p>
      <p>In this paper we propose a simple, single extension of OWL, namelly
maximalSubPropertyOf, that allows expressing this. For example, it would be more convenient
and more precise to say that isComponentPartOfMachine is the maximal subproperty
of isPartOf with domain Person and range Machine, and
isPersonPartOfOrganization is the maximal subproperty of isPartOf with domain Person and range
Organization. This way, we can simply use isPartOf to state relations between individuals,
and later on query using the more specific subproperties isComponentPartOfMachine
and isPersonPartOfOrganization or vice versa. In addition, maximal subproperties
can be used to address the lack of the qualified cardinality restrictions and reflexive
properties in the current version of OWL.</p>
      <p>2</p>
    </sec>
    <sec id="sec-2">
      <title>Maximal Subproperty</title>
      <p>
        We propose a simple, single extension of OWL, namely maximalSubPropertyOf. The
formal semantics of maximalSubPropertyOf is defined as follows:
∃maximalSubPropertyOf(Q, P) ∧ ∃domain(Q, D) ∧ ∃range(Q, R) →
(∀x.D(x) ∧ ∀y.R(y) ∧ ∃P(x, y) → ∃Q(x, y)
where Q with domain D and range R is the maximal subproperty of the property P.
The maximal subproperty of P is the unique subproperty which is maximal among all
subproperties of P with the given domain D and range R, i.e. the domain and range of a
maximalSubPropertyOf is part of its definition. A more natural name for this
construction is the restriction of a property to the given domain D and range R, as the
maximal subproperty of P is the same as the property P between D and R, and
undefined outside. This point of view can be seen from the following example. Consider
the sine function as a property on the real numbers. Then the restriction of sine to a
function on [-π/2, π/2] with values in [
        <xref ref-type="bibr" rid="ref1">-1, 1</xref>
        ] is the maximal subproperty of sine with
domain [-π/2, π/2] and range [
        <xref ref-type="bibr" rid="ref1">-1, 1</xref>
        ]. Note that on this domain the sine function is
bijective, i.e. a functional and inverse functional. However given the use of
restriction as a class constructor in OWL this term would be confusing.
      </p>
      <sec id="sec-2-1">
        <title>Lemma:</title>
      </sec>
      <sec id="sec-2-2">
        <title>Suppose that</title>
        <p>Q maximalSubPropertyOf P;
domain D;
range R.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Then the following statements are equivalent</title>
        <p>(1) x Q y.</p>
        <p>(2) x a D. y a R. x P y.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Proof</title>
        <p>(1 =&gt; 2) trivial.
(2 =&gt;1) is precisely the maximality of the maximalSubPropertyOf.</p>
        <p>It follows from the lemma that in the absence of further statements involving Q,
decidability is as difficult as classifying individuals.</p>
      </sec>
      <sec id="sec-2-5">
        <title>We now consider some applications.</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Qualified Cardinality Restriction</title>
      <p>OWL allows the definition of cardinality restrictions which are used to constrain the
number of values of a particular property. Suppose we want to define a building with
at least 4 fire escape stairs:</p>
      <p>Building a owl:Class .</p>
      <p>FireEscapeStairs a owl:Class .
hasFireEscapeStairs a owl:ObjectProperty ;
rdfs:domain Building ;
rdfs:range FireEscapeStairs .</p>
      <p>BuildingMin4Fire a Building ,
[a owl:Restriction;</p>
      <p>owl:onProperty hasFireEscapeStairs; owl:minCardinality 4</p>
      <p>Now, suppose we want to refine our model and say that at least two of the fire
escape stairs should be external fire escape stairs. To do that we need a mechanism to
state that the property hasFireEscapeStairs
must have owl:minCardinality 2
when its value has type FireEscapeStairs and owl:minCardinality 2 when its
value has type ExternalFireEscapeStairs. In the OWL community this is known as
qualified cardinality restriction and unfortunately, is unexpressable by the current
version of OWL. The need for qualified cardinality restriction is motivated by Alan</p>
      <sec id="sec-3-1">
        <title>Rector in [3].</title>
        <p>
          One possible workaround (proposed by Guus Schreiber in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]) is to define a
property hasExternalFireEscapeStairs with a range ExternalFireEscapeStairs as a
subproperty of hasFireEscapeStairs and restrict the number of its values to at least
2:
        </p>
        <p>Building a owl:Class .</p>
        <p>FireEscapeStairs a owl:Class .</p>
        <p>ExternalFireEscapeStairs rdfs:subClassOf FireEscapeStairs .
hasFireEscapeStairs a owl:ObjectProperty ;
rdfs:domain Building ;
rdfs:range FireEscapeStairs .
hasExternalFireEscapeStairs rdfs:subPropertyOf hasFireEscapeStairs ;
rdfs:range ExternalFireEscapeStairs .</p>
        <p>BuildingMin4FireMin2External a
[a owl:Restriction;
owl:onProperty hasFireEscapeStairs; owl:minCardinality 4],
[a owl:Restriction;
owl:onProperty hasExternalFireEscapeStairs; owl:minCardinality 2].</p>
        <p>However, this workaround has a serious reasoning limitation. Suppose we define
an instance of a Building only using the hasFireEscapeStairs property:
stairs1 a FireEspaceStairs ;
stairs2 a FireEscpaeStairs ;
stairs3 a ExternalFireEscpaeStairs ;
stairs4 a ExternalFireEscopeStairs ;
aBuilding a Building ;
hasFireEscapeStairs stairs1 ;
hasFireEscapeStairs stairs2 ;
hasFireEscapeStairs stairs3 ;
hasFireEscapeStairs stairs4 .</p>
        <p>The instance cannot be classified as BuildingMin4FireMin2External because
aBuilding does not have at least two properties hasExternalFireEscapeStairs with
values of type ExternalFireEscapeStairs.</p>
        <p>Now, let us redefine the property hasExternalFireEscapeStairs
maximalSubPropertyOf:
using
hasExternalFireEscapeStairs a
owlx:maximalSubPropertyOf hasFireEscapeStairs ;
rdfs:domain Building ;
rdfs:range ExternalFireEscapeStairs .</p>
      </sec>
      <sec id="sec-3-2">
        <title>This way, the individual aBuilding can be classified</title>
        <p>BuildingMin4FireMin2External because the definition and the facts
as
a
stairs3 a ExternalFireEscpaeStairs ;
stairs4 a ExternalFireEscopeStairs ;
aBuilding a Building ;
hasFireEscapeStairs stairs3 ;
hasFireEscapeStairs stairs4 .
imply
aBuilding hasExternalFireEscapeStairs stairs3 .
aBuilding hasExternalFireEscapeStairs stairs4 .</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3 Reflexive properties</title>
      <p>The maximalSubPropertyOf allows defining reflexive properties. A reflexive
property defined on a domain D is a property that holds between each individual of D
and itself, i.e.:</p>
      <p>reflexive(R) ∧ ∃domain(R, D) ∧ ∃range(R, D) → (∀x.D(x) → ∃R(x, x))
Examples of reflexive properties are “is equal to”, “is subset of”, "is less than or
equal to" and “is greater than or equal to”.</p>
      <p>If we consider R as a subset of D × D (i.e. we consider the interpretation), then R is
reflexive if and only if the diagonal in D × D is contained in R. This geometric
interpretation shows a natural way to define a reflexive property using
maximalSubPropertyOf. The diagonal of owl:Thing × owl:Thing corresponds to
owl:sameAs. To get the diagonal in D × D, we merely have to restrict the property
owl:sameAs to D:
sameAsOnD owlx:maximalSubPropertyOf owl:sameAs;
rdfs:domain D ;
rdfs:range D .
aReflexiveProperty a owl:ObjectProperty;
rdfs:domain D ;
rdfs:range D .</p>
      <p>sameAsOnD rdfs:subPropertyOf aReflexiveProperty .</p>
      <p>
        A reflexive and transitive property P on class C is a property such that the
composition of zero or more properties P is a subproperty of P, where a composition of zero
properties P equals the restriction of owl:sameAs to the domain C (i.e., the
composition identity on C). This point of view is very convenient when dealing with
partwhole relations. This was recognized by the W3C best practices workgroup and
described in an extensive workaround[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, this is merely an approximation of
reflexivity as they point out themselves. We present an example to illustrate the
problem:
      </p>
      <sec id="sec-4-1">
        <title>Suppose we want to describe that a printer is located in the corner of a room:</title>
        <p>Space a owl:Class .</p>
        <p>Building rdfs:subClassOf Space
Room rdfs:subClassOf Space .</p>
        <p>Corner rdfs:subClassOf Space .</p>
        <p>Printer a owl:Class .
isLocatedIn a owl:ObjectProperty ;</p>
        <p>rdfs:range Space .
isPartOf a owl:TransitiveProperty ;
rdfs:domain Space ;
rdfs:range Space .</p>
        <p>We create instances of rooms, corners and printers.</p>
        <p>aBuilding a Building.
aRoom a Room .
aCorner a Corner .
aPrinter a Printer .
aRoom isPartOf aBuilding.
aCorner isPartOf aRoom .</p>
        <p>aPrinter isLocatedIn aCorner .</p>
        <p>Now suppose we want to know whether aPrinter is in aRoom and if yes, where
exactly in the room it is located. Therefore, we pose a query</p>
        <p>isLocatedIn(aPrinter, ?x) AND isPartOf(?x, aRoom)</p>
      </sec>
      <sec id="sec-4-2">
        <title>The result we obtain is</title>
        <p>?x = aCorner
Now, suppose that we were less accurate in describing the location of our printer and
instead of</p>
        <p>aPrinter isLocatedIn aCorner .
we stated
aPrinter isLocatedIn aRoom .</p>
        <p>aRoom isPartOf aRoom .</p>
        <p>The same query now returns no results because there is no statement (neither explicit
nor inferred)
i.e. the isPartOf(?x, aRoom) will never evaluate true.</p>
        <p>We can add isPartOf property for all individuals of type Space, but clearly a more
elegant solution is to make isPartOf a reflexive property.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4 Acknowledgements</title>
      <p>This research is a part of the Freeband Communication projects A-Muse
(http://a-muse.freeband.nl) and awareness (http://awareness.freeband.nl). Freeband
Communication (http://www.freeband.nl) is sponsored by the Dutch government
under contract BSIK 03025.
5 References</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Guus</given-names>
            <surname>Schreiber</surname>
          </string-name>
          .
          <article-title>Qualified cardinality restrictions (QCRs): constraing the number of property values of a particular type, first draft, 25 May 2004</article-title>
          . Available at http://www.cs.vu.nl/~guus/public/qcr.html
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Simple</surname>
          </string-name>
          part
          <article-title>-whole relations in OWL Ontologies, W3C Editor's Draft 11 Aug 2005</article-title>
          . Available at http://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Alan</given-names>
            <surname>Rector</surname>
          </string-name>
          .
          <article-title>Case for Reinstatement of Qualified Cardinality Restrictions</article-title>
          . Available at: http://lists.w3.org/Archives/Public/public-webontcomments/2003Apr/0040.html
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>