# A data migration at ACME Corp, and the three kinds of agent the pattern's description
# names: a person, an organization and a software agent, each playing one role. This
# pattern declares hasRole and isRoleOf separately rather than as inverses, so each pair
# is stated in both directions and nothing is inferred.

@prefix agentrole: <http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl#> .
@prefix ex: <https://w3id.org/ontoboard/example/agent-role#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:JohnSmith a owl:NamedIndividual , agentrole:Agent ;
    rdfs:label "John Smith" ;
    agentrole:hasRole ex:ProjectManagerOfTheMigration .

ex:ProjectManagerOfTheMigration a owl:NamedIndividual , agentrole:Role ;
    rdfs:label "project manager of the data migration" ;
    agentrole:isRoleOf ex:JohnSmith .

ex:AcmeCorp a owl:NamedIndividual , agentrole:Agent ;
    rdfs:label "ACME Corp, an organization acting as an agent" ;
    agentrole:hasRole ex:EmployerOfJohnSmith .

ex:EmployerOfJohnSmith a owl:NamedIndividual , agentrole:Role ;
    rdfs:label "John Smith's employer" ;
    agentrole:isRoleOf ex:AcmeCorp .

ex:AcmeDeployBot a owl:NamedIndividual , agentrole:Agent ;
    rdfs:label "the ACME deploy bot, a software agent" ;
    agentrole:hasRole ex:ReleaseApproverForJohnSmith .

ex:ReleaseApproverForJohnSmith a owl:NamedIndividual , agentrole:Role ;
    rdfs:label "release approver, acting on behalf of John Smith" ;
    agentrole:isRoleOf ex:AcmeDeployBot .

