@prefix : <http://w3id.org/CEON/ontology/process/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix odp: <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix processODP: <http://w3id.org/CEON/ontology/processODP/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix resourceODP: <http://w3id.org/CEON/ontology/resourceODP/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

: a owl:Ontology ;
    dcterms:contributor "Eva Blomqvist",
        "Mikael Lindecrantz",
        "Robin Keskisärkkä" ;
    dcterms:created "2025-05-21"^^xsd:date ;
    dcterms:creator "Huanyu Li" ;
    dcterms:description "The Process module of CEON (Circular Economy Ontology Network)." ;
    dcterms:issued "2025-06-30"^^xsd:date ;
    dcterms:license "https://creativecommons.org/licenses/by/4.0/" ;
    dcterms:publisher "Onto-DESIDE" ;
    dcterms:title "Circular Economy Ontology Network (CEON) - Process Module" ;
    vann:preferredNamespacePrefix "ceon-process" ;
    vann:preferredNamespaceUri "https://w3id.org/CEON/ontology/process/" ;
    odp:coversRequirements "In addition to requirements covered by imported ODPs, covers the following requirements from Onto-DESIDE D3.1: T8-2.",
        "In addition to requirements covered by imported ODPs, covers the following requirements from Onto-DESIDE D3.2: T8-2." ;
    rdfs:seeAlso <https://github.com/LiUSemWeb/CEON> ;
    owl:imports <http://w3id.org/CEON/ontology/processODP/0.5/> ;
    owl:priorVersion 0.4 ;
    owl:versionIRI <http://w3id.org/CEON/ontology/process/0.5/> ;
    owl:versionInfo 0.5 .

:AssemblingProcess a owl:Class ;
    rdfs:label "Assembling Process" ;
    rdfs:comment "A process of assembling." ;
    rdfs:subClassOf :TransformationProcess .

:BuyResourceProcess a owl:Class ;
    rdfs:label "Buy Resource Process" ;
    rdfs:comment "A process of buying a resource." ;
    rdfs:subClassOf processODP:Process .

:ChangeResourceProcess a owl:Class ;
    rdfs:label "Change Resource Process" ;
    rdfs:comment "A process of a changing resource." ;
    rdfs:subClassOf :TransformationProcess .

:ContactProcess a owl:Class ;
    rdfs:label "Contact Process" ;
    rdfs:comment "A contact process." ;
    rdfs:subClassOf processODP:Process .

:DeconstructionProcess a owl:Class ;
    rdfs:label "Deconstruction Process" ;
    rdfs:comment "A process of deconstruction." ;
    rdfs:subClassOf :TransformationProcess .

:DisassemblingProcess a owl:Class ;
    rdfs:label "Disassembling Process" ;
    rdfs:comment "A process of disassembling." ;
    rdfs:subClassOf :TransformationProcess .

:DismantleProcess a owl:Class ;
    rdfs:label "Dismantle Process" ;
    rdfs:comment "A process of dismantling." ;
    rdfs:subClassOf :TransformationProcess .

:EnsureClaimProcess a owl:Class ;
    rdfs:label "Ensure Claim Process" ;
    rdfs:comment "A process of ensuring a claim." ;
    rdfs:subClassOf processODP:Process .

:IssuingCertificateProcess a owl:Class ;
    rdfs:label "Issuing Certificate Process" ;
    rdfs:comment "A process of issuing a certificate." ;
    rdfs:subClassOf :TransformationProcess .

:ManufacturingProcess a owl:Class ;
    rdfs:label "Manufacturing Process" ;
    rdfs:comment "A process of manufacturing." ;
    rdfs:subClassOf :TransformationProcess .

:OffsetProcess a owl:Class ;
    rdfs:label "Offset Process" ;
    rdfs:comment "A process of offsetting." ;
    rdfs:subClassOf :TransformationProcess .

:ProductionProcess a owl:Class ;
    rdfs:label "Production Process" ;
    rdfs:comment "A process of production." ;
    rdfs:subClassOf :TransformationProcess .

:RecycleProcess a owl:Class ;
    rdfs:label "Recycle Process" ;
    rdfs:comment "A process of recycling." ;
    rdfs:subClassOf :TransformationProcess .

:RefurbishmentProcess a owl:Class ;
    rdfs:label "Refurbishment Process" ;
    rdfs:comment "A process of refurbishment." ;
    rdfs:subClassOf :TransformationProcess .

:RemoveProcess a owl:Class ;
    rdfs:label "Remove Process" ;
    rdfs:comment "A process of removing." ;
    rdfs:subClassOf processODP:Process .

:RemoveResourceProcess a owl:Class ;
    rdfs:label "Remove Resource Process" ;
    rdfs:comment "A process of removing a resource." ;
    rdfs:subClassOf :TransformationProcess .

