PREFIX pwo: <http://purl.org/spar/pwo/>
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#>

<http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#Plan> a rdfs:Class ;
  rdfs:label "plan"@en ;
  rdfs:comment "A description having an explicit goal to be achieved by executing tasks."@en .

pwo:WorkflowExecution a rdfs:Class ;
  rdfs:label "workflow execution"@en ;
  rdfs:comment "The aggregate of actions executed in the steps defined in a workflow."@en ;
  rdfs:subClassOf <http://www.ontologydesignpatterns.org/cp/owl/basicplanexecution.owl#PlanExecution> , <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> .

pwo:executes a rdf:Property ;
  rdfs:label "executes"@en ;
  rdfs:comment "This property allows to link a workflow execution to the related workflow description."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/basicplan.owl#satisfies> .

pwo:involvesAction a rdf:Property ;
  rdfs:label "involves action"@en ;
  rdfs:comment "The relation between a particular execution of a workflow and an action."@en ;
  rdfs:domain pwo:WorkflowExecution ;
  rdfs:range pwo:Action .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#forEntity> a rdf:Property ;
  rdfs:label "for entity"@en ;
  rdfs:comment "The relation between a time-indexed situation and an entity involved in it."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#atTime> a rdf:Property ;
  rdfs:label "at time"@en ;
  rdfs:comment "A time interval during which something is happening."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> .

<http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> a rdfs:Class ;
  rdfs:label "time interval"@en ;
  rdfs:comment "Two (starting and ending) points in time that define a particular period of time." .

<http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#hasIntervalDate> a rdf:Property ;
  rdfs:label "has interval date"@en ;
  rdfs:comment "A date value assigned to a time interval."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> a rdfs:Class ;
  rdfs:label "time indexed situation"@en ;
  rdfs:comment "A situation that is explicitly indexed at some time for at least one entity." .

pwo:Workflow a rdfs:Class ;
  rdfs:label "workflow"@en ;
  rdfs:comment "A sequence of connected steps, representing a sequence of publishing operations undertaken by agents. A workflow may be seen as an abstract model of real work."@en ;
  rdfs:subClassOf <http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#Plan> .

pwo:hasFirstStep a rdf:Property ;
  rdfs:label "has first step"@en ;
  rdfs:comment "The relation between a workflow and its first step."@en ;
  rdfs:domain pwo:Workflow ;
  rdfs:range pwo:Step ;
  rdfs:subPropertyOf pwo:hasStep .

pwo:hasStep a rdf:Property ;
  rdfs:label "has step"@en ;
  rdfs:comment "The relation between a workflow and a component step."@en ;
  rdfs:domain pwo:Workflow ;
  rdfs:range pwo:Step ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#definesTask> .

<http://www.w3.org/2006/time#DurationDescription> a rdfs:Class ;
  rdfs:label "duration description"@en ;
  rdfs:comment "Description of temporal extent structured with separate values for the various elements of a calendar-clock system." .

<http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#Action> a rdfs:Class ;
  rdfs:label "action"@en ;
  rdfs:comment "An event with at least one agent participating in it, and that executes a task." .

<http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#executesTask> a rdf:Property ;
  rdfs:label "executes task"@en ;
  rdfs:comment "The relation between an action and a task."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#Action> ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/taskrole.owl#Task> .

<http://www.ontologydesignpatterns.org/cp/owl/basicplanexecution.owl#PlanExecution> a rdfs:Class ;
  rdfs:label "plan execution"@en ;
  rdfs:comment "An event with at least one agent participating in it, and that executes a task." .

pwo:Action a rdfs:Class ;
  rdfs:label "action" ;
  rdfs:comment "An event with at least one agent that is participant in it and that is linked to a workflow execution and to a step of the related workflow description." .

pwo:happened a rdf:Property ;
  rdfs:label "happened"@en ;
  rdfs:comment "The relation between an event and the interval when it happened."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/participation.owl#Event> ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#Event> a rdfs:Class ;
  rdfs:label "event"@en ;
  rdfs:comment "An event that may happen during a publishing process, such as writing a draft, sending a preprint, publishing a paper, etc." .

pwo:needs a rdf:Property ;
  rdfs:label "needs"@en ;
  rdfs:comment "The relation between a workflow step or an event (e.g. an action executing a workflow step) and anything required to undertake that step/event."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#hasParticipant> a rdf:Property ;
  rdfs:label "has participant"@en ;
  rdfs:comment "The relation between an event and an object participating in that event."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/participation.owl#Event> ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/participation.owl#Object> .

pwo:produces a rdf:Property ;
  rdfs:label "produces"@en ;
  rdfs:comment "The relation between a workflow step or an event (e.g. an action executing a workflow step) and the thing that the step/event produces, creates or results in."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/11/swrl#Variable> a rdfs:Class .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> a rdfs:Class ;
  rdfs:label "situation"@en ;
  rdfs:comment "A view on a set of entities. It can be seen as a 'relational context', reifying a relation."@en .

<http://www.ontologydesignpatterns.org/cp/owl/basicplan.owl#satisfies> a rdf:Property ;
  rdfs:label "satisfies"@en ;
  rdfs:comment "A relation between a situation and a description." ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> a rdf:Property ;
  rdfs:label "is setting for"@en ;
  rdfs:comment "The relation between a situation and something that situation is a setting for."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> ;
  rdfs:range <https://w3id.org/linkml/Any> .

