@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/plan/precedesExecution>
        a                   owl:ObjectProperty ;
        rdfs:comment        "The situation before the process event takes place, i.e. the state of affairs before the execution, such as the state of the set of components before they are assembled into a product item, or the material state before being recycled." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/plan/PlanExecution> ;
        rdfs:label          "precedes execution" ;
        rdfs:subPropertyOf  <http://w3id.org/CEON/ontology/processODP/isSettingFor> .

<http://w3id.org/CEON/ontology/processODP/hasInput>
        a       owl:ObjectProperty .

<http://w3id.org/CEON/ontology/plan/followsExecution>
        a                   owl:ObjectProperty ;
        rdfs:comment        "The situation after the execution takes place, i.e. the state of affairs after the process event, such as the product being assembled, or the material being recycled." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/plan/PlanExecution> ;
        rdfs:label          "follows execution" ;
        rdfs:subPropertyOf  <http://w3id.org/CEON/ontology/processODP/isSettingFor> .

<http://w3id.org/CEON/ontology/plan/>
        a                              owl:Ontology ;
        rdfs:seeAlso                   <https://github.com/LiUSemWeb/CEON> ;
        dcterms:contributor            "Eva Blomqvist" ;
        dcterms:created                "2025-06-19"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dcterms:creator                "Huanyu Li" ;
        dcterms:description            "The Plan module of CEON (Circular Economy Ontology Network)." ;
        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) - Plan Module" ;
        vann:preferredNamespacePrefix  "ceon-plan" ;
        vann:preferredNamespaceUri     "https://w3id.org/CEON/ontology/plan/" ;
        odp:coversRequirements         "In addition to requirements covered by imported ODPs, covers the following requirements from Onto-DESIDE D3.2: T8-2." , "In addition to requirements covered by imported ODPs, covers the following requirements from Onto-DESIDE D3.1: T8-2." ;
        owl:imports                    <http://w3id.org/CEON/ontology/processODP/0.5/> ;
        owl:versionIRI                 <http://w3id.org/CEON/ontology/plan/0.1/> ;
        owl:versionInfo                0.1 .

<http://w3id.org/CEON/ontology/plan/occursAtTime>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Represents the time at which something takes place." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/plan/PlanExecution> ;
        rdfs:label    "occurs at time" ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#dateTime> .

<http://w3id.org/CEON/ontology/plan/satisfiesPlan>
        a                   owl:ObjectProperty ;
        rdfs:comment        "A relation between a Situation and a Description, e.g. the execution of a Plan satisfies that plan." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/processODP/Situation> ;
        rdfs:label          "satisfies plan" ;
        rdfs:range          <http://w3id.org/CEON/ontology/plan/Description> ;
        rdfs:subPropertyOf  owl:topObjectProperty .

<http://w3id.org/CEON/ontology/processODP/hasOutput>
        a       owl:ObjectProperty .

<http://w3id.org/CEON/ontology/processODP/occursAtTime>
        a       owl:DatatypeProperty .

<http://w3id.org/CEON/ontology/plan/Description>
        a             owl:Class ;
        rdfs:comment  "A Description is a SocialObject that represents a conceptualization. \nFor example, a Plan is a Description of some actions to be executed by agents in a certain way, with certain parameters etc. Descriptions 'define' or 'use' concepts, and can be 'satisfied' by situations." ;
        rdfs:label    "Description" .

<http://w3id.org/CEON/ontology/plan/hasPlanExecution>
        a                   owl:ObjectProperty ;
        rdfs:comment        "A plan can have specific executions." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/plan/Plan> ;
        rdfs:label          "has plan exeution" ;
        rdfs:range          <http://w3id.org/CEON/ontology/plan/PlanExecution> ;
        rdfs:subPropertyOf  owl:topObjectProperty .

<http://w3id.org/CEON/ontology/plan/Plan>
        a                owl:Class ;
        rdfs:comment     "A Description having an explicit goal, to be achieved by executing the plan." ;
        rdfs:label       "Plan" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/plan/Description> ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/processODP/hasPart> ;
                           owl:someValuesFrom  <http://w3id.org/CEON/ontology/plan/Plan>
                         ] .

<http://w3id.org/CEON/ontology/plan/PlanExecution>
        a                owl:Class ;
        rdfs:comment     "Plan executions are situations that proactively satisfy a plan. Subplan executions are proper parts of the whole plan execution." ;
        rdfs:label       "Plan Execution" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/processODP/Situation> ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/processODP/hasPart> ;
                           owl:someValuesFrom  <http://w3id.org/CEON/ontology/plan/PlanExecution>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/plan/satisfiesPlan> ;
                           owl:someValuesFrom  <http://w3id.org/CEON/ontology/plan/Plan>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/plan/precedesExecution> ;
                           owl:someValuesFrom  <http://w3id.org/CEON/ontology/processODP/Situation>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/plan/followsExecution> ;
                           owl:someValuesFrom  <http://w3id.org/CEON/ontology/processODP/Situation>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      <http://w3id.org/CEON/ontology/processODP/isSettingFor> ;
                           owl:someValuesFrom  <http://w3id.org/CEON/ontology/processODP/Process>
                         ] ;
        rdfs:subClassOf  [ a            owl:Class ;
                           owl:unionOf  ( [ a                   owl:Restriction ;
                                            owl:onProperty      <http://w3id.org/CEON/ontology/processODP/duringTime> ;
                                            owl:someValuesFrom  <http://w3id.org/CEON/ontology/processODP/TimeInterval>
                                          ] [ a                   owl:Restriction ;
                                              owl:onProperty      <http://w3id.org/CEON/ontology/processODP/occursAtTime> ;
                                              owl:someValuesFrom  <http://www.w3.org/2001/XMLSchema#dateTime>
                                            ] )
                         ] .
