Location: SPARC MIS Data Model @ c664f73a3975 / wfprov.owl

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://models.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&#39;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 -->