<!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>http://ontologydesignpatterns.org/wiki/Submissions:SimpleOrAggregated María Poveda Villalón Mari Carmen Suárez-Figueroa Ontology Engineering Group (OEG) Ontology Engineering Group (OEG)</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>28660 Boadilla del Monte</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Departamento de Inteligencia Artificial. Facultad de Informática, Universidad Politécnica de Madrid (UPM) Campus de Montegancedo</institution>
          ,
          <addr-line>s/n</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we describe a content ontology design pattern to represent objects that can be simple or aggregated. The aggregation relation refers to several objects gathered in another object acting as a whole; all these objects should belong to the same concept in the model.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Ontology design patterns</kwd>
        <kwd>mereology</kwd>
        <kwd>aggregation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        We usually have the need of representing objects that are made up
of other types of object. In these situations, we can use the part-of
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] pattern to represent transitive mereological relationships.
Some examples can be “Brain and heart are parts of the human
body” or “Substantia nigra is part of brain”. In addition, we can
use the componency [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] pattern to distinguish between parts and
proper parts in a non transitive fashion. An example of this case
can be “The turbine is a proper part of the engine; both are parts
of a car. Furthermore, the engine and the battery are proper parts
of the car”.
      </p>
      <p>However, sometimes we need to represent objects that can be
made up of objects that belong to the same concept. In these cases
it is also need to distinguish objects into simple or aggregated
ones. For this reason, we have created the SimpleOrAggregated
pattern to represent aggregation relationships, both transitive and
non transitive, between objects that belong to the same concept in
the model. An example of this situation can be “aggregated
service provider is formed by simple or aggregated service
providers”.</p>
    </sec>
    <sec id="sec-2">
      <title>2. PATTERN DESCRIPTION</title>
    </sec>
    <sec id="sec-3">
      <title>2.1 Intent</title>
      <p>The goal of this pattern is to represent objects that can be simple
or aggregated (that is, several objects gathered in another object
acting as a whole).
28660 Boadilla del Monte, Spain</p>
      <p>+34 913363672
The main difference between the aggregation relation and other
mereological relationships (such as part-of or componency) is that
the aggregated object and its aggregated members should belong
to the same concept.</p>
    </sec>
    <sec id="sec-4">
      <title>2.2 Solution Description</title>
      <p>As it can be observed in Figure 1 the class "ObjectByCardinality"
has been created to classify simple and aggregated objects into its
subclasses "SimpleObject" and "AggregatedObject", respectively.
These subclasses are disjoint among them.</p>
      <p>ObjectByCardinality &lt;&lt;owl::equivalentClass&gt;&gt; Object</p>
      <p>U</p>
      <p>&lt;&lt;owl::equivalentClass&gt;&gt;
SimpleObject &lt;&lt;owl::disjointWith&gt;&gt; AggregatedObject hasAggregatedMember
&lt;&lt;owl::equivalentClass&gt;&gt;</p>
      <p>&lt;&lt;owl::someValuesFrom&gt;&gt;
AggregatedObject Object
Object AggregatedObject
&lt;&lt;rdfs::domain&gt;&gt;
&lt;&lt;rdfs::range&gt;&gt;
&lt;&lt;rdfs::domain&gt;&gt;
&lt;&lt;rdfs::range&gt;&gt;
&lt;&lt;owl::ObjectProperty&gt;&gt;
&lt;&lt;owl::TransitiveProperty&gt;&gt;
hasAggregatedMember
&lt;&lt;owl::ObjectProperty&gt;&gt;
hasDirectAggregatedMember
&lt;&lt;owl::inverseOf&gt;&gt;
&lt;&lt;owl::inverseOf&gt;&gt;
&lt;&lt;owl::ObjectProperty&gt;&gt;
&lt;&lt;owl::TransitiveProperty&gt;&gt;
isAggregatedMemberOf
&lt;&lt;owl::ObjectProperty&gt;&gt;
isDirectAggregatedMemberOf</p>
      <p>The aggregation relationship between objects means that objects