:RepairProcess a owl:Class ;
    rdfs:label "Repair Process" ;
    rdfs:comment "A process of repairing." ;
    rdfs:subClassOf :TransformationProcess .

:ResellProcess a owl:Class ;
    rdfs:label "Resell Process" ;
    rdfs:comment "A process of reselling." ;
    rdfs:subClassOf processODP:Process .

:ReuseProcess a owl:Class ;
    rdfs:label "Reuse Process" ;
    rdfs:comment "A process of reusing." ;
    rdfs:subClassOf processODP:Process .

:SellResourceProcess a owl:Class ;
    rdfs:label "Sell Resource Process" ;
    rdfs:comment "A process of selling a resource." ;
    rdfs:subClassOf processODP:Process .

:ServiceProcess a owl:Class ;
    rdfs:label "Service Process" ;
    rdfs:comment "A process of servicing." ;
    rdfs:subClassOf :TransformationProcess .

:ShareResourceProcess a owl:Class ;
    rdfs:label "Share Resource Process" ;
    rdfs:comment "A process of sharing a resource." ;
    rdfs:subClassOf processODP:Process .

:TakeBackProcess a owl:Class ;
    rdfs:label "Take Back Process" ;
    rdfs:comment "A process of taking back." ;
    rdfs:subClassOf processODP:Process .

:affectsObject a owl:ObjectProperty ;
    rdfs:label "affects object" ;
    rdfs:comment "A certain transition may affect objects, e.g. material that changes its state from one situation to another." ;
    rdfs:domain :Transition ;
    rdfs:subPropertyOf processODP:isSettingFor .

:needsEnergy a owl:ObjectProperty ;
    rdfs:label "needs energy" ;
    rdfs:comment "The energy needed to perform a certain process." ;
    rdfs:range <http://w3id.org/CEON/ontology/energy/Energy> ;
    rdfs:subPropertyOf processODP:hasInput .

:producesCO2 a owl:ObjectProperty ;
    rdfs:label "produces CO2" ;
    rdfs:comment "The CO2 released or produced by the process." ;
    rdfs:range :CO2Emission ;
    rdfs:subPropertyOf processODP:hasOutput .

:resultingResource a owl:ObjectProperty ;
    rdfs:label "resulting resource" ;
    rdfs:comment "The resource that is the output (product, i.e. what is produced) from a certain process." ;
    rdfs:range resourceODP:Resource ;
    rdfs:subPropertyOf processODP:hasOutput .

:usesCatalyst a owl:ObjectProperty ;
    rdfs:label "uses catalyst" ;
    rdfs:comment "The catalyst used in a process." ;
    rdfs:range :Catalyst ;
    rdfs:subPropertyOf processODP:hasInput .

processODP:Event a owl:Class ;
    rdfs:seeAlso "https://ref.gs1.org/epcis/EPCISEvent" .

<http://w3id.org/CEON/ontology/energy/Energy> a owl:Class ;
    rdfs:label "Energy" ;
    rdfs:comment "An amount of energy." ;
    rdfs:subClassOf resourceODP:Resource .

:CO2Emission a owl:Class ;
    rdfs:label "CO2 emission" ;
    rdfs:comment "An amount of CO2." ;
    rdfs:subClassOf resourceODP:Resource .

:Catalyst a owl:Class ;
    rdfs:label "Catalyst" ;
    rdfs:comment "A resource that is needed as a catalyst by a process, but that is not considered the direct input or output of it." ;
    rdfs:subClassOf resourceODP:Resource .

:Transition a owl:Class ;
    rdfs:label "Transition" ;
    rdfs:comment "A transition is a situation that creates a context for two additional different Situations, one Process, and at least one Object: one Situation is the state before the transition, the second Situation is the state after the transition, the Process is the invariance under some different transitions, in which at least one Object is situated. Finally, one or more time interval(s) may position the situations and the transitional event in time, and we may include the event that triggered the transition as well." ;
    rdfs:subClassOf processODP:Situation .

processODP:hasInput a owl:ObjectProperty .

processODP:hasOutput a owl:ObjectProperty .

resourceODP:Resource a owl:Class ;
    rdfs:comment "Some resources can be specifically associated with processes." .

:TransformationProcess a owl:Class ;
    rdfs:label "Transformation Process" ;
    rdfs:comment "Set of interrelated or interacting activities that transforms inputs into outputs."@en ;
    rdfs:isDefinedBy "ISO 59004:2024  - 3.5.5 process" ;
    rdfs:seeAlso "https://ref.gs1.org/epcis/Transformation" ;
    rdfs:subClassOf processODP:Process .

