PREFIX ontogoal: <https://www.theworldavatar.com/kg/ontogoal/>
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#>

ontogoal:Restriction a rdfs:Class ;
  rdfs:comment "Resource limitations for the pursuit of a goal set." .

ontogoal:cycleAllowance a rdf:Property ;
  rdfs:comment "Allowance of cycles during pursuit of a goal set." ;
  rdfs:domain ontogoal:Restriction ;
  rdfs:range xsd:int .

ontogoal:deadline a rdf:Property ;
  rdfs:comment "Deadline for the pursuit of a goal set." ;
  rdfs:domain ontogoal:Restriction ;
  rdfs:range xsd:string .

<http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> a rdfs:Class .

ontogoal:Plan a rdfs:Class ;
  rdfs:comment "A plan is a sequence of actions that an agent can perform to pursure the goal." .

ontogoal:hasStep a rdf:Property ;
  rdfs:comment "A relation between a plan and each step it consists of." ;
  rdfs:domain ontogoal:Plan ;
  rdfs:range xsd:string .

ontogoal:DesignOfExperiment a rdfs:Class ;
  rdfs:comment "A step represents the design of experiment." ;
  rdfs:subClassOf ontogoal:Step .

ontogoal:hasNextStep a rdf:Property ;
  rdfs:comment "A relation between two sequential steps within a plan." ;
  rdfs:domain ontogoal:Step ;
  rdfs:range ontogoal:RxnExpExecution , ontogoal:Step , ontogoal:PostProcessing .

ontogoal:canBePerformedBy a rdf:Property ;
  rdfs:comment "A relation between a step and the agent that capable of performing it." ;
  rdfs:domain ontogoal:Step ;
  rdfs:range <http://www.theworldavatar.com/ontology/ontoagent/MSM.owl#Service> .

ontogoal:GoalSet a rdfs:Class ;
  rdfs:comment "A collection of individual goals for active pursuit by the agent." .

ontogoal:hasRestriction a rdf:Property ;
  rdfs:comment "A relation between a goal set and the restriction posed for the pursuit process." ;
  rdfs:domain ontogoal:GoalSet ;
  rdfs:range ontogoal:Restriction .

ontogoal:hasGoal a rdf:Property ;
  rdfs:comment "A relation between a goal set and individual goal it consists of." ;
  rdfs:domain ontogoal:GoalSet ;
  rdfs:range ontogoal:Goal .

ontogoal:PostProcessing a rdfs:Class ;
  rdfs:comment "A step represents the post processing of experiment results." ;
  rdfs:subClassOf ontogoal:Step .

ontogoal:Result a rdfs:Class ;
  rdfs:comment "A placeholder instance to refer to the actual value obtained for a goal during pursing it." .

ontogoal:refersTo a rdf:Property ;
  rdfs:comment "A relation between a result and the actual value it refers to." ;
  rdfs:domain ontogoal:Result ;
  rdfs:range <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> .

ontogoal:RxnOptPlan a rdfs:Class ;
  rdfs:comment "A plan that can be adopted to optimise a chemical reaction." ;
  rdfs:subClassOf ontogoal:Plan .

ontogoal:RxnExpExecution a rdfs:Class ;
  rdfs:comment "A step represents the reaction experiment execution." ;
  rdfs:subClassOf ontogoal:Step .

ontogoal:Goal a rdfs:Class ;
  rdfs:comment "A goal is a desire (as defined in BDI architecture) that is assigned for active pursuit by one agent." .

ontogoal:desires a rdf:Property ;
  rdfs:comment "A relation between a goal and the target value it desires." ;
  rdfs:domain ontogoal:Goal ;
  rdfs:range <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> .

ontogoal:hasPlan a rdf:Property ;
  rdfs:comment "A relation between a goal and the plan that can be adopted to achieve it." ;
  rdfs:domain ontogoal:Goal ;
  rdfs:range ontogoal:Plan .

ontogoal:desiresLessThan a rdf:Property ;
  rdfs:comment "A relation between a goal and the target value it desires to be less than." ;
  rdfs:domain ontogoal:Goal ;
  rdfs:range <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> ;
  rdfs:subPropertyOf ontogoal:desires .

ontogoal:desiresGreaterThan a rdf:Property ;
  rdfs:comment "A relation between a goal and the target value it desires to be greater than." ;
  rdfs:domain ontogoal:Goal ;
  rdfs:range <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> ;
  rdfs:subPropertyOf ontogoal:desires .

ontogoal:hasResult a rdf:Property ;
  rdfs:comment "A relation between a goal and the values is achieved during the pursuit." ;
  rdfs:domain ontogoal:Goal ;
  rdfs:range <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> .

ontogoal:Step a rdfs:Class ;
  rdfs:comment "A step is an action unit that can be taken during pursuit of a goal." .

<http://www.theworldavatar.com/ontology/ontoagent/MSM.owl#Service> a rdfs:Class .
