- Author:
- David Nickerson <david.nickerson@gmail.com>
- Date:
- 2018-11-15 17:55:53+13:00
- Desc:
- Adding initial attempt at basic provenance classes and properties.
* Treating existing 'Resource' class as the core entity as per PROV-O
* Adding new 'Agent' and 'Activity' classes
* Make the existing 'Researcher' class a subclass of Agent
* Adding new 'Software' class as a subclass of the Agent class
* Defining the relevant properties to describe the provenance linkages
* Software can be described with a text description and/or a URI pointing to the software
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/526/rawfile/c664f73a3975f999b8369a2bbc02aa9ead9f1329/wfprov.owl
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY foaf "http://xmlns.com/foaf/0.1/" >
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY wfprov "http://purl.org/wf4ever/wfprov#" >
<!ENTITY wfdesc "http://purl.org/wf4ever/wfdesc#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<rdf:RDF xmlns="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.w3.org/2000/01/rdf-schema"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:wfdesc="http://purl.org/wf4ever/wfdesc#"
xmlns:wfprov="http://purl.org/wf4ever/wfprov#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology rdf:about="http://purl.org/wf4ever/wfprov">
<comment xml:lang="en">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.</comment>
<seeAlso rdf:resource="http://purl.org/wf4ever/ro"/>
<owl:imports rdf:resource="http://purl.org/wf4ever/wfdesc"/>
<owl:imports rdf:resource="http://xmlns.com/foaf/0.1/"/>
<owl:versionInfo rdf:datatype="&xsd;string">0.1.1</owl:versionInfo>
<owl:versionIRI rdf:resource="https://raw.github.com/wf4ever/ro/0.1.1/wfprov.owl"/>
</owl:Ontology>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Annotation properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Datatypes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://purl.org/wf4ever/wfprov#describedByParameter -->
<owl:ObjectProperty rdf:about="&wfprov;describedByParameter">
<comment xml:lang="en">This object property is used to associate a wfprov:Artifact to the wfdesc:Parameter description.</comment>
<range rdf:resource="&wfdesc;Parameter"/>
<domain rdf:resource="&wfprov;Artifact"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/wfprov#describedByProcess -->
<owl:ObjectProperty rdf:about="&wfprov;describedByProcess">
<comment xml:lang="en">This object property associate a wfprov:Processrun to its wfdesc:Process description .</comment>
<range rdf:resource="&wfdesc;Process"/>
<domain rdf:resource="&wfprov;ProcessRun"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/wfprov#describedByWorkflow -->
<owl:ObjectProperty rdf:about="&wfprov;describedByWorkflow">
<comment xml:lang="en">This property associates a wfprov:WorkflowRun to its corresponding wfdesc:Workflow description.</comment>
<range rdf:resource="&wfdesc;WorkflowTemplate"/>
<domain rdf:resource="&wfprov;WorkflowRun"/>
<subPropertyOf rdf:resource="&wfprov;describedByProcess"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/wfprov#usedInput -->
<owl:ObjectProperty rdf:about="&wfprov;usedInput">
<comment xml:lang="en">This property specifies that a wfprov:ProcessRun used an wfprov:Artifact as an input</comment>
<range rdf:resource="&wfprov;Artifact"/>
<domain rdf:resource="&wfprov;ProcessRun"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/wfprov#wasEnactedBy -->
<owl:ObjectProperty rdf:about="&wfprov;wasEnactedBy">
<comment xml:lang="en">wfprov:wasEnactedBy associates a wfprov:ProcessRun with a wfprov:WorkflowEngine, specifying that the execution of the process was enacted by the engine.</comment>
<domain rdf:resource="&wfprov;ProcessRun"/>
<range rdf:resource="&wfprov;WorkflowEngine"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/wfprov#wasOutputFrom -->
<owl:ObjectProperty rdf:about="&wfprov;wasOutputFrom">
<comment xml:lang="en">This property specifies that a wfprov:Artifact was generated as an output from a wfprov:ProcessRun</comment>
<domain rdf:resource="&wfprov;Artifact"/>
<range rdf:resource="&wfprov;ProcessRun"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/wfprov#wasPartOfWorkflowRun -->
<owl:ObjectProperty rdf:about="&wfprov;wasPartOfWorkflowRun">
<comment xml:lang="en">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.</comment>
<domain rdf:resource="&wfprov;ProcessRun"/>
<range rdf:resource="&wfprov;WorkflowRun"/>
</owl:ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://purl.org/wf4ever/wfprov#Artifact -->
<owl:Class rdf:about="&wfprov;Artifact">
<comment xml:lang="en">Artifact is a general concept that represents immutable piece of state, which may have a physical embodiment in a physical object, or a digital representation in a computer system. In the case of wfprov, an artifact is used as input to a process run, or produced by the output of a process run.</comment>
<seeAlso rdf:resource="http://purl.org/wf4ever/ro#ResearchObject"/>
<seeAlso rdf:resource="http://purl.org/wf4ever/ro#Resource"/>
<seeAlso rdf:resource="&wfprov;ProcessRun"/>
<seeAlso rdf:resource="&wfprov;usedInput"/>
<seeAlso rdf:resource="&wfprov;wasOutputFrom"/>
<seeAlso rdf:resource="&wfprov;workflowRun"/>
</owl:Class>
<!-- http://purl.org/wf4ever/wfprov#ProcessRun -->
<owl:Class rdf:about="&wfprov;ProcessRun">
<comment xml:lang="en">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.</comment>
<seeAlso rdf:resource="&wfdesc;Process"/>
<seeAlso rdf:resource="&wfprov;Artifact"/>
<seeAlso rdf:resource="&wfprov;WorkflowRun"/>
<seeAlso rdf:resource="&wfprov;describedByProcess"/>
<seeAlso rdf:resource="&wfprov;usedInput"/>
<seeAlso rdf:resource="&wfprov;wasOutputFrom"/>
</owl:Class>
<!-- http://purl.org/wf4ever/wfprov#WorkflowEngine -->
<owl:Class rdf:about="&wfprov;WorkflowEngine">
<subClassOf rdf:resource="&foaf;Agent"/>
<comment xml:lang="en">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.</comment>
<seeAlso rdf:resource="&wfdesc;Workflow"/>
<seeAlso rdf:resource="&wfprov;WorkflowRun"/>
</owl:Class>
<!-- http://purl.org/wf4ever/wfprov#WorkflowRun -->
<owl:Class rdf:about="&wfprov;WorkflowRun">
<subClassOf rdf:resource="&wfprov;ProcessRun"/>
<comment xml:lang="en">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</comment>
<seeAlso rdf:resource="&wfdesc;Process"/>
<seeAlso rdf:resource="&wfdesc;Workflow"/>
<seeAlso rdf:resource="&wfprov;WorkflowEngine"/>
</owl:Class>
</rdf:RDF>
<!-- Generated by the OWL API (version 3.2.3.1824) http://owlapi.sourceforge.net -->