(New page: {{Modeling Issue Template |Domain=Academy, University |CompetencyQuestion=who plays a certain role within that project?, wyehfjkhak? |Scenario=Enrico Motta is the coordinator of the NeOn p...) |
EnricoDaga (Talk | contribs) |
||
(18 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{TitleDescription Template | ||
+ | |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. | ||
+ | }} | ||
+ | {{Graphical representation | ||
+ | |ImageName=MI-AcademicRole.jpg | ||
+ | }} | ||
{{Modeling Issue Template | {{Modeling Issue Template | ||
+ | |Author=AldoGangemi, MichaelUschold | ||
|Domain=Academy, University | |Domain=Academy, University | ||
− | |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 | ||
− | | | + | |RelatedPattern=Objectrole |
}} | }} | ||
+ | {{Additional information header}} | ||
+ | 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) | ||
+ | # Player - the Agent playing the role (e.g. Enrico) | ||
+ | # 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> | ||
+ | {{My references}} | ||
+ | {{Modeling Issue toolbar}} |
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.
Diagram
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:
We also add some new classes and instances:
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>