PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX taskrole: <http://www.ontologydesignpatterns.org/cp/owl/taskrole.owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

taskrole:Role a rdfs:Class ;
  rdfs:label "Role"@en , "Ruolo"@it ;
  rdfs:comment "A concept that classifies an object. For example, the role developer classifies a person, the role server classifies a computer machine.  A hasTask only Tasks." .

taskrole:hasTask a rdf:Property ;
  rdfs:label "has target"@en , "ha come obiettivo"@it ;
  rdfs:comment "A relation between roles and tasks, e.g. 'students have the duty of giving exams' (i.e. the Role 'student' hasTask the Task 'giving exams')." ;
  rdfs:domain taskrole:Role ;
  rdfs:range taskrole:Task .

taskrole:Task a rdfs:Class ;
  rdfs:label "Task"@en , "Task"@it ;
  rdfs:comment "A piece of work to be done or undertaken. A Task is assigned to only Roles through the property isTaskOf." .

taskrole:isTaskOf a rdf:Property ;
  rdfs:label "is a target for"@en , "è un obiettivo per"@it ;
  rdfs:comment "A relation between roles and tasks, e.g. 'students have the duty of giving exams' (i.e. the Role 'student' hasTask the Task 'giving exams')." ;
  rdfs:domain taskrole:Task ;
  rdfs:range taskrole:Role .
