]> DataONE PROV Extension for Scientific Workflow Provenance http://www.w3.org/ns/prov http://www.w3.org/ns/prov-o Version 1.0 This document describes an extension of the W3C PROV standard for scientific workflow provenance. It represents a potential standard published publicly for evaluation and possible adoption. However, it is not associated with and is not supported by any standards organization. controls Relates a Controller to its destination Program. workflow-specification connectsTo Specifies the Channel that the given Port connects to, typically with an output Port connected to an input Port. workflow-specification hasDefaultParam workflow-specification Specifies that a given Port (likely a semantically typed input port via hasInPort) has a certain Entity item (usually Data) as a default parameter. This enables Workflow instances to be configured. hasInPort Enables the specification of a Port as an input port of a particular Program. workflow-specification hasOutPort workflow-specification Enables the specification of a Port as an output port of a particular Program. hadInPort Enables the specification of a Port as an input port of a particular Usage. This allows for further qualification of the prov:used property in the context of an Execution. workflow-specification hadOutPort trace-specification Enables the specification of a Port as an output port of a particular Generation. This allows for further qualification of the prov:wasGeneratedBy property in the context of an Execution. hadEntity trace-specification Enables the specification of an Entity used by a particular Usage or generated by a particular Generation. This allows for further qualification of the prov:used and prov:wasGeneratedBy properties in the context of an Execution. qualifiedUsage trace-specification Enables the specification of a particular Usage by a particular Execution. This allows for further qualification of the prov:used property in the context of an Execution. qualifiedGeneration trace-specification Enables the specification of a particular Generation by a particular Execution. This allows for further qualification of the prov:wasGeneratedBy property in the context of an Execution. qualifiedAssociation trace-specification Enables the specification of a particular Association by a particular Execution. This allows for further qualification of the prov:wasAssociatedWith property in the context of an Execution. agent trace-specification Enables the specification of a particular User in a particular Association. This allows for further qualification of the prov:wasAssociatedWith property in the context of an Execution. hadPlan trace-specification Enables the specification of a particular Program as a Plan in a particular Association. This allows for further qualification of the prov:wasAssociatedWith property in the context of an Execution. hasSubProgram workflow-specification Specifies the recursive composition of Programs, where a parent Program includes a child Program as part of its specification. wasPartOf trace-specification Specifies the structure of Execution instances, where a parent Execution (associated with a Workflow) had child Executions (associated with Programs and subworkflows). controlledBy workflow-specification Relates a Program to the controller it is controlled by. Data A Data item represents the basic unit of information consumed and produced by a Program. Multiple Data items may be grouped into a Collection. data-specification Visualization A Visualization represents a visual product produced by a Program. data-specification Document A Document represents a scientific work that was created as a result of one or more Executions. This may be a published journal article, a government report, etc. data-specification Port A Port enables a Program to send and receive Entities (Data, Visualizations, etc.). When used in a role as an input port, default parameters may be configured for the Port. workflow-specification Program A Program represents a computational task that consumes and produces data through its input and output ports, respectively. It can be atomic or composite, the latter case represented by a possibly nested Program. It is also subject to versioning by prov:wasDerivedFrom. workflow-specification Channel A Channel provides a connection between Ports that are defined for Programs. Typically, a Program with an output Port defined using the provone:hasOutPort object property connects to a Program with an input Port defined using the provone:hasInPort object property. The two Ports are connected using a Channel with the provone:connectsTo object property. Execution An Execution represents the execution of a Program. If the Program in question is a Workflow, then the Execution represents a trace of its execution. trace-specification Controller A Controller specifies a control link between two Programs, and defines the model of computation for the Program. Some models will implement sequential flow control, others will implement parallel flow control, etc. Each model of computation can be implemented by subclassing the Controller class. workflow-specification User trace-specification A User is the person responsible for the execution of a Program, which in turn can be a Workflow. Its specification serves attribution and accountability purposes. Workflow workflow-specification A Workflow is a distinguished Program, which indicates that is meant to represent the computational experiment in its entirety. It is also subject to versioning by prov:wasDerivedFrom through its super-class provone:Program.