@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl> a owl:Ontology;
  owl:versionInfo "1.1 added rdfs:isDefinedBy for all named entities", "Created by Valentina Presutti";
  rdfs:comment "It is extracted from DOLCE Ultra Lite ontology and specialize the classification CP. Object is an Entity, and Role is a Concept. The hasRole relation specializes the classifies relation, while the isRoleOf specializes the isClassifiedBy relation."^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasConsequences>
    "It is possible to make asser tions about roles, which are typically considered at the meta-level of an ontology. Instances of Role reify such elements, which are therefore put in the ordinar y domain of an ontology. It is not possible to parametrize the classiﬁcation over different dimensions e.g., time, space, etc.";
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#relatedCPs>
    "It specializes the classiﬁcation CP. It is specialized by agent role.";
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#scenarios> "This old glass is used as a ﬂower pot.";
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasIntent> "To represents objects and the roles they play."^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#coversRequirements>
    "What role does this object play? which objects do play that role?";
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#isSpecializationOf>
    "http://www.ontologydesignpatterns.org/cp/owl/classification.owl"^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#extractedFrom>
    "http://www.ontologydesignpatterns.org/ont/dul/DUL.owl"^^rdf:PlainLiteral;
  owl:imports <http://www.ontologydesignpatterns.org/cp/owl/classification.owl>, <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl> .

owl:versionInfo a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasConsequences>
  a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#scenarios> a
    owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#extractedFrom>
  a owl:AnnotationProperty .

rdfs:isDefinedBy a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#coversRequirements>
  a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasIntent> a
    owl:AnnotationProperty .

rdfs:label a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#isSpecializationOf>
  a owl:AnnotationProperty .

rdfs:comment a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#relatedCPs>
  a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/cp/owl/classification.owl#classifies> a owl:ObjectProperty .

<http://www.ontologydesignpatterns.org/cp/owl/classification.owl#isClassifiedBy> a
    owl:ObjectProperty .

<http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#hasRole> a owl:ObjectProperty;
  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:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl>;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/classification.owl#isClassifiedBy>;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object>;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role> .

<http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#isRoleOf> a owl:ObjectProperty;
  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:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl>;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/classification.owl#classifies>;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object>;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Role>;
  owl:inverseOf <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#hasRole> .

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

<http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl#Object> a owl:Class;
  rdfs:label "Object"@en, "Oggetto"@it;
  rdfs:comment "Any physical, social, or mental object, or a substance";
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl> .

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