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

objectrole:Object a rdfs:Class ;
  rdfs:label "Object"@en , "Oggetto"@it ;
  rdfs:comment "Any physical, social, or mental object, or a substance" .

objectrole:hasRole a rdf:Property ;
  rdfs:label "has role"@en , "ha ruolo"@it ;
  rdfs:comment "A relation between an object and a role, e.g. the person 'John' has role 'student'." ;
  rdfs:domain objectrole:Object ;
  rdfs:range objectrole:Role ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/classification.owl#isClassifiedBy> .

objectrole:Role a rdfs:Class ;
  rdfs:label "Role"@en , "Ruolo"@it ;
  rdfs:comment "A Concept that classifies an Object" ;
  rdfs:subClassOf <http://www.ontologydesignpatterns.org/cp/owl/classification.owl#Concept> .

objectrole:isRoleOf a rdf:Property ;
  rdfs:label "is role of"@en , "è un ruolo di"@it ;
  rdfs:comment "A relation between an object and a role, e.g. the 'student' is the role of 'John'." ;
  rdfs:domain objectrole:Role ;
  rdfs:range objectrole:Object ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/classification.owl#classifies> .

<http://www.ontologydesignpatterns.org/cp/owl/classification.owl#Concept> a rdfs:Class .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

<http://www.ontologydesignpatterns.org/cp/owl/classification.owl#classifies> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/classification.owl#isClassifiedBy> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .
