Line 10: Line 10:
 
|RelatedCP=Objectrole
 
|RelatedCP=Objectrole
 
}}
 
}}
 
 
 
 
This new pattern imports the objectrole pattern and adds a few things. We need to represent an '''agent''' that is '''playing a role''' in a given '''context'''. This would be most natural to represent as a ternary relation, but for OWL we reify this as a Class called RolePlay (RoleInContext would also be a good name).  RolePlay has three properties:
 
This new pattern imports the objectrole pattern and adds a few things. We need to represent an '''agent''' that is '''playing a role''' in a given '''context'''. This would be most natural to represent as a ternary relation, but for OWL we reify this as a Class called RolePlay (RoleInContext would also be a good name).  RolePlay has three properties:
 
# Context (e.g. the NEON project)
 
# Context (e.g. the NEON project)
Line 30: Line 27:
 
     xmlns="http://www.ontologydesignpatterns.org/cp/owl/academicrole.owl#"
 
     xmlns="http://www.ontologydesignpatterns.org/cp/owl/academicrole.owl#"
 
     xmlns:objectrole="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#"
 
     xmlns:objectrole="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#"
 +
    xmlns:agentrole="http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl#"
 
     xmlns:owl="http://www.w3.org/2002/07/owl#"
 
     xmlns:owl="http://www.w3.org/2002/07/owl#"
 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
Line 35: Line 33:
 
   xml:base="http://www.ontologydesignpatterns.org/cp/owl/academicrole.owl">
 
   xml:base="http://www.ontologydesignpatterns.org/cp/owl/academicrole.owl">
 
   <owl:Ontology rdf:about="">
 
   <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl"/>
 
 
     <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
 
     <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
 
     >Created with TopBraid Composer</owl:versionInfo>
 
     >Created with TopBraid Composer</owl:versionInfo>
 +
    <owl:imports rdf:resource="http://ontologydesignpatterns.org/cp/owl/agentrole.owl"/>
 
   </owl:Ontology>
 
   </owl:Ontology>
 
   <owl:Class rdf:ID="Person">
 
   <owl:Class rdf:ID="Person">
     <rdfs:subClassOf>
+
     <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl#Agent"/>
      <owl:Class rdf:ID="Agent"/>
+
    </rdfs:subClassOf>
+
 
   </owl:Class>
 
   </owl:Class>
 
   <owl:Class rdf:ID="AcademicRolePlay">
 
   <owl:Class rdf:ID="AcademicRolePlay">
Line 48: Line 44:
 
       <owl:Class rdf:ID="RolePlay"/>
 
       <owl:Class rdf:ID="RolePlay"/>
 
     </rdfs:subClassOf>
 
     </rdfs:subClassOf>
  </owl:Class>
 
  <owl:Class rdf:about="#Agent">
 
    <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/>
 
 
   </owl:Class>
 
   </owl:Class>
 
   <owl:Class rdf:ID="AcademicRole">
 
   <owl:Class rdf:ID="AcademicRole">
Line 62: Line 55:
 
   </owl:Class>
 
   </owl:Class>
 
   <owl:ObjectProperty rdf:ID="rolePlayAgent">
 
   <owl:ObjectProperty rdf:ID="rolePlayAgent">
    <rdfs:range rdf:resource="#Agent"/>
 
 
     <rdfs:domain rdf:resource="#RolePlay"/>
 
     <rdfs:domain rdf:resource="#RolePlay"/>
 
   </owl:ObjectProperty>
 
   </owl:ObjectProperty>
 
   <owl:ObjectProperty rdf:ID="rolePlayRole">
 
   <owl:ObjectProperty rdf:ID="rolePlayRole">
    <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/>
 
 
     <rdfs:domain rdf:resource="#RolePlay"/>
 
     <rdfs:domain rdf:resource="#RolePlay"/>
 +
    <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/>
 
   </owl:ObjectProperty>
 
   </owl:ObjectProperty>
 
   <owl:ObjectProperty rdf:ID="rolePlayContext">
 
   <owl:ObjectProperty rdf:ID="rolePlayContext">
    <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/>
 
 
     <rdfs:domain rdf:resource="#RolePlay"/>
 
     <rdfs:domain rdf:resource="#RolePlay"/>
 +
    <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/>
 
   </owl:ObjectProperty>
 
   </owl:ObjectProperty>
 
   <AcademicRole rdf:ID="Professor"/>
 
   <AcademicRole rdf:ID="Professor"/>
 
   <AcademicRolePlay rdf:ID="EnricoNEON">
 
   <AcademicRolePlay rdf:ID="EnricoNEON">
 +
    <rolePlayAgent>
 +
      <Person rdf:ID="Enrico"/>
 +
    </rolePlayAgent>
 +
    <rolePlayContext>
 +
      <Project rdf:ID="NEON"/>
 +
    </rolePlayContext>
 
     <rolePlayRole>
 
     <rolePlayRole>
 
       <AcademicRole rdf:ID="Coordinator"/>
 
       <AcademicRole rdf:ID="Coordinator"/>
 
     </rolePlayRole>
 
     </rolePlayRole>
    <rolePlayContext>
 
      <Project rdf:ID="NEON"/>
 
    </rolePlayContext>
 
    <rolePlayAgent>
 
      <Person rdf:ID="Enrico"/>
 
    </rolePlayAgent>
 
 
   </AcademicRolePlay>
 
   </AcademicRolePlay>
 
