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 .

pwo:WorkflowExecution a rdfs:Class ;
  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: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 property linking a particular execution of a workflow to an action."@en ;
  rdfs:domain pwo:WorkflowExecution ;
  rdfs:range pwo:Action .

<http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> a rdfs:Class .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> a rdfs:Class .

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 "A workflow that starts with a particular 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 property linking a workflow to 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 .

<http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#Action> a rdfs:Class .

<http://www.ontologydesignpatterns.org/cp/owl/basicplanexecution.owl#PlanExecution> a rdfs:Class .

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 "It allows one to link an event to 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 .

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

pwo:produces a rdf:Property ;
  rdfs:label "produces"@en ;
  rdfs:comment "The property linking a workflow step or an event (e.g. an action executing a workflow step) to 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 .

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 "A property linking a step in a workflow with 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:range pwo:Workflow .

<http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#isExecutedIn> a rdf:Property ;
  rdfs:range pwo:Action .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#Object> a rdfs:Class .

<http://www.ontologydesignpatterns.org/cp/owl/basicplanexecution.owl#Action> a rdfs:Class .

<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 .

pwo:hasPreviousStep a rdf:Property ;
  rdfs:label "has previous step"@en ;
  rdfs:comment "A property linking a step in a workflow with 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 property linking an event to 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 "This property allows to link a workflow description to 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 "It allows one to link an interval describing when an event happened to 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 property linking a thing required to undertake a workflow step or an event (e.g. an action executing a workflow step) to 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 property linking something to 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 property linking a step in a workflow to 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:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/basicplan.owl#isSatisfiedBy> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/basicplan.owl#satisfies> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/basicplandescription.owl#definesTask> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#hasParameter> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#hasParticipant> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/participation.owl#isParticipantIn> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#directlyFollows> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#directlyPrecedes> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/sequence.owl#precedes> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/taskexecution.owl#executesTask> a rdf:Property ;
  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 step is performed within a time interval."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#forEntity> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#hasTimeIndexedSetting> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#hasIntervalDate> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .
