<?xml version="1.0"?>
<rdf:RDF
    xmlns:vcard="http://nwalsh.com/rdf/vCard#"
    xmlns:foaf="http://xmlns.com/foaf/0.1/"
    xmlns="http://ontology.ist-spice.org/mobile-ontology/1/0/profile/0/profile.owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:cobra="http://daml.umbc.edu/ontologies/cobra/0.4/foaf-basic#"
    xmlns:core="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#"
  xml:base="http://ontology.ist-spice.org/mobile-ontology/1/0/profile/0/profile.owl">
  <owl:Ontology rdf:about="">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >This ontology defines the basic concepts and properties for a user profile and user group profile structure. User and user group profiles can consist of several service-specific and situation-specific profile subsets. The ontology enables the use of existing user profile vocabularies such as vCard and FOAF.</rdfs:comment>
    <owl:imports rdf:resource="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl"/>
  </owl:Ontology>
  <owl:Class rdf:ID="UserModel">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="EntityModel"/>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A user model includes the actual information about a user.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="PersonGroupModel">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#EntityModel"/>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A person group model includes the actual information about a person group.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="DefaultProfileSubset">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A service-specific subset of an entity profile that includes a default entity model, i.e. default entity data.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ProfileSubset"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Profile">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >An entity profile, e.g. a user profile or a user group profile.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#VirtualEntity"/>
  </owl:Class>
  <owl:Class rdf:ID="UserGroupProfile">
    <rdfs:subClassOf rdf:resource="#Profile"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A SPICE user group profile. A SPICE user group does not have to be a group of human beings.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="Service">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Umbrella term for core:Service services and non-core:Service services.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:about="http://nwalsh.com/rdf/vCard#VCard">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="PersonModel"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="PersonGroupProfile">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A person group profile. A person group is a group of human beings.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf rdf:resource="#Profile"/>
  </owl:Class>
  <owl:Class rdf:ID="PersonProfile">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A person profile. A person is a human being.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf rdf:resource="#Profile"/>
  </owl:Class>
  <owl:Class rdf:about="#ProfileSubset">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A service-specific and optionally situation-specific subset of an entity profile.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="hasName"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="isSpecificTo"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
  <owl:Class rdf:ID="UserProfile">
    <rdfs:subClassOf rdf:resource="#Profile"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A SPICE user profile. A SPICE user does not have to be a human being.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:about="#PersonModel">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A person model includes the actual information about a person.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#EntityModel"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="http://daml.umbc.edu/ontologies/cobra/0.4/foaf-basic#Person">
    <rdfs:subClassOf rdf:resource="#PersonModel"/>
  </owl:Class>
  <owl:Class rdf:ID="NonSpiceService">
    <rdfs:subClassOf rdf:resource="#Service"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Non-core:Service services.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="ConditionalProfileSubset">
    <rdfs:subClassOf rdf:resource="#ProfileSubset"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:minCardinality>
        <owl:onProperty>
          <owl:ObjectProperty rdf:ID="hasCondition"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A service and situation-specific subset of an entity profile that includes an entity model for a specific situation, e.g. the home or the office situation.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="UserGroupModel">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#EntityModel"/>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A user group model includes the actual information about a user group.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="Condition">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A condition specifies the situation, in which a profile subset is valid, e.g. the home or the office situation.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="hasOperator"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="hasContextValue"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="hasEntity"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person">
    <rdfs:subClassOf rdf:resource="#PersonModel"/>
  </owl:Class>
  <owl:Class rdf:ID="SpiceService">
    <owl:equivalentClass>
      <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#Service">
        <owl:equivalentClass rdf:resource="#SpiceService"/>
      </rdf:Description>
    </owl:equivalentClass>
    <rdfs:subClassOf rdf:resource="#Service"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >See core:Service</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:about="#EntityModel">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >An entity model, e.g. a user model or a user group model. The entity model includes the actual information about an entity.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="hasProfileSubset">
    <rdfs:range rdf:resource="#ProfileSubset"/>
    <rdfs:domain rdf:resource="#Profile"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile has a profile subset.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#hasCondition">
    <rdfs:domain rdf:resource="#ConditionalProfileSubset"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A conditional profile subset has a condition.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:range rdf:resource="#Condition"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasConditionalProfileSubset">
    <rdfs:domain rdf:resource="#Profile"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile has a conditional profile subset.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="#hasProfileSubset"/>
    <rdfs:range rdf:resource="#ConditionalProfileSubset"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasDefaultProfileSubset">
    <rdfs:subPropertyOf rdf:resource="#hasProfileSubset"/>
    <rdfs:domain rdf:resource="#Profile"/>
    <rdfs:range rdf:resource="#DefaultProfileSubset"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile has a default profile subset. Related to each service, only one default profile subset is allowed.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:ObjectProperty>
  <owl:FunctionalProperty rdf:ID="hasUniqueIdentifier">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A non-core:Service service has a unique identifier.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#NonSpiceService"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#hasOperator">
    <rdfs:domain rdf:resource="#Condition"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A condition has an operator, e.g. equals or notEquals.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="hasEntityModel">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile subset has an entity model, e.g. a user or a user group model.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:range rdf:resource="#EntityModel"/>
    <rdfs:domain rdf:resource="#ProfileSubset"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#hasName">
    <rdfs:domain rdf:resource="#ProfileSubset"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile subset has a name. This name has to be unique within a profile.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#isSpecificTo">
    <rdfs:range rdf:resource="#Service"/>
    <rdfs:domain rdf:resource="#ProfileSubset"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile subset is specific to a service.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#hasEntity">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A condition is linked to an entity, e.g. a person or a person group.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:domain rdf:resource="#Condition"/>
    <rdfs:range>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#UserGroup"/>
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#User"/>
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#Person"/>
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#PersonGroup"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:range>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#hasContextValue">
    <rdfs:domain rdf:resource="#Condition"/>
    <rdfs:range rdf:resource="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#Location"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A condition has a context value, e.g. a location or an activity.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="hasDescription">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#ProfileSubset"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A profile subset has a description.
Introduced by Michael Sutterer.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="hasProfile">
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#UserGroup"/>
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#User"/>
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#Person"/>
          <rdf:Description rdf:about="http://ontology.ist-spice.org/mobile-ontology/1/0/core/0/core.owl#PersonGroup"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="#Profile"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >An entity has a profile.
Introduced by Michael Sutterer.</rdfs:comment>
  </owl:FunctionalProperty>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 3.3, Build 414)  http://protege.stanford.edu -->