</rdf:RDF>
 
</rdf:RDF>

Revision as of 06:56, 20 January 2010

AcademicRoles

Title: Academic People and their Roles

Description: I need to represent people of the academic staff. Each person can play different roles in different contexts.


About

Users AldoGangemi, MichaelUschold
Domains Academy, University
Competency Questions who plays a certain role within that project?
Scenarios Enrico Motta is the coordinator of the NeOn project
Proposed Solutions (OWL files)
Related patterns


This new pattern imports the objectrole pattern and adds a few things. We need to represent an agent that is playing a role in a given context. This would be most natural to represent as a ternary relation, but for OWL we reify this as a Class called RolePlay (RoleInContext would also be a good name). RolePlay has three properties:

  1. Context (e.g. the NEON project)
  2. Player - the Agent playing the role (e.g. Enrico)
  3. Role - the role being played) (e.g. Coordinator)

We also add some new classes and instances:

  • Agent and a subclase Person with one instance, Enrico
  • AcademicRole with two instances: Coordinator and Professor


NB: probably this pattern should be renamed to be something like 'RoleInContext' and then specialized for academic roles in context.

<?xml version="1.0"?> <rdf:RDF

   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns="http://www.ontologydesignpatterns.org/cp/owl/academicrole.owl#"
   xmlns:objectrole="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#"
   xmlns:agentrole="http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl#"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xml:base="http://www.ontologydesignpatterns.org/cp/owl/academicrole.owl">
 <owl:Ontology rdf:about="">
   <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
   >Created with TopBraid Composer</owl:versionInfo>
   <owl:imports rdf:resource="http://ontologydesignpatterns.org/cp/owl/agentrole.owl"/>
 </owl:Ontology>
 <owl:Class rdf:ID="Person">
   <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl#Agent"/>
 </owl:Class>
 <owl:Class rdf:ID="AcademicRolePlay">
   <rdfs:subClassOf>
     <owl:Class rdf:ID="RolePlay"/>
   </rdfs:subClassOf>
 </owl:Class>
 <owl:Class rdf:ID="AcademicRole">
   <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/>
 </owl:Class>
 <owl:Class rdf:about="#RolePlay">
   <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/>
 </owl:Class>
 <owl:Class rdf:ID="Project">
   <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/>
 </owl:Class>
 <owl:ObjectProperty rdf:ID="rolePlayAgent">
   <rdfs:domain rdf:resource="#RolePlay"/>
 </owl:ObjectProperty>
 <owl:ObjectProperty rdf:ID="rolePlayRole">
   <rdfs:domain rdf:resource="#RolePlay"/>
   <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/>
 </owl:ObjectProperty>
 <owl:ObjectProperty rdf:ID="rolePlayContext">
   <rdfs:domain rdf:resource="#RolePlay"/>
   <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/>
 </owl:ObjectProperty>
 <AcademicRole rdf:ID="Professor"/>
 <AcademicRolePlay rdf:ID="EnricoNEON">
   <rolePlayAgent>
     <Person rdf:ID="Enrico"/>
   </rolePlayAgent>
   <rolePlayContext>
     <Project rdf:ID="NEON"/>
   </rolePlayContext>
   <rolePlayRole>
     <AcademicRole rdf:ID="Coordinator"/>
   </rolePlayRole>
 </AcademicRolePlay>

</rdf:RDF>

The page [[Bootstrap:Footer]] was not found.