of a class can be composed by other objects of the same class.
This relationship is represented by the transtive property
"hasAggregatedMember" and its inverse property
"isAggregatedMemberOf". These properties have as subproperties
the non transitive properties "hasDirectAggregatedMember" and
its inverse "isDirectAggregatedMemberOf", respectively. By
means of this structure of properties, we provide a mechanism (a)
to represent transitive aggregation relationships (that is, if A has B
as aggregated member and B has C as aggregated member then A
has C as aggregated member) and (b) to link each aggregated
member just to the next level (that is, A has B as direct aggregated
member).</p>
      <p>Finally, the class "AggregatedObject" has been defined as
equivalent to those things that have some values for the property
"hasAggregatedMember". This modelling allows the automatic
classification of aggregated objects in this class when a reasoner is
applied.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Consequences</title>
      <p>This content pattern allows designers to represent both simple
individuals of a given concept (that is, an individual that is made
up of itself) and aggregated individuals of a given concept (that is,
an individual that is made up of several individuals of the same
concept). In summary, this pattern allows to represent both simple
objects and aggregated objects and their members.</p>
      <p>In addition, this pattern can be used to detect the following
contradictory situation by means of applying a reasoner: 'to
instantiate the relationship "hasAggregatedMember" for an Object
that belongs to "SimpleObject"'. This situation represents a
consistency error and it is detected when a resoner is applied due
to the following modelling decisions included in the pattern: (a)
"AggregatedObject" class represents the "hasAggregatedMember"
domain and (b) "AggregatedObject" is disjoint with
"SimpleObject".</p>
    </sec>
    <sec id="sec-6">
      <title>3. PATTERN USAGE EXAMPLE</title>
      <p>This pattern has been applied to different domains such as service
providers and context sources during the mIO! ontology network1
development.</p>
      <p>As an example, we show in Figure 2 the application of the
SimpleOrAggegrated pattern to represent that a service provider
can be classified as simple or aggregated. Each service provider
can be also classified with respect to the type of service it
provides (e.g. cultural, entertainment, food, health, etc.).</p>
    </sec>
    <sec id="sec-7">
      <title>4. Related work</title>
      <p>
        The origin of this pattern is the modelling of service providers and
context sources into the mIO! ontology network [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] within the
Spanish project mIO!2. The pattern has been also applied to
computing and storage resources modelling in the Metascheduler
ontology3 in the context of the Spanish project España Virtual4.
      </p>
      <p>CulturalServiceProvider
SimpleServiceProvider &lt;&lt;owl::disjointWith&gt;&gt; AggregatedServiceProvider hasAggregatedMember EntertainmentServiceProvider
&lt;&lt;owl::equivalentClass&gt;&gt; FHoeoadltShCeravriecPerPorvoivdiedrer
&lt;&lt;owl::someValuesFrom&gt;&gt; HostingServiceProvider</p>
      <p>InformationServiceProvider
ReligiousServiceProvider
SecurityServicesProvider
Shop
SportServiceProvider
TransportationServiceProvider</p>
    </sec>
    <sec id="sec-8">
      <title>5. Summary and Outlook</title>
      <p>The SimpleOrAggregated pattern provides a mechanism to
classify objects as simple or aggregated objects depending on
whether they are an aggregation of some objects. This
classification is compatible with another possible classification of
objects.</p>
    </sec>
    <sec id="sec-9">
      <title>6. ACKNOWLEDGMENTS</title>
      <p>This work has been partially supported by the Spanish project
mIO! (CENIT-2008-1019).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>David</surname>
            <given-names>S.</given-names>
          </string-name>
          , Aguado de Cea, G.,
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montiel-Ponsoda</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poveda</surname>
          </string-name>
          , M.
          <source>NeOn D2</source>
          .
          <article-title>5.1: A Library of Ontology Design Patterns: reusable solutions for collaborative design of networked ontologies</article-title>
          .
          <source>NeOn project</source>
          . http://www.neon-project.
          <source>org</source>
          .
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Poveda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>García-Castro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Pérez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>A Context Ontology for Mobile Environments</article-title>
          .
          <source>Proceedings of CIAO 2010</source>
          . Lisbon, Portugal. 11
          <string-name>
            <surname>October</surname>
          </string-name>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brockmans</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Pérez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lewen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
          </string-name>
          , M..
          <source>NeOn D5</source>
          .
          <article-title>1.1: NeOn Modelling Components</article-title>
          .
          <article-title>NeOn project</article-title>
          . http://www.neon-project.
          <source>org. March</source>
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>