@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcam: <http://purl.org/dc/dcam/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix ontolex: <http://www.w3.org/ns/lemon/ontolex#> .
@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
@prefix culco: <https://w3id.org/culco#> .
@prefix caapt: <https://w3id.org/caapt/ontology#> .
# base: <https://w3id.org/caapt/ontology#> .


#################################################################
#    CAAPT Ontology
#################################################################

<https://w3id.org/caapt/ontology> a owl:Ontology ;
	rdfs:label "CAAPT Ontology"@en ;
	vann:preferredNamespacePrefix "caapt" ;
	vann:preferredNamespaceUri <https://w3id.org/caapt/ontology#> ;
	dcterms:created "2023-09-01"^^xsd:date ;
	dcterms:modified "2024-10-22"^^xsd:date ;
	dcterms:modified "2025-04-08"^^xsd:date ;
	dcterms:issued "2025-04-08"^^xsd:date ;
	dcterms:creator <https://orcid.org/0000-0003-3383-272X> ;
	dcterms:description "An OWL ontology for the representation of museum terminology guidance documents." ;
	rdfs:seeAlso <http://www.cidoc-crm.org/cidoc-crm>, <http://www.w3.org/ns/lemon/ontolex>, <http://www.w3.org/2004/02/skos>, <https://w3id.org/culco> ;
	owl:versionIRI <https://raw.githubusercontent.com/eecanning/caapt/refs/heads/main/docs/caapt-o.ttl> ;
	owl:versionInfo "2.0.0" .

<https://orcid.org/0000-0003-3383-272X> rdfs:label "E.E. Canning" .


#################################################################
#    CAAPT Classes
#################################################################

caapt:TermEntry a owl:Class ;
	rdfs:label "Entry of a term in a language guidance document"@en ;
	rdfs:subClassOf skos:Concept, crm:E55_Type, ontolex:LexicalConcept, culco:ContentiousIssue .

caapt:TermRoot a owl:Class ; 
	rdfs:label "Lexical entry of a term in a language guidance document"@en ; 
	rdfs:subClassOf ontolex:LexicalEntry, crm:E33_Linguistic_Object .

caapt:Guide a owl:Class ; 
	rdfs:label "Written guidance on language use"@en ;
	rdfs:subClassOf skos:ConceptScheme, crm:E32_Authority_Document, crm:E33_Linguistic_Object, ontolex:ConceptSet .

caapt:TerminologyGuide a owl:Class ;
	rdfs:label "Written guidance for addressing problematic terminology created with the intention of assisting in reparative description work or education around reparative description work"@en ;
	rdfs:subClassOf caapt:Guide, culco:ContentiousIssueScheme . 

caapt:StyleGuide a owl:Class ; 
	rdfs:label "Written guidance for language style and use"@en ;
	rdfs:subClassOf caapt:Guide . 

caapt:Suggestion a owl:Class ;
	rdfs:label "Suggested action to be taken when a term is encountered"@en ;
	rdfs:subClassOf culco:Suggestion, crm:E29_Design_or_Procedure .


#################################################################
#    CAAPT Properties
#################################################################

caapt:suggests_replacement_term a owl:ObjectProperty ;
	rdfs:label "Is suggested replacement term used in the suggestion"@en ;
	rdfs:domain caapt:Suggestion ; 
	rdfs:range ontolex:LexicalEntry .

caapt:suggests_amending_term a owl:ObjectProperty ;
	rdfs:label "Is suggested amending term used in the suggestion"@en ;
	rdfs:domain caapt:Suggestion ; 
	rdfs:range ontolex:LexicalEntry .

caapt:preferred a owl:ObjectProperty ;
	rdfs:label "Suggestion that is preferred"@en ;
	rdfs:domain caapt:Suggestion ; 
	rdfs:range caapt:Suggestion ;
	owl:inverseOf caapt:if_not_possible_use ;
	rdfs:subPropertyOf crm:P69_has_association_with .

caapt:if_not_possible_use a owl:ObjectProperty ;
	rdfs:label "Suggestion to be considered if preferred suggestion is not possible to use"@en ;
	rdfs:domain caapt:Suggestion ; 
	rdfs:range caapt:sSggestion ;
	owl:inverseOf caapt:preferred ;
	rdfs:subPropertyOf crm:P69i_is_associated_with .

caapt:use_along_with a owl:ObjectProperty ;
	rdfs:label "Suggestion to be used concurrently"@en ;
	rdfs:domain caapt:Suggestion ; 
	rdfs:range caapt:Suggestion ;
	rdfs:subPropertyOf crm:P69_has_association_with .

caapt:encountered a owl:ObjectProperty ;
	rdfs:label "Suggestion encountered in cataloguing field"@en ;
	rdfs:domain caapt:Suggestion ; 
	rdfs:range skos:Collection .


