Semi-formal (Aristotelian)Semi-formal (Aristotélico)
Every three way valve is a valve that bears a flow control function and has a port as a component part, distinguished from a generic valve by an additional flow-path participant in its process signature.
First-Order Logic TheoryTeoria em Lógica de Primeira Ordem
[Necessary condition]∀x (ThreeWayValve(x) → Valve(x) ∧ ∃f (FlowControlFunction(f) ∧ bearerOf(x,f))) — Steps 1–3: genus + identity-giving function
[Function axiom: FlowControlFunction]∀f (FlowControlFunction(f) → ∀p (realizedIn(f,p) → FlowControlProcess(p)) ∧ ∃p (FlowControlProcess(p) ∧ realizedIn(f,p))) — Step 1: ∀ preserves type-type identity; ∃ rules out vacuous functions never realised
[Structural differentia (necessary only)]∀x (ThreeWayValve(x) → ∃hasComponentPartAtAllTimes.Port) — Step 3: structural property — necessary condition, not sufficient (OWA prevents ≡)
[Process participation signature]∀x ∀f ((ThreeWayValve(x) ∧ FlowControlFunction(f) ∧ bearerOf(x,f)) →
∃m (PortionOfFluid(m) ∧ participatesIn(m,f)) ∧
∃e (PortionOfFluid(e) ∧ participatesIn(e,f)) ∧
processType(f,FlowRegulation)) — Step 5: typed participants in the realising process
OWL 2 / Turtle
@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: ThreeWayValve
<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
:FlowControlFunction rdf:type owl:Class ;
rdfs:subClassOf iof-core:DesignedFunction ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty bfo:BFO_0000054 ; # realizedIn
owl:allValuesFrom :FlowControlProcess
] ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty bfo:BFO_0000054 ; # realizedIn
owl:someValuesFrom :FlowControlProcess
] ;
rdfs:label "flow control function"@en ;
rdfs:label "função de controle de fluxo"@pt-br ;
iof-av:naturalLanguageDefinition "A DesignedFunction that is realized in a FlowControlProcess and that consists in permitting, obstructing, regulating, or routing the passage of a fluid."@en ;
skos:definition "A DesignedFunction that is realized in a FlowControlProcess and that consists in permitting, obstructing, regulating, or routing the passage of a fluid."@en .
### Process type
:FlowControlProcess rdf:type owl:Class ;
rdfs:subClassOf :FlowControl ;
rdfs:label "flow control process"@en ;
rdfs:label "processo de controle de fluxo"@pt-br ;
iof-av:naturalLanguageDefinition "A PlannedProcess in which a valve permits, obstructs, regulates, or routes fluid flow between its ports."@en ;
skos:definition "A PlannedProcess in which a valve permits, obstructs, regulates, or routes fluid flow between its ports."@en .
:FlowControl rdf:type owl:Class .
:FlowControlProcess
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty iof-core:hasInput ;
owl:someValuesFrom :PortionOfFluid
] ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty iof-core:hasSpecifiedOutput ;
owl:someValuesFrom :PortionOfFluid
] .
### Equipment universal: ThreeWayValve
:ThreeWayValve rdf:type owl:Class ;
rdfs:subClassOf :Valve ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty iof-core:hasFunction ; # Object branch (MaterialArtifact/Assembly/Object/FiatObjectPart)
owl:someValuesFrom :FlowControlFunction
] ;
rdfs:label "three way valve"@en ;
iof-av:naturalLanguageDefinition "A three way valve is a valve with three flow-path ports instead of the usual two, used to divert one inlet stream to either of two outlets or to mix two inlet streams into one outlet."@en ;
skos:definition "A three way valve is a valve with three flow-path ports instead of the usual two, used to divert one inlet stream to either of two outlets or to mix two inlet streams into one outlet."@en ;
iof-av:naturalLanguageDefinition "Uma valvula de tres vias e uma valvula com tres portas de passagem de fluxo em vez das duas usuais, usada para desviar um fluxo de entrada para uma de duas saidas ou para misturar dois fluxos de entrada em uma saida."@pt-br ;
iof-av:semiFormalNaturalLanguageAxiom "Every three way valve is a valve that bears a flow control function and has a port as a component part, distinguished from a generic valve by an additional flow-path participant in its process signature."@en ;
iof-av:firstOrderLogicAxiom "∀x (ThreeWayValve(x) → Valve(x) ∧ ∃f (FlowControlFunction(f) ∧ bearerOf(x,f)) ∧ ∃p (Port(p) ∧ hasComponentPartAtAllTimes(x,p)))"@en ;
iof-av:isPrimitive "true"^^xsd:boolean ;
iof-av:primitiveRationale "Constructive type: under OWA, asserting sufficiency (equivalence) from a Port-existence differentia would risk misclassifying any valve that happens to assert a Port component (or any multi-port manifold-like fitting) as a ThreeWayValve. Necessary conditions only, pending expert review of whether the port-count distinction should ever be made sufficient."@en ;