@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: BlankingCapPipeUnion
<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-08"^^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 MaterialContainment process in which a threaded cap is screwed onto a female union sub fitted to a pipe end, closing off fluid flow through that end."@en ;
    skos:definition "A MaterialContainment process in which a threaded cap is screwed onto a female union sub fitted to a pipe end, closing off fluid flow through that end."@en .

:COPI_0000009 rdf:type owl:Class .  # MaterialContainment

### Equipment universal: BlankingCapPipeUnion
:COPI_0000744 rdf:type owl:Class ;  # BlankingCapPipeUnion
    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:subClassOf [
        rdf:type owl:Restriction ;
        owl:onProperty iof-core:hasComponentPartAtAllTimes ;
        owl:someValuesFrom :COPI_0000752  # FemaleUnionSub
    ] ;
    rdfs:label "blanking cap pipe union"@en ;
    iof-av:naturalLanguageDefinition "A blanking cap pipe union (end of line terminator) is a cap assembly consisting of a female union sub with a threaded end, permanently fitted to a pipe, and a threaded cap screwed onto it to close off fluid flow at the end of a line."@en ;
    skos:definition "A blanking cap pipe union (end of line terminator) is a cap assembly consisting of a female union sub with a threaded end, permanently fitted to a pipe, and a threaded cap screwed onto it to close off fluid flow at the end of a line."@en ;
    iof-av:naturalLanguageDefinition "Um conjunto de tampa cega de uniao de tubo (terminador de fim de linha) e um conjunto de tampa formado por uma luva de uniao femea com extremidade rosqueada, fixada permanentemente a um tubo, e uma tampa rosqueada aparafusada sobre ela para fechar o fluxo de fluido na extremidade de uma linha."@pt-br ;
    iof-av:semiFormalNaturalLanguageAxiom "Every blanking cap pipe union is a cap that bears a closure function and has a female union sub and a threaded pipe cap as component parts, screwed together to close off fluid flow."@en ;
    iof-av:firstOrderLogicAxiom "∀x (BlankingCapPipeUnion(x) → Cap(x) ∧ ∃f (ClosureFunction(f) ∧ bearerOf(x,f)) ∧ ∃u (FemaleUnionSub(u) ∧ hasComponentPartAtAllTimes(x,u)) ∧ ∃c (ThreadedPipeCap(c) ∧ hasComponentPartAtAllTimes(x,c)))"@en ;
    iof-av:isPrimitive "true"^^xsd:boolean ;
    iof-av:primitiveRationale "Constructive subtype reusing genus and function unchanged: sufficiency is not asserted so that any two-component threaded closure is not automatically classified into this specific union-sub-plus-cap assembly without confirmation."@en ;

:COPI_0000752 rdf:type owl:Class ;  # FemaleUnionSub
    rdfs:subClassOf iof-core:MaterialArtifact ;
    rdfs:label "female union sub"@en .
