wfprov Workflow Execution Provenance ontology
type: Ontology
imports: metadata.owl
imports: wfdesc.owl
version IRI: wfprov.owl
version info: 1.0.0-SNAPSHOT
issued: 2016-01-28T15:35:00Z
modified: 2016-01-28T15:35:00Z
description: The wfprov ontology shows how to express minimal provenance information about the execution of a workflow described using the wf ontology. Here the concern is mainly the provenance which affects the research object, so in particular how some ro:Resource's might have been generated or used by the execution of a wfdesc:Workflow. The main class here is a wfprov:WorkflowRun which shows how wfprov:Artifact instances (the data) wfprov:wasOutputFrom a wfprov:ProcessRun for generated artifacts, or wfprov:usedInput for consumed artifacts. The WorkflowRun is also a ProcessRun, and so the overall inputs and outputs of thw workflow execution can be described in the same manner. These provenance details are linked to the corresponding wfdesc descriptions using wfdesc:describedbyProcess, wfdesc:describedByWorkflow and wfdesc:describedByParameter. This ontology can be further linked to more specific provenance ontologies like OPM-V or W3C PROV-O, but this should be done separately.
imports: prov-o#
creator: http://orcid.org/0000-0003-0454-7145
publisher: www.researchobject.org
license: http://creativecommons.org/licenses/by/4.0/
creator: http://orcid.org/0000-0003-4289-4922
creator: http://orcid.org/0000-0001-6938-0820
creator: http://orcid.org/0000-0002-9260-0753
creator: Graham Klyne
creator: http://orcid.org/0000-0002-5872-3573
creator: esteban-garcia-cuesta
backward compatible with: wfdesc.owl
creator: Stian Soiland-Reyes
creator: Khalid Belhajjame
creator: Oscar Corcho
creator: Raul Palma
creator: Sean Bechhofer
creator: http://orcid.org/0000-0001-9842-9718
preferred namespace prefix: wfdesc
creator: http://orcid.org/0000-0002-0323-0093
creator: Daniel Garijo
preferred namespace uri: http://purl.org/wf4ever/wfdesc#
creator: Esteban García Cuesta
rights: This ontology is distributed under Creative Commons Attribution 4.0 License - http://creativecommons.org/licenses/by/4.0

duration in seconds
type: DatatypeProperty
comment: How long it took to run the workflow (in seconds)
domain: Workflow Run
range: double

described by parameter
type: ObjectProperty
comment: This object property is used to associate a wfprov:Artifact to the wfdesc:Parameter description.
range: Parameter
domain: Artifact

described by process
type: ObjectProperty
comment: This object property associate a wfprov:Processrun to its wfdesc:Process description .
range: Process
domain: Process Run

described by workflow
type: ObjectProperty
comment: This property associates a wfprov:WorkflowRun to its corresponding wfdesc:Workflow description.
range: Workflow
domain: Workflow Run
sub property of: described by process

interacted with
type: ObjectProperty
comment: An Agent the ProcessRun interacted with, for instance to consult, inform or to delegate making a decission. The communication artifacts of this interaction is not normally considered inputs and outputs of the process run, so for instance a wfprov:ProcessRun :receiveEmail which has wfprov:usedInput :anEmail would not be considered wfprov:interactedWith the user who sent the email, although it could be that the overall wfprov:WorkflowRun in this case was considered to be interacting with the user.
domain: Process Run
range: Agent
sub property of: wasAssociatedWith

used input
type: ObjectProperty
comment: This property specifies that a wfprov:ProcessRun used an wfprov:Artifact as an input
range: Artifact
domain: Process Run
sub property of: used

was enacted by
type: ObjectProperty
comment: wfprov:wasEnactedBy associates a wfprov:ProcessRun with a wfprov:WorkflowEngine, specifying that the execution of the process was enacted by the engine.
domain: Process Run
range: Workflow Engine
sub property of: wasAssociatedWith

was initiated by
type: ObjectProperty
comment: The agent who decided to run the workflow, for example "Fred initiated the workflow run". Note that an wfprov:WorkflowEngine starting nested workflows should normally instead be indicated with wfprov:wasEnactedBy, and a nested wfprov:WorkflowRun run as part of a wfprov:WorkflowRun is indicated with wfprov:wasPartOfWorkflowRun.
domain: Workflow Run
range: Agent

was output from
type: ObjectProperty
comment: This property specifies that a wfprov:Artifact was generated as an output from a wfprov:ProcessRun
domain: Artifact
range: Process Run
sub property of: wasGeneratedBy

was part of workflow run
type: ObjectProperty
comment: This property specifies that a wfprov:ProcessRun was executed as part of a wfprov:WorkflowRun. This typically corresponds to wfdesc:hasSubProcess in the workflow description.
domain: Process Run
range: Workflow Run

Artifact
type: Class
subclass of: Entity
comment: An artifact is a data value or item which wfprov:wasOutputFrom of a wfprov:ProcessRun or that the process run used as input (wfprov:usedInput). Such an artifact might also be a ro:Resource if it has been aggregated in the ro:ResearchObject (typically if the artifact was used or generated by a wfprov:WorkflowRun) - but this might always not be the case for intermediate values from wfprov:ProcessRun.

Process Run
type: Class
subclass of: Activity
subclass of: Restriction
  on property: endedAtTime
  some values from: dateTimeStamp
subclass of: Restriction
  on property: startedAtTime
  some values from: dateTimeStamp
comment: A process run is a particular execution of a wfdesc:Process description (wfprov:describedByProcess), which can wfprov:usedInput some wfprov:Artifact instances, and produce new artifacts (wfprov:wasOutputFrom). A wfprov:WorkflowRun is a specialisation of this class.

Workflow Engine
type: Class
subclass of: SoftwareAgent
subclass of: Agent
comment: A workflow engine is an foaf:Agent that is responsible for enacting a workflow definition (which could be described in a wfdesc:Workflow). The result of workflow enactment gives rise to a wfprov:WorkflowRun.

Workflow Run
type: Class
subclass of: Process Run
comment: A workflow run is a wfprov:ProcessRun which have been enacted by a wfprov:WorkflowEngine, according to a workflow definition (which could be wfdesc:describedByWorkflow a wfdesc:Workflow). Such a process typically contains several subprocesses (wfprov:wasPartOfWorkflowRun) corresponding to wfdesc:Process descriptions