#################################################################
#    Referenced Classes
#################################################################

#################################
#    SKOS Classes
#################################

skos:Collection a owl:Class .

skos:Concept a owl:Class . 

skos:ConceptScheme a owl:Class .

#################################
#    CULCO Classes
#################################

culco:ContentiousIssue a owl:Class .

culco:ContentiousIssueScheme a owl:Class .

culco:Suggestion a owl:Class .

#################################
#    OntoLex Classes
#################################

ontolex:ConceptSet a owl:Class .

ontolex:LexicalConcept a owl:Class .

ontolex:LexicalEntry a owl:Class .

ontolex:Form a owl:Class .

#################################
#    CIDOC CRM Classes
#################################

crm:E7_Activity a owl:Class .

crm:E13_Attribute_Assignment a owl:Class ; 
	rdfs:subClassOf crm:E7_Activity .

crm:E17_Type_Assignment a owl:Class ;
	rdfs:subClassOf crm:E13_Attribute_Assignment .

crm:E21_Person a owl:Class ;
	rdfs:subClassOf crm:E39_Actor .

crm:E29_Design_or_Procedure a owl:Class .

crm:E31_Document a owl:Class .

crm:E32_Authority_Document a owl:Class ;
	rdfs:subClassOf crm:E31_Document . 

crm:E33_Linguistic_Object a owl:Class .

crm:E39_Actor a owl:Class .

crm:E53_Place a owl:Class .

crm:E55_Type a owl:Class .

crm:E74_Group a owl:Class ;
	rdfs:subClassOf crm:E39_Actor .


# Referenced as CRM Property domains or ranges below 

crm:E1_CRM_Entity a owl:Class .

crm:E89_Propositional_Object a owl:Class .


#################################################################
#    Referenced Properties
#################################################################

#################################
#    Dublin Core Properties
#################################

dcterms:contributor a owl:ObjectProperty ;
	dcam:domainIncludes crm:E33_Linguistic_Object, caapt:Suggestion ; 
	dcam:rangeIncludes crm:E21_Person, crm:E74_Group .

dcterms:created
	dcam:domainIncludes crm:E33_Linguistic_Object, caapt:Suggestion ; 
	dcam:rangeIncludes xsd:date .

dcterms:creator a owl:ObjectProperty ;
	rdfs:subPropertyOf dcterms:contributor .

dcterms:mediator
	dcam:domainIncludes caapt:Suggestion ; 
	dcam:rangeIncludes crm:E21_Person, crm:E74_Group .

dcterms:modified
	dcam:domainIncludes crm:E33_Linguistic_Object, caapt:Suggestion ; 
	dcam:rangeIncludes xsd:date .

#################################
#    SKOS Properties
#################################

skos:broader a owl:ObjectProperty ;
	rdfs:domain skos:Concept ;
	rdfs:range skos:Concept ;
	owl:inverseOf skos:narrower .

skos:inScheme a owl:ObjectProperty ; 
	rdfs:domain skos:Concept ; 
	rdfs:range skos:ConceptScheme . 

skos:member a owl:ObjectProperty ; 
	rdfs:domain skos:Collection ; 
	rdfs:range skos:Concept . 

skos:narrower a owl:ObjectProperty ;
	rdfs:domain skos:Concept ;
	rdfs:range skos:Concept ;
	owl:inverseOf skos:broader . 

#################################
#    CULCO Properties
#################################

culco:hasSuggestion a owl:ObjectProperty ; 
	rdfs:domain culco:ContentiousIssue ; 
	rdfs:range culco:Suggestion ; 
	dcam:domainIncludes caapt:TermEntry ; 
	dcam:rangeIncludes caapt:Suggestion . 

#################################
#    OntoLex Properties
#################################

ontolex:isEvokedBy a owl:ObjectProperty ;
	rdfs:domain ontolex:LexicalConcept ; 
	rdfs:range ontolex:LexicalEntry ; 
	dcam:domainIncludes caapt:TermEntry ;
	dcam:rangeIncludes caapt:TermRoot .

ontolex:lexicalForm a owl:ObjectProperty ;
	rdfs:domain ontolex:LexicalEntry ; 
	rdfs:range ontolex:Form .

#################################
#    CIDOC CRM Properties
#################################

crm:P1_is_identified_by a owl:ObjectProperty ; 
	rdfs:domain crm:E1_CRM_Entity ; 
	rdfs:range crm:E41_Appellation ; 
	dcam:rangeIncludes crm:E70_Thing ;
	dcam:domainIncludes crm:E42_Identifier . 

crm:P2_has_type a owl:ObjectProperty ; 
	rdfs:domain crm:E1_CRM_Entity ; 
	rdfs:range crm:E55_Type ; 
	dcam:domainIncludes caapt:Suggestion, crm:E29_Design_or_Procedure, crm:E33_Linguistic_Object .