pwo:Step a rdfs:Class ;
  rdfs:label "step"@en ;
  rdfs:comment "An atomic unit of a workflow, that may be characterized by a starting time and an ending time, and may be associated with one or more events.  A workflow step usually involves some input information, material or energy needed to complete the step, and some output information, material or energy produced by that step.  In the case of a publishing workflow, a step typically results in the creation of a publication entity, usually by the modification of another pre-existing publication entity, e.g. the creation of an edited paper from a rough draft, or of an HTML representation from an XML mark-up."@en ;
  rdfs:subClassOf <http://www.ontologydesignpatterns.org/cp/owl/taskrole.owl#Task> .

pwo:hasNextStep a rdf:Property ;
  rdfs:label "has next step"@en ;
  rdfs:comment "The relation between a step in a workflow and the step that directly follows it."@en ;
  rdfs:domain pwo:Step ;
  rdfs:range pwo:Step ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#directlyPrecedes> .

<http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#isTaskDefinedIn> a rdf:Property ;
  rdfs:label "is task defined in"@en ;
  rdfs:comment "A relation between a task and its description."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/taskrole.owl#Task> ;
  rdfs:range pwo:Workflow , <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#isExecutedIn> a rdf:Property ;
  rdfs:label "is executed in"@en ;
  rdfs:comment "The relation between a task and an action."@en ;
  rdfs:range pwo:Action .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#Object> a rdfs:Class ;
  rdfs:label "object"@en ;
  rdfs:comment "Any physical, social, or mental object, or substance."@en .

<http://www.ontologydesignpatterns.org/cp/owl/basicplanexecution.owl#Action> a rdfs:Class ;
  rdfs:label "action"@en ;
  rdfs:comment "An event with at least one agent that participates in it, and that executes a task." .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

<http://www.ontologydesignpatterns.org/cp/owl/taskrole.owl#Task> a rdfs:Class ;
  rdfs:label "task"@en ;
  rdfs:comment "A piece of work to be done or undertaken." .

pwo:hasPreviousStep a rdf:Property ;
  rdfs:label "has previous step"@en ;
  rdfs:comment "A relation between a step in a workflow and the step that directly precedes it."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#directlyFollows> .

pwo:isActionInvolvedIn a rdf:Property ;
  rdfs:label "is action involved in"@en ;
  rdfs:comment "The relation between an event and a particular execution of a workflow description."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

pwo:isExecutedBy a rdf:Property ;
  rdfs:label "is executed by" ;
  rdfs:comment "The relation between a workflow description and the related workflow execution." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/basicplan.owl#isSatisfiedBy> .

pwo:isIntervalFor a rdf:Property ;
  rdfs:label "is interval for"@en ;
  rdfs:comment "The relation between an interval describing when an event happened and the related event."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

pwo:isNeededBy a rdf:Property ;
  rdfs:label "is needed by"@en ;
  rdfs:comment "The relation between a thing required to undertake a workflow step or an event (e.g. an action executing a workflow step) and the step/event itself."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

pwo:isProducedBy a rdf:Property ;
  rdfs:label "is produced by"@en ;
  rdfs:comment "The relation between something and the workflow step or an event (e.g. an action executing a workflow step) that produces, creates or results in that thing."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

pwo:isStepOf a rdf:Property ;
  rdfs:label "is step of"@en ;
  rdfs:comment "The relation between a step in a workflow and the workflow of which it is a component."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#isTaskDefinedIn> .

<http://www.essepuntato.it/2009/10/error/hasError> a rdf:Property ;
  rdfs:label "has error"@en ;
  rdfs:comment "A kind of error resulting from a resource." ;
  rdfs:range xsd:string .

<http://www.ontologydesignpatterns.org/cp/owl/basicplan.owl#isSatisfiedBy> a rdf:Property ;
  rdfs:label "satisfies"@en ;
  rdfs:comment "A relation between a description and a situation." ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#definesTask> a rdf:Property ;
  rdfs:label "defines task"@en ;
  rdfs:comment "A relation between a description and a task."@en ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/taskrole.owl#Task> .

<http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#hasParameter> a rdf:Property ;
  rdfs:label "has parameter"@en ;
  rdfs:comment "A relation between a concept and a parameter." ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#isParticipantIn> a rdf:Property ;
  rdfs:label "has participant"@en ;
  rdfs:comment "The relation between an event and an object participating in that event."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#directlyFollows> a rdf:Property ;
  rdfs:label "directly follows"@en ;
  rdfs:comment "The intransitive follows relation. For example, Wednesday directly precedes Thursday. Directness of precedence depends on the designer conceptualization."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#directlyPrecedes> a rdf:Property ;
  rdfs:label "directly precedes"@en ;
  rdfs:comment "The intransitive precedes relation. For example, Monday directly precedes Tuesday. Directness of precedence depends on the designer conceptualization."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#precedes> a rdf:Property ;
  rdfs:label "precedes"@en ;
  rdfs:comment "A relation between entities, expressing a 'sequence' schema. E.g. 'year 1999 precedes 2000', 'deciding what coffee to use' precedes 'preparing coffee', 'World War II follows World War I', 'in the Milan to Rome autoroute, Bologna precedes Florence', etc. It can then be used between tasks, processes, time intervals, spatially locate objects, situations, etc. Subproperties can be defined in order to distinguish the different uses."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#hasTimeIndexedSetting> a rdf:Property ;
  rdfs:label "has time indexed setting"@en ;
  rdfs:comment "The relation between an entity and a time-indexed situation it is involved in."@en ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> .
