@prefix copi:    <https://www.inf.ufrgs.br/ontologies/copi/> .
@prefix :         <https://www.inf.ufrgs.br/ontologies/copi/> .
@prefix owl:      <http://www.w3.org/2002/07/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#> .
@prefix bfo:      <http://purl.obolibrary.org/obo/> .
@prefix iof-core: <https://spec.industrialontologies.org/ontology/construct/> .
@prefix iof-av:   <https://spec.industrialontologies.org/ontology/annotation/> .
@prefix skos:     <http://www.w3.org/2004/02/skos/core#> .
@prefix qudt:     <http://qudt.org/schema/qudt/> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@prefix foaf:     <http://xmlns.com/foaf/0.1/> .
@prefix apv:      <http://inf.ufrgs.br/ontologies/apv#> .

### COPI — Core Ontology for Petroleum Installations
### Class module: PipeCap
<https://www.inf.ufrgs.br/ontologies/copi>
    rdf:type owl:Ontology ;
    dcterms:title "Core Ontology for Petroleum Installations (COPI)"@en ;
    dcterms:title "Ontologia Core para Instalações de Petróleo (COPI)"@pt-br ;
    dcterms:description "BFO/IOF-Core conformant ontology of equipment classes for petroleum production plants, developed using the five-step RDL enrichment method."@en ;
    skos:scopeNote "Material artifacts (bfo:material_entity) that (i) are part of a petroleum production plant, and (ii) bear at least one function whose realization involves the transport (e.g. production and injection), processing (separation and other processes), control, monitoring, measurement, containment or offloading of material or energy."@en ;
    skos:scopeNote "Artefatos materiais (bfo:material_entity) que (i) fazem parte de uma planta de produção de petróleo, e (ii) possuem ao menos uma função cuja realização envolve o transporte (p. ex. produção e injeção), processamento (separação e outros processos), controle, monitoramento, medição, contenção ou escoamento de material ou energia."@pt-br ;
    skos:scopeNote "COPI provides high-level equipment categories defined by function to demonstrate the defined-class mechanism. Equipment subtypes are annotated with references to CFIHOS and PCA RDL terms. COPI is not a reference data library; organizations should use CFIHOS, PCA RDL, or ISO 14224 for comprehensive equipment classification."@en ;
    skos:scopeNote "COPI fornece categorias de alto nível de equipamentos definidas por função para demonstrar o mecanismo de classe definida. Os subtipos de equipamentos são anotados com referências aos termos do CFIHOS e do PCA RDL. COPI não é uma biblioteca de dados de referência; organizações devem utilizar o CFIHOS, o PCA RDL ou a ISO 14224 para classificação abrangente de equipamentos."@pt-br ;
    owl:versionInfo "1.1.0" ;
    owl:imports <https://spec.industrialontologies.org/ontology/core/Core/> ;
    owl:imports <http://purl.obolibrary.org/obo/bfo/2020/bfo.owl> ;
    dcterms:creator "Nicolau Oyhenard dos Santos"@en ;
    dcterms:contributor "Cauã Antunes" ;
    dcterms:contributor "Haroldo Rojas" ;
    dcterms:contributor "Rafael Petry" ;
    dcterms:contributor "Régis Romeu" ;
    dcterms:contributor "Mara Abel" ;
    dcterms:isPartOf <https://inf.ufrgs.br/projetos/OntoKG> ;
    dcterms:publisher "Universidade Federal do Rio Grande do Sul (UFRGS)"@en ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:created "2026-04-08"^^xsd:date ;
    dcterms:modified "2026-10-07"^^xsd:date ;
    apv:GlobalMinLanguageCoverage "en pt-br" ;
    apv:ClassURIFormationRule "https://www[.]inf[.]ufrgs[.]br/ontologies/copi/(COPI_[0-9]{7}|[A-Z][A-Za-z0-9]*)" ;
    apv:ClassMinAnnotationCoverage "rdfs:label https://spec.industrialontologies.org/ontology/annotation/naturalLanguageDefinition" .

iof-av:naturalLanguageDefinition rdf:type owl:AnnotationProperty ;
    apv:MinAnnotationLength 20 .

### Identity-giving function
:COPI_0000748 rdf:type owl:Class ;  # ClosureFunction
    rdfs:subClassOf iof-core:DesignedFunction ;
    rdfs:subClassOf [
        rdf:type owl:Restriction ;
        owl:onProperty bfo:BFO_0000054 ;  # realizedIn
        owl:allValuesFrom :COPI_0000749  # ClosureProcess
    ] ;
    rdfs:subClassOf [
        rdf:type owl:Restriction ;
        owl:onProperty bfo:BFO_0000054 ;  # realizedIn
        owl:someValuesFrom :COPI_0000749  # ClosureProcess
    ] ;
    rdfs:label "closure function"@en ;
    iof-av:naturalLanguageDefinition "A DesignedFunction that is realized in a ClosureProcess and that consists in covering or capping the top or end of an artefact, protecting or sealing it from the surrounding environment."@en ;
    skos:definition "A DesignedFunction that is realized in a ClosureProcess and that consists in covering or capping the top or end of an artefact, protecting or sealing it from the surrounding environment."@en .

### Process type
:COPI_0000749 rdf:type owl:Class ;  # ClosureProcess
    rdfs:subClassOf :COPI_0000009 ;  # MaterialContainment
    rdfs:label "closure process"@en ;
    iof-av:naturalLanguageDefinition "A PlannedProcess in which a cap is fitted over a pipe end, on or over its outside surface (not inserted inside it), closing it off."@en ;
    skos:definition "A PlannedProcess in which a cap is fitted over a pipe end, on or over its outside surface (not inserted inside it), closing it off."@en .

:COPI_0000009 rdf:type owl:Class .  # MaterialContainment

### Equipment universal: PipeCap
:COPI_0000762 rdf:type owl:Class ;  # PipeCap
    rdfs:subClassOf :COPI_0000746 ;  # Cap
    rdfs:subClassOf [
        rdf:type owl:Restriction ;
        owl:onProperty iof-core:hasFunction ;  # Object branch (MaterialArtifact/Assembly/Object/FiatObjectPart)
        owl:someValuesFrom :COPI_0000748  # ClosureFunction
    ] ;
    rdfs:label "pipe cap"@en ;
    iof-av:naturalLanguageDefinition "A pipe cap is a cap that fits on or over the outside of a pipe end, not inside it, to close it off."@en ;
    skos:definition "A pipe cap is a cap that fits on or over the outside of a pipe end, not inside it, to close it off."@en ;
    iof-av:naturalLanguageDefinition "Uma tampa de tubo e uma tampa que se encaixa sobre a parte externa de uma extremidade de tubo, nao por dentro, para fecha-la."@pt-br ;
    iof-av:semiFormalNaturalLanguageAxiom "Every pipe cap is a cap that bears a closure function and has an over-fit relation quality, fitting on or over the outside of a pipe end."@en ;
    iof-av:firstOrderLogicAxiom "∀x (PipeCap(x) → Cap(x) ∧ ∃f (ClosureFunction(f) ∧ bearerOf(x,f)) ∧ ∃q (OverFitRelation(q) ∧ hasQuality(x,q)))"@en ;
    iof-av:isPrimitive "true"^^xsd:boolean ;
    iof-av:primitiveRationale "Constructive subtype reusing genus and function unchanged: sufficiency is not asserted so that a cap-like covering for a non-pipe artefact is not automatically classified as a pipe cap under OWA."@en ;
    skos:altLabel "quick connection cap"@en ;
