| Line 8: | Line 8: | ||
|CompetencyQuestion=who plays a certain role within that project? | |CompetencyQuestion=who plays a certain role within that project? | ||
|Scenario=Enrico Motta is the coordinator of the NeOn project | |Scenario=Enrico Motta is the coordinator of the NeOn project | ||
| − | |||
|RelatedCP=Objectrole | |RelatedCP=Objectrole | ||
}} | }} | ||
| + | |||
| + | This new pattern imports the objectrole pattern and adds a few things. | ||
| + | |||
| + | We have a ternary relation here that can be reified into an object called: RolePlay which has three attributes: | ||
| + | # Context (e.g. the NEON project) | ||
| + | # Player - the Agent playing the role (e.g. Enrico) | ||
| + | # Role - the role being played) (e.g. Coordinator) | ||
| + | |||
| + | Also adds classes and instances: | ||
| + | * Person with one instance, Enrico | ||
| + | * AcademicRole with two instances: Coordinator and Professor | ||
| + | |||
| + | Assigns Enrico to the Coordinator Role for project NEON | ||
| + | |||
| + | NB: probably this pattern should be renamed to be something like 'RoleInContext' and then specialized for academic roles in context. | ||
| + | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
<rdf:RDF | <rdf:RDF | ||
| Line 26: | Line 41: | ||
</owl:Ontology> | </owl:Ontology> | ||
<owl:Class rdf:ID="Person"> | <owl:Class rdf:ID="Person"> | ||
| + | <rdfs:subClassOf> | ||
| + | <owl:Class rdf:ID="Agent"/> | ||
| + | </rdfs:subClassOf> | ||
| + | </owl:Class> | ||
| + | <owl:Class rdf:ID="AcademicRolePlay"> | ||
| + | <rdfs:subClassOf> | ||
| + | <owl:Class rdf:ID="RolePlay"/> | ||
| + | </rdfs:subClassOf> | ||
| + | </owl:Class> | ||
| + | <owl:Class rdf:about="#Agent"> | ||
<rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/> | <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/> | ||
</owl:Class> | </owl:Class> | ||
| Line 31: | Line 56: | ||
<rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/> | <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/> | ||
</owl:Class> | </owl:Class> | ||
| − | <owl: | + | <owl:Class rdf:about="#RolePlay"> |
| − | <rdfs: | + | <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:range rdf:resource="#Agent"/> | ||
| + | <rdfs:domain rdf:resource="#RolePlay"/> | ||
</owl:ObjectProperty> | </owl:ObjectProperty> | ||
| − | <owl:ObjectProperty rdf: | + | <owl:ObjectProperty rdf:ID="rolePlayRole"> |
| − | <rdfs: | + | <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/> |
| + | <rdfs:domain rdf:resource="#RolePlay"/> | ||
| + | </owl:ObjectProperty> | ||
| + | <owl:ObjectProperty rdf:ID="rolePlayContext"> | ||
| + | <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/> | ||
| + | <rdfs:domain rdf:resource="#RolePlay"/> | ||
</owl:ObjectProperty> | </owl:ObjectProperty> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<AcademicRole rdf:ID="Professor"/> | <AcademicRole rdf:ID="Professor"/> | ||
| + | <AcademicRolePlay rdf:ID="EnricoNEON"> | ||
| + | <rolePlayRole> | ||
| + | <AcademicRole rdf:ID="Coordinator"/> | ||
| + | </rolePlayRole> | ||
| + | <rolePlayContext> | ||
| + | <Project rdf:ID="NEON"/> | ||
| + | </rolePlayContext> | ||
| + | <rolePlayAgent> | ||
| + | <Person rdf:ID="Enrico"/> | ||
| + | </rolePlayAgent> | ||
| + | </AcademicRolePlay> | ||
</rdf:RDF> | </rdf:RDF> | ||
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.
| Users | AldoGangemi |
|---|---|
| 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 have a ternary relation here that can be reified into an object called: RolePlay which has three attributes:
Also adds classes and instances:
Assigns Enrico to the Coordinator Role for project NEON
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: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:imports rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl"/> <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Created with TopBraid Composer</owl:versionInfo> </owl:Ontology> <owl:Class rdf:ID="Person"> <rdfs:subClassOf> <owl:Class rdf:ID="Agent"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AcademicRolePlay"> <rdfs:subClassOf> <owl:Class rdf:ID="RolePlay"/> </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 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:range rdf:resource="#Agent"/> <rdfs:domain rdf:resource="#RolePlay"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="rolePlayRole"> <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role"/> <rdfs:domain rdf:resource="#RolePlay"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="rolePlayContext"> <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object"/> <rdfs:domain rdf:resource="#RolePlay"/> </owl:ObjectProperty> <AcademicRole rdf:ID="Professor"/> <AcademicRolePlay rdf:ID="EnricoNEON"> <rolePlayRole> <AcademicRole rdf:ID="Coordinator"/> </rolePlayRole> <rolePlayContext> <Project rdf:ID="NEON"/> </rolePlayContext> <rolePlayAgent> <Person rdf:ID="Enrico"/> </rolePlayAgent> </AcademicRolePlay>
</rdf:RDF>