@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix odp:   <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann:  <http://purl.org/vocab/vann/> .

<http://w3id.org/CEON/ontology/processODP/startTime>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Represents the start time of a time interval." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/processODP/TimeInterval> ;
        rdfs:label    "start time" ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#dateTime> .

dcterms:license  a  owl:AnnotationProperty .

vann:preferredNamespaceUri
        a       owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/processODP/Event>
        a                owl:Class ;
        rdfs:comment     "Something that happens within a given context or (short) timeframe." ;
        rdfs:label       "Event" ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  <http://w3id.org/CEON/ontology/processODP/Event> ;
                           owl:onProperty     <http://w3id.org/CEON/ontology/processODP/hasPart>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/processODP/hasInput> ;
                                                   owl:someValuesFrom  owl:Thing
                                                 ] [ a                   owl:Restriction ;
                                                     owl:onProperty      <http://w3id.org/CEON/ontology/processODP/hasOutput> ;
                                                     owl:someValuesFrom  owl:Thing
                                                   ] )
                         ] .

<http://w3id.org/CEON/ontology/processODP/Process>
        a                owl:Class ;
        rdfs:comment     "Something that takes place over a (longer) period of time and changes some state of affairs."@en ;
        rdfs:label       "Process" ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( <http://w3id.org/CEON/ontology/processODP/Event> <http://w3id.org/CEON/ontology/processODP/Process> )
                                              ] ;
                           owl:onProperty     <http://w3id.org/CEON/ontology/processODP/hasPart>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/processODP/hasInput> ;
                                                   owl:someValuesFrom  owl:Thing
                                                 ] [ a                   owl:Restriction ;
                                                     owl:onProperty      <http://w3id.org/CEON/ontology/processODP/hasOutput> ;
                                                     owl:someValuesFrom  owl:Thing
                                                   ] )
                         ] .

<http://w3id.org/CEON/ontology/processODP/TimeInterval>
        a             owl:Class ;
        rdfs:comment  "A temporal entity has a starting time and an ending time." ;
        rdfs:label    "Time Interval" .

dcterms:created  a  owl:AnnotationProperty .

dcterms:creator  a  owl:AnnotationProperty .

dcterms:title  a  owl:AnnotationProperty .

dcterms:contributor  a  owl:AnnotationProperty .

dcterms:publisher  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/processODP/occursAtLocation>
        a                   owl:ObjectProperty ;
        rdfs:comment        "The location in which something (e.g. an event or process) takes place, e.g. the factory location where something is manufactured." ;
        rdfs:label          "occurs at location" ;
        rdfs:range          <http://w3id.org/CEON/ontology/location/Location> ;
        rdfs:subPropertyOf  <http://w3id.org/CEON/ontology/processODP/isSettingFor> .

<http://www.w3.org/2001/XMLSchema#date>
        a       rdfs:Datatype .

<http://w3id.org/CEON/ontology/processODP/Situation>
        a                owl:Class ;
        rdfs:comment     "A situation that may involve some resources and actors, i.e. a state of affairs at a certain point in time." ;
        rdfs:label       "Situation" ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/processODP/isSettingFor> ;
                           owl:someValuesFrom  owl:Thing
                         ] .

<http://w3id.org/CEON/ontology/processODP/isSettingFor>
        a             owl:ObjectProperty ;
        rdfs:comment  "The thing(s) that this situation is the setting for, e.g. a resource that is in a certain state." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/processODP/Situation> ;
        rdfs:label    "is the setting for" .

<http://w3id.org/CEON/ontology/location/Location>
        a       owl:Class .

<http://w3id.org/CEON/ontology/processODP/>
        a                              owl:Ontology ;
        rdfs:comment                   "A core ODP of the CEON ontology network, defining aspects of the process concept." ;
        rdfs:seeAlso                   <https://github.com/LiUSemWeb/CEON> ;
        dcterms:contributor            "Eva Blomqvist" , "Robin Keskisärkkä" , "Mikael Lindecrantz" ;
        dcterms:created                "2025-05-20"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dcterms:creator                "Huanyu Li" ;
        dcterms:description            "A core ODP of the CEON ontology network, defining aspects of the process concept." ;
        dcterms:issued                 "2025-06-30"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dcterms:license                "https://creativecommons.org/licenses/by/4.0/" ;
        dcterms:publisher              "Onto-DESIDE" ;
        dcterms:title                  "Circular Economy Ontology Network (CEON) - Process ODP" ;
        vann:preferredNamespacePrefix  "ceon-processODP" ;
        vann:preferredNamespaceUri     "http://w3id.org/CEON/ontology/processODP/" ;
        odp:coversRequirements         "Covers the following requirements from Onto-DESIDE D3.2: CE1-1, CE3-5, CE7-4, CE7-5, CE8-2, CE10-7, CE12-1, C3-1, C4-2, C4-5, C4-7, C4-9, C13-2, E1-9, E2-6, E3-7, T10-1." , "Covers the following requirements from Onto-DESIDE D3.1: CVN-Process-3,4,5, C3-1, C4-2, C4-5, C4-7, C4-9, C13-2, E2-6" ;
        owl:priorVersion               0.4 ;
        owl:versionIRI                 <http://w3id.org/CEON/ontology/processODP/0.5/> ;
        owl:versionInfo                0.5 .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

dcterms:issued  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/processODP/hasOutput>
        a             owl:ObjectProperty ;
        rdfs:comment  "The output of a process or event." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/processODP/Process> ;
        rdfs:label    "has output" .

odp:coversRequirements
        a       owl:AnnotationProperty .

dcterms:description  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/processODP/hasPart>
        a             owl:TransitiveProperty , owl:ObjectProperty ;
        rdfs:comment  "A process or event can consist of several parts, which are sub-processes (e.g. steps) or events." ;
        rdfs:label    "has part" .

<http://w3id.org/CEON/ontology/processODP/hasInput>
        a             owl:ObjectProperty ;
        rdfs:comment  "The inputs to a process or event." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/processODP/Process> ;
        rdfs:label    "has input" .

<http://w3id.org/CEON/ontology/processODP/duringTime>
        a             owl:ObjectProperty ;
        rdfs:comment  "The time interval during which something, e.g. a process or event, takes place." ;
        rdfs:label    "during time" ;
        rdfs:range    <http://w3id.org/CEON/ontology/processODP/TimeInterval> .

<http://w3id.org/CEON/ontology/processODP/endTime>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Represents the end time of a time interval." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/processODP/TimeInterval> ;
        rdfs:label    "end time" ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#dateTime> .