crm:P41i_was_classified_by a owl:ObjectProperty ; 
	rdfs:domain crm:E1_CRM_Entity ; 
	rdfs:range crm:E17_Type_Assignment ; 
	dcam:rangeIncludes ontolex:LexicalEntry .

crm:P42_assigned a owl:ObjectProperty ; 
	rdfs:domain crm:E17_Type_Assignment ; 
	rdfs:range crm:E55_Type .

crm:P67_refers_to a owl:ObjectProperty ; 
	rdfs:domain crm:E89_Propositional_Object ; 
	rdfs:range crm:E1_CRM_Entity ; 
	dcam:domainIncludes caapt:Suggestion, crm:E33_Linguistic_Object ;
	dcam:rangeIncludes crm:E33_Linguistic_Object .

crm:P69_has_association_with a owl:ObjectProperty ; 
	rdfs:domain crm:E29_Design_or_Procedure ; 
	rdfs:range crm:E29_Design_or_Procedure .

crm:P70i_is_documented_in a owl:ObjectProperty ; 
	rdfs:domain crm:E1_CRM_Entity ; 
	rdfs:range crm:E31_Document ; 
	dcam:domainIncludes crm:E17_Type_Assignment, caapt:Suggestion ;
	dcam:rangeIncludes caapt:TerminologyGuide .

crm:P71i_is_listed_in a owl:ObjectProperty ; 
	rdfs:domain crm:E1_CRM_Entity ; 
	rdfs:range crm:E32_Authority_Document ; 
	dcam:domainIncludes caapt:TermEntry ;
	dcam:rangeIncludes caapt:Guide, caapt:TerminologyGuide, caapt:StyleGuide ;
	owl:inverseOf crm:P71i_lists .
	
crm:P74_has_current_or_former_residence a owl:ObjectProperty ; 
	rdfs:domain crm:E39_Actor ; 
	rdfs:range crm:E53_Place ; 
	dcam:domainIncludes crm:E74_Group ;
	owl:inverseOf crm:P74i_is_current_or_former_residence_of . 

crm:P74i_is_current_or_former_residence_of a owl:ObjectProperty ; 
	rdfs:domain crm:E53_Place ; 
	rdfs:range crm:E39_Actor ; 
	rdfs:rangeIncludes crm:E74_Group ; 
	owl:inverseOf crm:P74_has_current_or_former_residence . 

crm:P89_falls_within a owl:ObjectProperty ; 
	rdfs:domain crm:E53_Place ; 
	rdfs:range crm:E53_Place ;
	owl:inverseOf crm:P89i_contains .

crm:P89i_contains a owl:ObjectProperty ; 
	rdfs:domain crm:E53_Place ; 
	rdfs:range crm:E53_Place ;
	owl:inverseOf crm:P89_falls_within .

crm:P107_has_current_or_former_member a owl:ObjectProperty ; 
	rdfs:domain crm:E74_Group ; 
	rdfs:range crm:E39_Actor ;
	owl:inverseOf crm:P107i_is_current_or_former_member_of . 

crm:P107i_is_current_or_former_member_of a owl:ObjectProperty ; 
	rdfs:domain crm:E39_Actor ; 
	rdfs:range crm:E74_Group ; 
	owl:inverseOf crm:P107_has_current_or_former_member . 

crm:P129_is_about a owl:ObjectProperty ; 
	rdfs:domain crm:E89_Propositional_Object ; 
	rdfs:range crm:E1_CRM_Entity ; 
	dcam:domainIncludes caapt:Suggestion ; 
	dcam:rangeIncludes crm:E74_Group, crm:E53_Place, crm:E55_Type ; 
	rdfs:subPropertyOf crm:P67_refers_to ;
	owl:inverseOf crm:P129i_is_subject_of .

crm:P129i_is_subject_of a owl:ObjectProperty ; 
	rdfs:domain crm:E1_CRM_Entity ; 
	rdfs:range crm:E89_Propositional_Object ; 
	dcam:domainIncludes caapt:TermEntry ; 
	dcam:rangeIncludes crm:E33_Linguistic_Object ; 
	owl:inverseOf crm:P129_is_about .

crm:P148_has_component a owl:ObjectProperty ; 
	rdfs:domain crm:E89_Propositional_Object ;
	rdfs:range crm:E89_Propositional_Object ;
	dcam:domainIncludes crm:E31_Document ; 
	dcam:rangeIncludes crm:E31_Document ; 
	owl:inverseOf crm:P148i_is_component_of . 

crm:P148i_is_component_of a owl:ObjectProperty ;
	rdfs:domain crm:E89_Propositional_Object ;
	rdfs:range crm:E89_Propositional_Object ;
	dcam:domainIncludes crm:E33_Linguistic_Object ;
	dcam:rangeIncludes caapt:Guide ;
	owl:inverseOf crm:P148_has_component . 
