--- a/ontology/Overview.html	Fri Nov 18 16:45:13 2011 +0000
+++ b/ontology/Overview.html	Fri Nov 18 16:46:35 2011 +0000
@@ -479,7 +479,7 @@
 pre.sh_sourceCode .sh_attribute { color: #006400; }
 
 </style><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css" charset="utf-8" /></head>
-  <body style="display: inherit;"><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" alt="W3C" src="http://www.w3.org/Icons/w3c_home" /></a></p><h1 id="title" class="title">PROV Ontology Model</h1><h2 id="w3c-working-draft-17-november-2011">W3C Working Draft 17 November 2011</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2011/WD-prov-o-20111117/">http://www.w3.org/TR/2011/WD-prov-o-20111117/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/prov-o/">http://www.w3.org/TR/prov-o/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://www.w3.org/TR/2011/WD-prov-o-20111013/">http://www.w3.org/TR/2011/WD-prov-o-20111013/</a></dd><dt>Editors:</dt><dd><a href="http://cci.case.edu/cci/index.php/Satya_Sahoo">Satya Sahoo</a>, Case Western Reserve University, USA</dd>
+  <body style="display: inherit;"><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" alt="W3C" src="http://www.w3.org/Icons/w3c_home" /></a></p><h1 id="title" class="title">PROV Ontology Model</h1><h2 id="w3c-working-draft-18-november-2011">W3C Working Draft 18 November 2011</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2011/WD-prov-o-20111118/">http://www.w3.org/TR/2011/WD-prov-o-20111118/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/prov-o/">http://www.w3.org/TR/prov-o/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://www.w3.org/TR/2011/WD-prov-o-20111013/">http://www.w3.org/TR/2011/WD-prov-o-20111013/</a></dd><dt>Editors:</dt><dd><a href="http://cci.case.edu/cci/index.php/Satya_Sahoo">Satya Sahoo</a>, Case Western Reserve University, USA</dd>
 <dd><a href="http://tw.rpi.edu/instances/Deborah_L_McGuinness">Deborah McGuinness</a>, Rensselaer Polytechnic Institute, USA</dd>
 <dt>Authors:</dt><dd><span>(In alphabetical order)</span></dd>
 <dd><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a>, University of Manchester, UK</dd>
@@ -493,7 +493,7 @@
 <p> The PROV Ontology (also PROV-O) encodes the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] in the OWL2 Web Ontology Language (OWL2). The PROV ontology consists of a set of classes, properties, and restrictions that can be used to represent provenance information. The PROV ontology is specialized to create domain-specific provenance ontologies that model the provenance information specific to different applications. The PROV ontology supports a set of entailments based on OWL2 formal semantics and provenance specific inference rules. The PROV ontology is available for download as a separate OWL2 document.</p>
 
    </div><div class="introductory section" id="sotd"><h2>Status of This Document</h2><p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p>
-<p>This document was published by the <a href="http://www.w3.org/2011/prov/wiki/Main_Page">Provenance Working Group</a> as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to <a href="mailto:public-prov-wg@w3.org">public-prov-wg@w3.org</a> (<a href="mailto:public-prov-wg-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-wg/">archives</a>). All feedback is welcome.</p><p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a rel="disclosure" href="">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p></div><div id="toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#guide-to-this-document" class="tocxref"><span class="secno">1.1 </span>Guide to this Document</a></li></ul></li><li class="tocline"><a href="#prov-ontology" class="tocxref"><span class="secno">2. </span>PROV Ontology</a><ul class="toc"><li class="tocline"><a href="#mapping-the-prov-dm-terms-to-prov-ontology" class="tocxref"><span class="secno">2.1 </span>Mapping the PROV-DM terms to PROV Ontology</a></li><li class="tocline"><a href="#owl2-syntax-used-in-this-document" class="tocxref"><span class="secno">2.2 </span>OWL2 Syntax Used in this Document</a></li><li class="tocline"><a href="#namespace-and-owl2-version" class="tocxref"><span class="secno">2.3 </span>Namespace and OWL2 version</a></li></ul></li><li class="tocline"><a href="#prov-ontology--owl-encoding-of-prov-data-model" class="tocxref"><span class="secno">3. </span>PROV Ontology: Classes and Properties</a><ul class="toc"><li class="tocline"><a href="#classes" class="tocxref"><span class="secno">3.1 </span>Classes</a><ul class="toc"><li class="tocline"><a href="#entity" class="tocxref"><span class="secno">3.1.1 </span>Entity</a></li><li class="tocline"><a href="#processexecution" class="tocxref"><span class="secno">3.1.2 </span>ProcessExecution</a></li><li class="tocline"><a href="#agent" class="tocxref"><span class="secno">3.1.3 </span>Agent</a></li><li class="tocline"><a href="#temporalentity" class="tocxref"><span class="secno">3.1.4 </span>TemporalEntity</a></li><li class="tocline"><a href="#provenancecontainer" class="tocxref"><span class="secno">3.1.5 </span>ProvenanceContainer</a><ul class="toc"><li class="tocline"><a href="#modeling-provenancecontainer-and-account-as-rdf-graph" class="tocxref"><span class="secno">3.1.5.1 </span>Modeling ProvenanceContainer and Account as RDF Graph</a></li></ul></li><li class="tocline"><a href="#location" class="tocxref"><span class="secno">3.1.6 </span>Location</a></li><li class="tocline"><a href="#qualifiedinvolvement" class="tocxref"><span class="secno">3.1.7 </span>QualifiedInvolvement</a><ul class="toc"><li class="tocline"><a href="#usage" class="tocxref"><span class="secno">3.1.7.1 </span>Usage</a></li><li class="tocline"><a href="#participation" class="tocxref"><span class="secno">3.1.7.2 </span>Participation</a></li><li class="tocline"><a href="#control" class="tocxref"><span class="secno">3.1.7.3 </span>Control</a></li><li class="tocline"><a href="#generation" class="tocxref"><span class="secno">3.1.7.4 </span>Generation</a></li></ul></li><li class="tocline"><a href="#recipe" class="tocxref"><span class="secno">3.1.8 </span>Recipe</a></li><li class="tocline"><a href="#role" class="tocxref"><span class="secno">3.1.9 </span>Role</a></li><li class="tocline"><a href="#classes-under-discussion" class="tocxref"><span class="secno">3.1.10 </span>Classes under Discussion</a><ul class="toc"><li class="tocline"><a href="#time" class="tocxref"><span class="secno">3.1.10.1 </span>Time</a></li></ul></li></ul></li><li class="tocline"><a href="#object-properties" class="tocxref"><span class="secno">3.2 </span>Object Properties</a><ul class="toc"><li class="tocline"><a href="#wasgeneratedby" class="tocxref"><span class="secno">3.2.1 </span>wasGeneratedBy</a></li><li class="tocline"><a href="#revision" class="tocxref"><span class="secno">3.2.2 </span>wasRevisionOf</a></li><li class="tocline"><a href="#wasderivedfrom" class="tocxref"><span class="secno">3.2.3 </span>wasDerivedFrom</a></li><li class="tocline"><a href="#waseventuallyderivedfrom" class="tocxref"><span class="secno">3.2.4 </span>wasEventuallyDerivedFrom</a></li><li class="tocline"><a href="#dependedon" class="tocxref"><span class="secno">3.2.5 </span>dependedOn</a></li><li class="tocline"><a href="#used" class="tocxref"><span class="secno">3.2.6 </span>used</a></li><li class="tocline"><a href="#hadparticipant" class="tocxref"><span class="secno">3.2.7 </span>hadParticipant</a></li><li class="tocline"><a href="#wascomplementof" class="tocxref"><span class="secno">3.2.8 </span>wasComplementOf</a></li><li class="tocline"><a href="#wascontrolledby" class="tocxref"><span class="secno">3.2.9 </span>wasControlledBy</a></li><li class="tocline"><a href="#hadrecipe" class="tocxref"><span class="secno">3.2.10 </span>hadRecipe</a></li><li class="tocline"><a href="#wasinformedby" class="tocxref"><span class="secno">3.2.11 </span>wasInformedBy</a></li><li class="tocline"><a href="#wascheduledafter" class="tocxref"><span class="secno">3.2.12 </span>wasScheduledAfter</a></li><li class="tocline"><a href="#hadtemporalvalue" class="tocxref"><span class="secno">3.2.13 </span>hadTemporalValue</a><ul class="toc"><li class="tocline"><a href="#startedat" class="tocxref"><span class="secno">3.2.13.1 </span>startedAt</a></li><li class="tocline"><a href="#endedat" class="tocxref"><span class="secno">3.2.13.2 </span>endedAt</a></li><li class="tocline"><a href="#wasGeneratedat" class="tocxref"><span class="secno">3.2.13.3 </span>wasGeneratedAt</a></li></ul></li><li class="tocline"><a href="#attribution" class="tocxref"><span class="secno">3.2.14 </span>wasAttributedTo</a></li><li class="tocline"><a href="#quotation" class="tocxref"><span class="secno">3.2.15 </span>wasQuoteOf</a></li><li class="tocline"><a href="#summary" class="tocxref"><span class="secno">3.2.16 </span>wasSummaryOf</a></li><li class="tocline"><a href="#originalsource" class="tocxref"><span class="secno">3.2.17 </span>hadOriginalSource</a></li><li class="tocline"><a href="#hadqualifiedusage" class="tocxref"><span class="secno">3.2.18 </span>hadQualifiedUsage</a></li><li class="tocline"><a href="#hadqualifiedparticipation" class="tocxref"><span class="secno">3.2.19 </span>hadQualifiedParticipation</a></li><li class="tocline"><a href="#hadqualifiedcontrol" class="tocxref"><span class="secno">3.2.20 </span>hadQualifiedControl</a></li><li class="tocline"><a href="#hadqualifiedgeneration" class="tocxref"><span class="secno">3.2.21 </span>hadQualifiedGeneration</a></li><li class="tocline"><a href="#hadqualifiedentity" class="tocxref"><span class="secno">3.2.22 </span>hadQualifiedEntity</a></li></ul></li><li class="tocline"><a href="#characteristics-of-object-properties" class="tocxref"><span class="secno">3.3 </span>Characteristics of Object Properties </a></li><li class="tocline"><a href="#annotation-properties" class="tocxref"><span class="secno">3.4 </span>Annotation Properties</a></li><li class="tocline"><a href="#overview-of-the-ontology" class="tocxref"><span class="secno">3.5 </span>Overview of the ontology</a></li></ul></li><li class="tocline"><a href="#specializing-provenance-ontology-for-domain-specific-provenance-applications" class="tocxref"><span class="secno">4. </span>Specializing Provenance Ontology for Domain-specific Provenance Applications</a><ul class="toc"><li class="tocline"><a href="#moeling-the-crime-file-scenario" class="tocxref"><span class="secno">4.1 </span>Modeling the Crime File Scenario</a><ul class="toc"><li class="tocline"><a href="#specialization-of-prov-ontology-classes" class="tocxref"><span class="secno">4.1.1 </span>Specialization of PROV Ontology Classes</a><ul class="toc"><li class="tocline"><a href="#cf-journalist" class="tocxref"><span class="secno">4.1.1.1 </span>cf:Journalist</a></li><li class="tocline"><a href="#cf-crimefile" class="tocxref"><span class="secno">4.1.1.2 </span>cf:CrimeFile</a></li><li class="tocline"><a href="#cf-filecreation" class="tocxref"><span class="secno">4.1.1.3 </span>cf:FileCreation, cf:FileEditing, cf:FileAppending, cf:Emailing, cf:SpellChecking</a></li></ul></li><li class="tocline"><a href="#specialization-of-prov-ontology-properties" class="tocxref"><span class="secno">4.1.2 </span>Specialization of PROV Ontology Properties</a><ul class="toc"><li class="tocline"><a href="#cf-hadfilepath" class="tocxref"><span class="secno">4.1.2.1 </span>cf:hadFilePath</a></li></ul></li></ul></li><li class="tocline"><a href="#modeling-an-example-scientific-workflow-scenario" class="tocxref"><span class="secno">4.2 </span>Modeling an Example Scientific Workflow Scenario</a><ul class="toc"><li class="tocline"><a href="#workflow-extensions-to-prov-classes" class="tocxref"><span class="secno">4.2.1 </span>Workflow extensions to PROV classes</a></li><li class="tocline"><a href="#workflow-extensions-to-prov-properties" class="tocxref"><span class="secno">4.2.2 </span>Workflow extensions to PROV properties</a></li><li class="tocline"><a href="#workflow-structure" class="tocxref"><span class="secno">4.2.3 </span>Workflow structure</a></li><li class="tocline"><a href="#example-workflow" class="tocxref"><span class="secno">4.2.4 </span>Example workflow</a></li><li class="tocline"><a href="#example-workflow-run" class="tocxref"><span class="secno">4.2.5 </span>Example workflow run</a></li></ul></li></ul></li><li class="tocline"><a href="#formal-semantics-of-the-prov-ontology" class="tocxref"><span class="secno">5. </span>Formal Semantics of the PROV Ontology</a><ul class="toc"><li class="tocline"><a href="#rdf-semantics-for-prov-ontology" class="tocxref"><span class="secno">5.1 </span>RDF Semantics for PROV Ontology</a></li><li class="tocline"><a href="#owl2-semantics-for-prov-ontology" class="tocxref"><span class="secno">5.2 </span>OWL2 Semantics for PROV Ontology</a></li><li class="tocline"><a href="#entailments-supported-by-the-provenance-model" class="tocxref"><span class="secno">5.3 </span>Provenance-specific Entailments Supported by PROV Ontology</a><ul class="toc"><li class="tocline"><a href="#provenance-constraint-on-processexecution" class="tocxref"><span class="secno">5.3.1 </span>Provenance constraint on ProcessExecution</a></li><li class="tocline"><a href="#provenance-constraint-on-wasgeneratedby-generation-affects-attributes" class="tocxref"><span class="secno">5.3.2 </span>Provenance constraint on wasGeneratedBy (generation-affects-attributes)</a></li><li class="tocline"><a href="#provenance-constraint-on-wasgeneratedby-generation-pe-ordering" class="tocxref"><span class="secno">5.3.3 </span>Provenance constraint on wasGeneratedBy (generation-pe-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-wasgeneratedby-generation-unicity" class="tocxref"><span class="secno">5.3.4 </span>Provenance constraint on wasGeneratedBy (generation-unicity)</a></li><li class="tocline"><a href="#provenance-constraint-on-used-use-attributes" class="tocxref"><span class="secno">5.3.5 </span>Provenance constraint on Used (use-attributes)</a></li><li class="tocline"><a href="#provenance-constraint-on-used-pe-ordering" class="tocxref"><span class="secno">5.3.6 </span>Provenance constraint on Used (use-pe-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-attributes" class="tocxref"><span class="secno">5.3.7 </span>Provenance constraint on wasDerivedFrom (derivation-attributes)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-use-generation-ordering" class="tocxref"><span class="secno">5.3.8 </span>Provenance constraint on wasDerivedFrom (derivation-use-generation-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-events" class="tocxref"><span class="secno">5.3.9 </span>Provenance constraint on wasDerivedFrom (derivation-events)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-process-execution" class="tocxref"><span class="secno">5.3.10 </span>Provenance constraint on wasDerivedFrom (derivation-events)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-use" class="tocxref"><span class="secno">5.3.11 </span>Provenance constraint on wasDerivedFrom (derivation-use)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-generation-generation-ordering" class="tocxref"><span class="secno">5.3.12 </span>Provenance constraint on wasEventuallyDerivedFrom (derivation-generation-generation-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-linked-independent" class="tocxref"><span class="secno">5.3.13 </span>Provenance constraint on wasEventuallyDerivedFrom (derivation-linked-independent)</a></li><li class="tocline"><a href="#provenance-constraint-on-complementof-necessary-cond" class="tocxref"><span class="secno">5.3.14 </span>Provenance constraint on wasComplementOf (wasComplementOf-necessary-cond)</a></li><li class="tocline"><a href="#provenance-constraint-on-hasParticipant-participant" class="tocxref"><span class="secno">5.3.15 </span>Provenance constraint on hadParticipant (participant)</a></li></ul></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div>
+<p>This document was published by the <a href="http://www.w3.org/2011/prov/wiki/Main_Page">Provenance Working Group</a> as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to <a href="mailto:public-prov-wg@w3.org">public-prov-wg@w3.org</a> (<a href="mailto:public-prov-wg-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-wg/">archives</a>). All feedback is welcome.</p><p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a rel="disclosure" href="">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p></div><div id="toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#guide-to-this-document" class="tocxref"><span class="secno">1.1 </span>Guide to this Document</a></li></ul></li><li class="tocline"><a href="#prov-ontology" class="tocxref"><span class="secno">2. </span>PROV Ontology</a><ul class="toc"><li class="tocline"><a href="#mapping-the-prov-dm-terms-to-prov-ontology" class="tocxref"><span class="secno">2.1 </span>Mapping the PROV-DM terms to PROV Ontology</a></li><li class="tocline"><a href="#owl2-syntax-used-in-this-document" class="tocxref"><span class="secno">2.2 </span>OWL2 Syntax Used in this Document</a></li><li class="tocline"><a href="#namespace-and-owl2-version" class="tocxref"><span class="secno">2.3 </span>Namespace and OWL2 version</a></li></ul></li><li class="tocline"><a href="#prov-ontology--owl-encoding-of-prov-data-model" class="tocxref"><span class="secno">3. </span>PROV Ontology: Classes and Properties</a><ul class="toc"><li class="tocline"><a href="#classes" class="tocxref"><span class="secno">3.1 </span>Classes</a><ul class="toc"><li class="tocline"><a href="#entity" class="tocxref"><span class="secno">3.1.1 </span>Entity</a></li><li class="tocline"><a href="#processexecution" class="tocxref"><span class="secno">3.1.2 </span>ProcessExecution</a></li><li class="tocline"><a href="#agent" class="tocxref"><span class="secno">3.1.3 </span>Agent</a></li><li class="tocline"><a href="#temporalentity" class="tocxref"><span class="secno">3.1.4 </span>TemporalEntity</a></li><li class="tocline"><a href="#provenancecontainer" class="tocxref"><span class="secno">3.1.5 </span>ProvenanceContainer</a><ul class="toc"><li class="tocline"><a href="#modeling-provenancecontainer-and-account-as-rdf-graph" class="tocxref"><span class="secno">3.1.5.1 </span>Modeling ProvenanceContainer and Account as RDF Graph</a></li></ul></li><li class="tocline"><a href="#location" class="tocxref"><span class="secno">3.1.6 </span>Location</a></li><li class="tocline"><a href="#qualifiedinvolvement" class="tocxref"><span class="secno">3.1.7 </span>QualifiedInvolvement</a><ul class="toc"><li class="tocline"><a href="#usage" class="tocxref"><span class="secno">3.1.7.1 </span>Usage</a></li><li class="tocline"><a href="#participation" class="tocxref"><span class="secno">3.1.7.2 </span>Participation</a></li><li class="tocline"><a href="#control" class="tocxref"><span class="secno">3.1.7.3 </span>Control</a></li><li class="tocline"><a href="#generation" class="tocxref"><span class="secno">3.1.7.4 </span>Generation</a></li></ul></li><li class="tocline"><a href="#recipe" class="tocxref"><span class="secno">3.1.8 </span>Recipe</a></li><li class="tocline"><a href="#role" class="tocxref"><span class="secno">3.1.9 </span>Role</a></li><li class="tocline"><a href="#classes-under-discussion" class="tocxref"><span class="secno">3.1.10 </span>Classes under Discussion</a><ul class="toc"><li class="tocline"><a href="#time" class="tocxref"><span class="secno">3.1.10.1 </span>Time</a></li></ul></li></ul></li><li class="tocline"><a href="#object-properties" class="tocxref"><span class="secno">3.2 </span>Object Properties</a><ul class="toc"><li class="tocline"><a href="#wasgeneratedby" class="tocxref"><span class="secno">3.2.1 </span>wasGeneratedBy</a></li><li class="tocline"><a href="#revision" class="tocxref"><span class="secno">3.2.2 </span>wasRevisionOf</a></li><li class="tocline"><a href="#wasderivedfrom" class="tocxref"><span class="secno">3.2.3 </span>wasDerivedFrom</a></li><li class="tocline"><a href="#waseventuallyderivedfrom" class="tocxref"><span class="secno">3.2.4 </span>wasEventuallyDerivedFrom</a></li><li class="tocline"><a href="#dependedon" class="tocxref"><span class="secno">3.2.5 </span>dependedOn</a></li><li class="tocline"><a href="#used" class="tocxref"><span class="secno">3.2.6 </span>used</a></li><li class="tocline"><a href="#hadparticipant" class="tocxref"><span class="secno">3.2.7 </span>hadParticipant</a></li><li class="tocline"><a href="#wascomplementof" class="tocxref"><span class="secno">3.2.8 </span>wasComplementOf</a></li><li class="tocline"><a href="#wascontrolledby" class="tocxref"><span class="secno">3.2.9 </span>wasControlledBy</a></li><li class="tocline"><a href="#hadrecipe" class="tocxref"><span class="secno">3.2.10 </span>hadRecipe</a></li><li class="tocline"><a href="#wasinformedby" class="tocxref"><span class="secno">3.2.11 </span>wasInformedBy</a></li><li class="tocline"><a href="#wascheduledafter" class="tocxref"><span class="secno">3.2.12 </span>wasScheduledAfter</a></li><li class="tocline"><a href="#hadtemporalvalue" class="tocxref"><span class="secno">3.2.13 </span>hadTemporalValue</a><ul class="toc"><li class="tocline"><a href="#startedat" class="tocxref"><span class="secno">3.2.13.1 </span>startedAt</a></li><li class="tocline"><a href="#endedat" class="tocxref"><span class="secno">3.2.13.2 </span>endedAt</a></li><li class="tocline"><a href="#wasGeneratedat" class="tocxref"><span class="secno">3.2.13.3 </span>wasGeneratedAt</a></li></ul></li><li class="tocline"><a href="#attribution" class="tocxref"><span class="secno">3.2.14 </span>wasAttributedTo</a></li><li class="tocline"><a href="#quotation" class="tocxref"><span class="secno">3.2.15 </span>wasQuoteOf</a></li><li class="tocline"><a href="#summary" class="tocxref"><span class="secno">3.2.16 </span>wasSummaryOf</a></li><li class="tocline"><a href="#originalsource" class="tocxref"><span class="secno">3.2.17 </span>hadOriginalSource</a></li><li class="tocline"><a href="#hadqualifiedusage" class="tocxref"><span class="secno">3.2.18 </span>hadQualifiedUsage</a></li><li class="tocline"><a href="#hadqualifiedparticipation" class="tocxref"><span class="secno">3.2.19 </span>hadQualifiedParticipation</a></li><li class="tocline"><a href="#hadqualifiedcontrol" class="tocxref"><span class="secno">3.2.20 </span>hadQualifiedControl</a></li><li class="tocline"><a href="#hadqualifiedgeneration" class="tocxref"><span class="secno">3.2.21 </span>hadQualifiedGeneration</a></li><li class="tocline"><a href="#hadqualifiedentity" class="tocxref"><span class="secno">3.2.22 </span>hadQualifiedEntity</a></li></ul></li><li class="tocline"><a href="#characteristics-of-object-properties" class="tocxref"><span class="secno">3.3 </span>Characteristics of Object Properties </a></li><li class="tocline"><a href="#annotation-properties" class="tocxref"><span class="secno">3.4 </span>Annotation Properties</a></li><li class="tocline"><a href="#overview-of-the-ontology" class="tocxref"><span class="secno">3.5 </span>Overview of the ontology</a></li></ul></li><li class="tocline"><a href="#specializing-provenance-ontology-for-domain-specific-provenance-applications" class="tocxref"><span class="secno">4. </span>Specializing Provenance Ontology for Domain-specific Provenance Applications</a><ul class="toc"><li class="tocline"><a href="#moeling-the-crime-file-scenario" class="tocxref"><span class="secno">4.1 </span>Modeling the Crime File Scenario</a><ul class="toc"><li class="tocline"><a href="#specialization-of-prov-ontology-classes" class="tocxref"><span class="secno">4.1.1 </span>Specialization of PROV Ontology Classes</a><ul class="toc"><li class="tocline"><a href="#cf-journalist" class="tocxref"><span class="secno">4.1.1.1 </span>cf:Journalist</a></li><li class="tocline"><a href="#cf-crimefile" class="tocxref"><span class="secno">4.1.1.2 </span>cf:CrimeFile</a></li><li class="tocline"><a href="#cf-filecreation" class="tocxref"><span class="secno">4.1.1.3 </span>cf:FileCreation, cf:FileEditing, cf:FileAppending, cf:Emailing, cf:SpellChecking</a></li></ul></li><li class="tocline"><a href="#specialization-of-prov-ontology-properties" class="tocxref"><span class="secno">4.1.2 </span>Specialization of PROV Ontology Properties</a><ul class="toc"><li class="tocline"><a href="#cf-hadfilepath" class="tocxref"><span class="secno">4.1.2.1 </span>cf:hadFilePath</a></li></ul></li></ul></li><li class="tocline"><a href="#modeling-an-example-scientific-workflow-scenario" class="tocxref"><span class="secno">4.2 </span>Modeling an Example Scientific Workflow Scenario</a><ul class="toc"><li class="tocline"><a href="#workflow-extensions-to-prov-classes" class="tocxref"><span class="secno">4.2.1 </span>Workflow extensions to PROV classes</a></li><li class="tocline"><a href="#workflow-extensions-to-prov-properties" class="tocxref"><span class="secno">4.2.2 </span>Workflow extensions to PROV properties</a></li><li class="tocline"><a href="#example-workflow" class="tocxref"><span class="secno">4.2.3 </span>Example workflow</a></li><li class="tocline"><a href="#example-workflow-run" class="tocxref"><span class="secno">4.2.4 </span>Example workflow run</a></li></ul></li></ul></li><li class="tocline"><a href="#formal-semantics-of-the-prov-ontology" class="tocxref"><span class="secno">5. </span>Formal Semantics of the PROV Ontology</a><ul class="toc"><li class="tocline"><a href="#rdf-semantics-for-prov-ontology" class="tocxref"><span class="secno">5.1 </span>RDF Semantics for PROV Ontology</a></li><li class="tocline"><a href="#owl2-semantics-for-prov-ontology" class="tocxref"><span class="secno">5.2 </span>OWL2 Semantics for PROV Ontology</a></li><li class="tocline"><a href="#entailments-supported-by-the-provenance-model" class="tocxref"><span class="secno">5.3 </span>Provenance-specific Entailments Supported by PROV Ontology</a><ul class="toc"><li class="tocline"><a href="#provenance-constraint-on-processexecution" class="tocxref"><span class="secno">5.3.1 </span>Provenance constraint on ProcessExecution</a></li><li class="tocline"><a href="#provenance-constraint-on-wasgeneratedby-generation-affects-attributes" class="tocxref"><span class="secno">5.3.2 </span>Provenance constraint on wasGeneratedBy (generation-affects-attributes)</a></li><li class="tocline"><a href="#provenance-constraint-on-wasgeneratedby-generation-pe-ordering" class="tocxref"><span class="secno">5.3.3 </span>Provenance constraint on wasGeneratedBy (generation-pe-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-wasgeneratedby-generation-unicity" class="tocxref"><span class="secno">5.3.4 </span>Provenance constraint on wasGeneratedBy (generation-unicity)</a></li><li class="tocline"><a href="#provenance-constraint-on-used-use-attributes" class="tocxref"><span class="secno">5.3.5 </span>Provenance constraint on Used (use-attributes)</a></li><li class="tocline"><a href="#provenance-constraint-on-used-pe-ordering" class="tocxref"><span class="secno">5.3.6 </span>Provenance constraint on Used (use-pe-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-attributes" class="tocxref"><span class="secno">5.3.7 </span>Provenance constraint on wasDerivedFrom (derivation-attributes)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-use-generation-ordering" class="tocxref"><span class="secno">5.3.8 </span>Provenance constraint on wasDerivedFrom (derivation-use-generation-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-events" class="tocxref"><span class="secno">5.3.9 </span>Provenance constraint on wasDerivedFrom (derivation-events)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-process-execution" class="tocxref"><span class="secno">5.3.10 </span>Provenance constraint on wasDerivedFrom (derivation-events)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-use" class="tocxref"><span class="secno">5.3.11 </span>Provenance constraint on wasDerivedFrom (derivation-use)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-generation-generation-ordering" class="tocxref"><span class="secno">5.3.12 </span>Provenance constraint on wasEventuallyDerivedFrom (derivation-generation-generation-ordering)</a></li><li class="tocline"><a href="#provenance-constraint-on-derivation-linked-independent" class="tocxref"><span class="secno">5.3.13 </span>Provenance constraint on wasEventuallyDerivedFrom (derivation-linked-independent)</a></li><li class="tocline"><a href="#provenance-constraint-on-complementof-necessary-cond" class="tocxref"><span class="secno">5.3.14 </span>Provenance constraint on wasComplementOf (wasComplementOf-necessary-cond)</a></li><li class="tocline"><a href="#provenance-constraint-on-hasParticipant-participant" class="tocxref"><span class="secno">5.3.15 </span>Provenance constraint on hadParticipant (participant)</a></li></ul></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div>
    
 
  
@@ -1526,7 +1526,6 @@
         connecting together disparate set of domain-specific tools and
         services.  
         </p>
-
         <p>
           Capturing the provenance of executions in such a workflow
           system will typically include details of each of the process
@@ -1541,10 +1540,16 @@
         domain specific attributes based on the PROV ontology.
         </p>  
         <p>
-        <img alt="New classes wf:WorkFlowEngine, wf:Process, wf:ValueAtPort, wf:FileValue, and wf:Value extend prov:Agent, prov:ProcessExecution, prov:EntityInRole. New properties wf:wasLaunchedBy, wf:ranInWorkflowEngine, wf:wasSubProcessExecutionOf, wf:wasReadFrom, wf:sawValue extend prov:wasControlledBy, prov:wasDerivedFrom." style="width: 60%; min-width: 20em; max-width: 40em" src="examples/ontology-extensions/workflow/workflowOntology.png" />
+        <img alt="New classes wf:WorkFlowEngine, wf:Process,
+          wf:ValueAtPort, wf:FileValue, and wf:Value extend prov:Agent,
+          prov:ProcessExecution.  New properties wf:wasLaunchedBy, wf:ranInWorkflowEngine, wf:wasSubProcessExecutionOf, wf:wasReadFrom, wf:sawValue extend prov:wasControlledBy, prov:wasDerivedFrom." style="width: 60%; min-width: 20em; max-width: 40em" src="examples/ontology-extensions/workflow/workflowOntology.png" />
           <br />
           <em>Example extension of PROV ontology in order to describe
-          workflow provenance</em>
+          workflow provenance. This OWL ontology can be downloaded as 
+            <a href="examples/ontology-extensions/workflow/workflowOntology.rdf">RDF/XML</a>
+            and
+            <a href="examples/ontology-extensions/workflow/workflowOntology.ttl">Turtle</a>
+            </em>
         </p>
         <div id="workflow-extensions-to-prov-classes" class="section">
             <h4><span class="secno">4.2.1 </span>Workflow extensions to PROV classes</h4>
@@ -1576,21 +1581,14 @@
                     value appearing in the workflow execution, it will
                     typically be <i>used</i> or <i>generated</i> by
                     <i>wf:Process</i> executions. The actual value can
-                    be provided with a <i>wf:value</i> property.
-                </dd>
-                <dt>wf:ValueAtPort</dt>
-                <dd>
-                    A subclass of <i>wf:Value</i> and <i>prov:EntityInRole</i>,
-                    indicating a value while in the role of being used
-                    or generated by a <i>wf:Process</i> at a particular
-                    <i>wf:Port</i>.
+                    be provided as a literal with a <i>wf:value</i> property.
                 </dd>
                 <dt>wf:FileValue</dt>
                 <dd>
                     A <i>wf:Value</i> which has been read from a file.
                     As an <i>prov:Entity</i> this represents 
                     an entity with both attributes <i>wf:value</i> and
-                    <i>wf:filename</i> fixed, that is the entity describes
+                    <i>wf:file</i> fixed, that is the entity describes
                     the point when the given file contained the 
                     content. As the file might be read a while before
                     the <i>wf:Value</i> is used by a <i>wf:Process</i>, 
@@ -1599,6 +1597,15 @@
                     this file value using the <i>wf:wasReadFrom</i>
                     property.
                 </dd>
+                <dt>wf:ValueAtPort</dt>
+                <dd>
+                    A subclass of <i>prov:QualifiedInvolvement</i>, representing a
+                    value (given by <i>wf:sawValue</i>) observed at a
+                    given port in the workflow (given by
+                    <i>wf:seenAtPort</i>. This description is the range
+                    of <i>wf:generatedValue</i> and <i>wf:usedValue</i>
+                    on a <i>wf:Process</i>.
+                </dd>
             </dl>
         </div>
         <div id="workflow-extensions-to-prov-properties" class="section">
@@ -1668,35 +1675,59 @@
                  </dd>
                  <dt>wf:sawValue</dt>
                  <dd>
-                    A subproperty of <i>prov:wasAssumedBy</i> which
+                    A subproperty of <i>prov:hadQualifiedEntity</i> which
                     indicates that an <i>wf:Value</i> was
                     <i>wf:seenAtPort</i> within an
-                    <i>wf:ValueAtPort</i>. This ValueAtPort is a complement of the
-                    pointed at Value because one can consider this
-                    entity to to have the same attributes, but in
-                    addition the <i>wf:seenAtPort</i> property is fixed.
+                    <i>wf:ValueAtPort</i>. 
                  </dd>
 
-                 <dt>wf:wasSeenAtPort</dt>
+                 <dt>wf:seenAtPort</dt>
                  <dd>
-                    A subproperty of <i>prov:assumedRole</i> (not yet defined in
-                    PROV ontology) indicating which <i>wf:Port</i> a
-                    <i>wf:ValueAtPort</i> was seen at. Thus one can see
+                    A subproperty of <i>prov:hadRole</i> 
+                    indicating which <i>wf:Port</i> (in the workflow
+                    definition) a <i>wf:ValueAtPort</i> was seen at. Thus one can see
                     at which output port a value was generated, or at
                     which input port(s) it was used. 
-                    
-                    As a functional property this requires a different
-                    <i>wf:ValueAtPort</i> for each <i>use</i> and
-                    <i>generation</i> of a value. The
-                    <i>wf:ValueAtPort</i> is linked to the 
-                    <i>wf:Entity</i> using <i>prov:wasComplementOf</i>
-                  <div class="issue">Need
-                  prov:assumedRole in ontology -Stian</div>
                 </dd>
+                 <dt>wf:generatedValue</dt>
+                 <dd>
+                    A subproperty of <i>prov:hadQualifiedGeneration</i>,
+                    specifying which port we <i>wf:sawValue</i> and
+                    where it <i>wf:wasSeenAtPort</i> as it was
+                    generated. The domain of this
+                    property is <i>wf:Process</i>, the range
+                    <i>wf:ValueAtPort</i> (and implied
+                    <i>prov:Generation</i>)
+                </dd>
+                 <dt>wf:usedValue</dt>
+                 <dd>
+                    A subproperty of <i>prov:hadQualifiedUsage</i>,
+                    specifying which port we <i>wf:sawValue</i> and
+                    where it <i>wf:wasSeenAtPort</i> as it was
+                    used. The domain of this
+                    property is <i>wf:Process</i>, the range
+                    <i>wf:ValueAtPort</i> (and implied
+                    <i>prov:Usage</i>)
+                </dd>
+                <dt>wf:sameValueAs</dt>
+                 <dd>
+                    A subproperty of <i>prov:wasComplementOf</i> and
+                    <i>prov:wasDerivedFrom</i>,
+                    specifying that an <i>wf:Value</i> was the same as
+                    another <i>wf:Value</i>. This is used to indicate
+                    that a value at an workflow output port is the same
+                    as the value at a processor output port, although
+                    they have different history of generation, they both
+                    represent the same <i>wf:value</i> and are the same
+                    "thing".
+                </dd>
+
             </dl>
         </div>
-        <div id="workflow-structure" class="section">
-            <h4><span class="secno">4.2.3 </span>Workflow structure</h4>
+        
+<!-- 
+        <section id="workflow-structure">
+            <h4>Workflow structure</h4>
             <p>
              This ontology includes a simple definition language for
              describing the overall workflow structure. This is not
@@ -1761,9 +1792,11 @@
               </p>
               </dd>
             </dl>
-        </div>
+        </section>
+         -->
+
         <div id="example-workflow" class="section">
-            <h4><span class="secno">4.2.4 </span>Example workflow</h4>
+            <h4><span class="secno">4.2.3 </span>Example workflow</h4>
             <img alt="An example workflow with input, three processes, and two outputs." src="examples/ontology-extensions/workflow/Concatsha1.png" />
             <p>This is an example workflow which defines a workflow
             input <i>input</i>, three processes <i>String_constant</i>,
@@ -1776,260 +1809,157 @@
             to the other workflow port.
             </p>
             <p>
-            Using the definition ontology above this workflow can be
-            expressed in RDF/XML as:
+            An example of abstract definition of this workflow can be
+            seen as 
+            <a href="examples/ontology-extensions/workflow/workflowDefinition.rdf">RDF/XML</a>
+            and
+            <a href="examples/ontology-extensions/workflow/workflowDefinition.ttl">Turtle</a>
             </p>
-		<div class="exampleOuter">
-				<pre class="example"><rdf:RDF xml:base="http://www.example.com/workflow1#"
-    xmlns:impl="http://company.example.org/engine-implementation#"
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:wf="http://www.example.com/scientific-workflow#">
-
-    <wf:ProcessDefinition rdf:about="#workflow">
-        <rdf:type rdf:resource="http://company.example.org/engine-implementation#Workflow"/>
-        <wf:definesInput>
-            <wf:Input rdf:about="#inName">
-                <wf:linksTo rdf:resource="#catIn2" />
-            </wf:Input>
-        </wf:definesInput>
-        <wf:definesOutput rdf:resource="#combined" />
-        <wf:definesOutput rdf:resource="#sha1" />
-        <wf:definesSubProcess>
-            <impl:Constant rdf:about="#String_constant">
-                <impl:constant>Hello, </impl:constant>
-                <wf:definesOutput>
-                    <wf:Output rdf:about="#constantValue">
-                        <wf:linksTo rdf:resource="#catIn1"/>
-                    </wf:Output>
-                </wf:definesOutput>
-            </impl:Constant>
-        </wf:definesSubProcess>
-        <wf:definesSubProcess>
-            <impl:Command rdf:about="#cat">
-                <impl:command>cat</impl:command>
-                <wf:definesInput rdf:resource="#catIn1" />
-                <wf:definesInput rdf:resource="#catIn2" />
-                <wf:definesOutput>
-                    <wf:Output rdf:about="#catOut">
-                        <wf:linksTo rdf:resource="#shaIn"/>
-                    </wf:Output>
-                </wf:definesOutput>
-            </impl:Command>
-        </wf:definesSubProcess>
-        <wf:definesSubProcess>
-            <impl:Command rdf:about="#shasum">
-                <impl:command>shasum</impl:command>
-                <wf:definesInput rdf:resource="#shaIn" />
-                <wf:definesOutput>
-                    <wf:Output rdf:about="#shaOut">
-                        <wf:linksTo rdf:resource="#sha1"/>
-                    </wf:Output>
-                </wf:definesOutput>
-            </impl:Command>
-        </wf:definesSubProcess>
-    </wf:ProcessDefinition>
-</rdf:RDF>            </pre></div>
         </div>
         <div id="example-workflow-run" class="section">
-            <h4><span class="secno">4.2.5 </span>Example workflow run</h4>
+            <h4><span class="secno">4.2.4 </span>Example workflow run</h4>
             <p>
               This example shows how using the workflow extensions
               together with PROV can provide the provenance of executing
               the workflow defined above.
             </p>
-            <div class="exampleOuter"><pre class="example"><rdf:RDF 
-    xmlns:cnt="http://www.w3.org/2011/content#"
+            <div class="exampleOuter"><pre class="example"><rdf:RDF xmlns="http://www.example.com/scientific-workflow#"
     xmlns:foaf="http://xmlns.com/foaf/0.1/"
     xmlns:prov="http://www.w3.org/ns/prov-o/"
-    xmlns:time="http://www.w3.org/2006/time#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:wf="http://www.example.com/scientific-workflow#"
-    xmlns:run="http://www.example.com/run1#"
-    xmlns:base="http://www.example.com/run1#"
-    >
-
-    <prov:Agent rdf:about="#aUser">
-        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-        <foaf:name>Stian Soiland-Reyes</foaf:name>
-    </prov:Agent>
-
-    <wf:WorkflowEngine rdf:about="#workflowEngine" />
-
-    <wf:FileValue rdf:about="#inputFile">
-        <wf:file>/tmp/myinput.txt</wf:file>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>Steve</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:FileValue>
-
-    <wf:Value rdf:about="#input">
-        <wf:wasReadFrom rdf:resource="#inputFile"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>Steve</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
-
-    <wf:Process rdf:about="#workflowRun">
-        <prov:used>
-            <wf:ValueAtPort>
-                <wf:sawValue rdf:resource="#input"/>
-                <wf:seenAtPort rdf:resource="http://www.example.com/workflow1#inName"/>
-                <prov:assumedRoleAt>
-                    <prov:Time>
-                        <time:inDateTimeXSD>2011-10-21T09:21:31Z</time:inDateTimeXSD>
-                    </prov:Time>
-                </prov:assumedRoleAt>
-            </wf:ValueAtPort>
-        </prov:used>
-        <wf:ranInWorkflowEngine rdf:resource="#workflowEngine"/>
-        <wf:wasLaunchedBy rdf:resource="#aUser"/>
-        <wf:wasDefinedBy rdf:resource="http://www.example.com/workflow1#workflow"/>
-        <prov:startedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:startedAt>
-        <prov:endedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:23:32Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:endedAt>
-    </wf:Process>
-
-    <wf:Process rdf:about="#constant">
-        <wf:wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
-        <wf:wasDefinedBy
-        rdf:resource="http://www.example.com/workflow1#String_Constant"/>
-        <prov:startedAt>
-            <prov:Time rdf:about="#t0">
-                <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:startedAt>
-        <prov:endedAt rdf:resource="#t0" />
-    </wf:Process>
-
-    <wf:Value rdf:about="#hello">
-        <prov:wasGeneratedBy rdf:resource="#constant"/>
-        <prov:wasGeneratedAt rdf:resource="#t0"/>
-        <prov:endedAt rdf:resource="#t0" />
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:chars>Hello, </cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
-
-    <wf:ValueAtPort rdf:about="#helloValue">
-        <prov:wasGeneratedBy rdf:resource="#constant"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:chars>Hello, </cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-        <wf:sawEntity rdf:resource="#hello"/>
-    </wf:ValueAtPort>
+    xmlns:time="http://www.w3.org/2006/time#"
+    xmlns:wf="http://www.example.com/scientific-workflow#">
 
-    <wf:Process rdf:about="#combine">
-        <prov:used>
-          <wf:ValueAtPort>
-            <wf:sawValue rdf:resource="#hello"/>
-            <wf:seenAtPort rdf:resource="http://www.example.com/workflow1#catIn1"/>
-            <prov:assumedRoleAt>
-                <prov:Time>
-                    <time:inDateTimeXSD>2011-10-21T09:20:21Z</time:inDateTimeXSD>
-                </prov:Time>
-            </prov:assumedRoleAt>
-          </wf:ValueAtPort>
-        </prov:used>
-        <prov:used>
-          <wf:ValueAtPort>
-            <wf:sawValue rdf:resource="#input"/>
-            <wf:seenAtPort rdf:resource="http://www.example.com/workflow1#catIn2"/>
-            <prov:assumedRoleAt>
-                <prov:Time>
-                    <time:inDateTimeXSD>2011-10-21T09:20:23Z</time:inDateTimeXSD>
-                </prov:Time>
-            </prov:assumedRoleAt>
-          </wf:ValueAtPort>
-        </prov:used>
-        <wf:wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
-        <wf:wasDefinedBy rdf:resource="http://www.example.com/workflow1#cat"/>
-        <prov:startedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:20Z</time:inDateTimeXSD>
-            </prov:Time>
+    <Process rdf:about="#workflowRun">
+        <ranInWorkflowEngine>
+            <WorkflowEngine rdf:about="#workflowEngine" />
+        </ranInWorkflowEngine>
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#workflow"/>
+        <wasLaunchedBy>
+            <prov:Agent rdf:about="#aUser">
+                <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+                <foaf:name>Stian Soiland-Reyes</foaf:name>
+            </prov:Agent>
+        </wasLaunchedBy>
+        <prov:startedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
         </prov:startedAt>
-        <prov:endedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:25Z</time:inDateTimeXSD>
-            </prov:Time>
+        <prov:endedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:23:32Z</time:inDateTimeXSD>
         </prov:endedAt>
-    </wf:Process>
-
-    <wf:Value rdf:about="#combined">
-        <prov:wasGeneratedBy rdf:resource="#combine"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:chars>Hello, Steve</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
+        <wf:usedValue>
+            <prov:Usage>
+                <sawValue>
+                    <Value rdf:about="#input">
+                        <value>Steve</value>
+                        <wasReadFrom>
+                            <FileValue rdf:about="#inputFile">
+                                <file>/tmp/myinput.txt</file>
+                                <value>Steve</value>
+                            </FileValue>
+                        </wasReadFrom>
+                    </Value>
+                </sawValue>    
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#inName"/>
+                <prov:hadTemporalValue rdf:parseType="Resource">
+                    <time:inDateTimeXSD>2011-10-21T09:21:31Z</time:inDateTimeXSD>
+                </prov:hadTemporalValue>
+            </prov:Usage>
+        </wf:usedValue>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue>
+                    <Value rdf:about="#sha1FromWorkflow">
+                        <value>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</value>
+                        <wf:sameValueAs rdf:resource="#sha1"/>
+                    </Value>
+                </sawValue>    
+                <wasSeenAt rdf:resource="http://www.example.com/workflow1#sha1"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
 
-    <wf:Process rdf:about="#shasum">
-        <prov:used rdf:resource="#combined"/>
-        <wf:wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
-        <wf:wasDefinedBy rdf:resource="http://www.example.com/workflow1#shasum"/>
+    <Process rdf:about="#constant">
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#String_Constant"/>
+        <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
         <prov:startedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:30Z</time:inDateTimeXSD>
-            </prov:Time>
+            <time:Instant rdf:about="#t0">
+                <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
+            </time:Instant>
         </prov:startedAt>
-        <prov:endedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:21:00Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:endedAt>
-    </wf:Process>
 
-    <wf:Value rdf:about="#sha1">
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
+        <prov:endedAt rdf:resource="#t0"/>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue rdf:resource="http://www.example.com/workflow1#String_Constant_value"/>
+                <prov:hadQualifiedEntity>
+                    <Value rdf:about="#hello">
+                        <value>Hello, </value>
+                    </Value>
+                </prov:hadQualifiedEntity>
+                <prov:hadTemporalValue rdf:resource="#t0"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
 
-    <wf:ValueAtPort rdf:about="#sha1OutputFromShasum">
-        <prov:wasGeneratedBy rdf:resource="#shasum"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-        <wf:sawValue rdf:resource="#sha1"/>
-        <wf:wasSeenAt rdf:resource="http://www.example.com/workflow1#shaOut"/>
-    </wf:ValueAtPort>
-
-    <wf:ValueAtPort rdf:about="#sha1OutputFromWorkflow">
-        <prov:wasGeneratedBy rdf:resource="#workflowRun"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-        <wf:sawValue rdf:resource="#sha1"/>
-        <wf:wasSeenAt rdf:resource="http://www.example.com/workflow1#sha1"/>
-    </wf:ValueAtPort>
-
+    <Process rdf:about="#combine">
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#cat"/>
+        <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
+        <prov:startedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:20Z</time:inDateTimeXSD>
+        </prov:startedAt>
+        <prov:endedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:25Z</time:inDateTimeXSD>
+        </prov:endedAt>
+        <wf:usedValue>
+            <prov:Usage>
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#catIn1"/>
+                <prov:hadQualifiedEntity rdf:resource="#hello"/>
+                <prov:hadTemporalValue rdf:parseType="Resource">
+                    <time:inDateTimeXSD>2011-10-21T09:20:21Z</time:inDateTimeXSD>
+                </prov:hadTemporalValue>
+            </prov:Usage>
+        </wf:usedValue>
+        <wf:usedValue>
+            <prov:Usage>
+                <sawValue rdf:resource="#input"/>
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#catIn2"/>
+                <prov:hadTemporalValue rdf:parseType="Resource">
+                    <time:inDateTimeXSD>2011-10-21T09:20:23Z</time:inDateTimeXSD>
+                </prov:hadTemporalValue>
+            </prov:Usage>
+        </wf:usedValue>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue>
+                    <Value rdf:about="#combined">
+                        <value>Hello, Steve</value>
+                    </Value>
+                </sawValue>    
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#catOut"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
+    <Process rdf:about="#shasum">
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#shasum"/>
+        <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
+        <prov:startedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:30Z</time:inDateTimeXSD>
+        </prov:startedAt>
+        <prov:endedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:21:00Z</time:inDateTimeXSD>
+        </prov:endedAt>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue>
+                    <Value rdf:about="#sha1">
+                        <value>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</value>
+                    </Value>
+                </sawValue>
+                <wasSeenAt rdf:resource="http://www.example.com/workflow1#shaOut"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
 </rdf:RDF></pre>
             <em>Example available as 
             <a href="examples/ontology-extensions/workflow/workflow.rdf">RDF/XML</a>
--- a/ontology/ProvenanceFormalModel.html	Fri Nov 18 16:45:13 2011 +0000
+++ b/ontology/ProvenanceFormalModel.html	Fri Nov 18 16:46:35 2011 +0000
@@ -1257,7 +1257,6 @@
         connecting together disparate set of domain-specific tools and
         services.  
         </p>
-
         <p>
           Capturing the provenance of executions in such a workflow
           system will typically include details of each of the process
@@ -1275,10 +1274,18 @@
         <img
           src="examples/ontology-extensions/workflow/workflowOntology.png"
           style="width: 60%; min-width: 20em; max-width: 40em"
-          alt="New classes wf:WorkFlowEngine, wf:Process, wf:ValueAtPort, wf:FileValue, and wf:Value extend prov:Agent, prov:ProcessExecution, prov:EntityInRole. New properties wf:wasLaunchedBy, wf:ranInWorkflowEngine, wf:wasSubProcessExecutionOf, wf:wasReadFrom, wf:sawValue extend prov:wasControlledBy, prov:wasDerivedFrom." />
+          alt="New classes wf:WorkFlowEngine, wf:Process,
+          wf:ValueAtPort, wf:FileValue, and wf:Value extend prov:Agent,
+          prov:ProcessExecution.  New properties wf:wasLaunchedBy, wf:ranInWorkflowEngine, wf:wasSubProcessExecutionOf, wf:wasReadFrom, wf:sawValue extend prov:wasControlledBy, prov:wasDerivedFrom." />
           <br>
           <em>Example extension of PROV ontology in order to describe
-          workflow provenance</em>
+          workflow provenance. This OWL ontology can be downloaded as 
+            <a
+            href="examples/ontology-extensions/workflow/workflowOntology.rdf">RDF/XML</a>
+            and
+            <a
+            href="examples/ontology-extensions/workflow/workflowOntology.ttl">Turtle</a>
+            </em>
         </p>
         <section id="workflow-extensions-to-prov-classes">
             <h4>Workflow extensions to PROV classes</h4>
@@ -1310,21 +1317,14 @@
                     value appearing in the workflow execution, it will
                     typically be <i>used</i> or <i>generated</i> by
                     <i>wf:Process</i> executions. The actual value can
-                    be provided with a <i>wf:value</i> property.
-                </dd>
-                <dt>wf:ValueAtPort</dt>
-                <dd>
-                    A subclass of <i>wf:Value</i> and <i>prov:EntityInRole</i>,
-                    indicating a value while in the role of being used
-                    or generated by a <i>wf:Process</i> at a particular
-                    <i>wf:Port</i>.
+                    be provided as a literal with a <i>wf:value</i> property.
                 </dd>
                 <dt>wf:FileValue</dt>
                 <dd>
                     A <i>wf:Value</i> which has been read from a file.
                     As an <i>prov:Entity</i> this represents 
                     an entity with both attributes <i>wf:value</i> and
-                    <i>wf:filename</i> fixed, that is the entity describes
+                    <i>wf:file</i> fixed, that is the entity describes
                     the point when the given file contained the 
                     content. As the file might be read a while before
                     the <i>wf:Value</i> is used by a <i>wf:Process</i>, 
@@ -1333,6 +1333,15 @@
                     this file value using the <i>wf:wasReadFrom</i>
                     property.
                 </dd>
+                <dt>wf:ValueAtPort</dt>
+                <dd>
+                    A subclass of <i>prov:QualifiedInvolvement</i>, representing a
+                    value (given by <i>wf:sawValue</i>) observed at a
+                    given port in the workflow (given by
+                    <i>wf:seenAtPort</i>. This description is the range
+                    of <i>wf:generatedValue</i> and <i>wf:usedValue</i>
+                    on a <i>wf:Process</i>.
+                </dd>
             </dl>
         </section>
         <section id="workflow-extensions-to-prov-properties">
@@ -1402,33 +1411,56 @@
                  </dd>
                  <dt>wf:sawValue</dt>
                  <dd>
-                    A subproperty of <i>prov:wasAssumedBy</i> which
+                    A subproperty of <i>prov:hadQualifiedEntity</i> which
                     indicates that an <i>wf:Value</i> was
                     <i>wf:seenAtPort</i> within an
-                    <i>wf:ValueAtPort</i>. This ValueAtPort is a complement of the
-                    pointed at Value because one can consider this
-                    entity to to have the same attributes, but in
-                    addition the <i>wf:seenAtPort</i> property is fixed.
+                    <i>wf:ValueAtPort</i>. 
                  </dd>
 
-                 <dt>wf:wasSeenAtPort</dt>
+                 <dt>wf:seenAtPort</dt>
                  <dd>
-                    A subproperty of <i>prov:assumedRole</i> (not yet defined in
-                    PROV ontology) indicating which <i>wf:Port</i> a
-                    <i>wf:ValueAtPort</i> was seen at. Thus one can see
+                    A subproperty of <i>prov:hadRole</i> 
+                    indicating which <i>wf:Port</i> (in the workflow
+                    definition) a <i>wf:ValueAtPort</i> was seen at. Thus one can see
                     at which output port a value was generated, or at
                     which input port(s) it was used. 
-                    
-                    As a functional property this requires a different
-                    <i>wf:ValueAtPort</i> for each <i>use</i> and
-                    <i>generation</i> of a value. The
-                    <i>wf:ValueAtPort</i> is linked to the 
-                    <i>wf:Entity</i> using <i>prov:wasComplementOf</i>
-                  <div class='issue'>Need
-                  prov:assumedRole in ontology -Stian</div>
                 </dd>
+                 <dt>wf:generatedValue</dt>
+                 <dd>
+                    A subproperty of <i>prov:hadQualifiedGeneration</i>,
+                    specifying which port we <i>wf:sawValue</i> and
+                    where it <i>wf:wasSeenAtPort</i> as it was
+                    generated. The domain of this
+                    property is <i>wf:Process</i>, the range
+                    <i>wf:ValueAtPort</i> (and implied
+                    <i>prov:Generation</i>)
+                </dd>
+                 <dt>wf:usedValue</dt>
+                 <dd>
+                    A subproperty of <i>prov:hadQualifiedUsage</i>,
+                    specifying which port we <i>wf:sawValue</i> and
+                    where it <i>wf:wasSeenAtPort</i> as it was
+                    used. The domain of this
+                    property is <i>wf:Process</i>, the range
+                    <i>wf:ValueAtPort</i> (and implied
+                    <i>prov:Usage</i>)
+                </dd>
+                <dt>wf:sameValueAs</dt>
+                 <dd>
+                    A subproperty of <i>prov:wasComplementOf</i> and
+                    <i>prov:wasDerivedFrom</i>,
+                    specifying that an <i>wf:Value</i> was the same as
+                    another <i>wf:Value</i>. This is used to indicate
+                    that a value at an workflow output port is the same
+                    as the value at a processor output port, although
+                    they have different history of generation, they both
+                    represent the same <i>wf:value</i> and are the same
+                    "thing".
+                </dd>
+
             </dl>
         </section>
+        <!--
         <section id="workflow-structure">
             <h4>Workflow structure</h4>
             <p>
@@ -1496,6 +1528,7 @@
               </dd>
             </dl>
         </section>
+        -->
         <section id="example-workflow">
             <h4>Example workflow</h4>
             <img src="examples/ontology-extensions/workflow/Concatsha1.png"
@@ -1511,61 +1544,14 @@
             to the other workflow port.
             </p>
             <p>
-            Using the definition ontology above this workflow can be
-            expressed in RDF/XML as:
+            An example of abstract definition of this workflow can be
+            seen as 
+            <a
+            href="examples/ontology-extensions/workflow/workflowDefinition.rdf">RDF/XML</a>
+            and
+            <a
+            href="examples/ontology-extensions/workflow/workflowDefinition.ttl">Turtle</a>
             </p>
-		<div class="exampleOuter">
-				<pre class="example">
-<rdf:RDF xml:base="http://www.example.com/workflow1#"
-    xmlns:impl="http://company.example.org/engine-implementation#"
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:wf="http://www.example.com/scientific-workflow#">
-
-    <wf:ProcessDefinition rdf:about="#workflow">
-        <rdf:type rdf:resource="http://company.example.org/engine-implementation#Workflow"/>
-        <wf:definesInput>
-            <wf:Input rdf:about="#inName">
-                <wf:linksTo rdf:resource="#catIn2" />
-            </wf:Input>
-        </wf:definesInput>
-        <wf:definesOutput rdf:resource="#combined" />
-        <wf:definesOutput rdf:resource="#sha1" />
-        <wf:definesSubProcess>
-            <impl:Constant rdf:about="#String_constant">
-                <impl:constant>Hello, </impl:constant>
-                <wf:definesOutput>
-                    <wf:Output rdf:about="#constantValue">
-                        <wf:linksTo rdf:resource="#catIn1"/>
-                    </wf:Output>
-                </wf:definesOutput>
-            </impl:Constant>
-        </wf:definesSubProcess>
-        <wf:definesSubProcess>
-            <impl:Command rdf:about="#cat">
-                <impl:command>cat</impl:command>
-                <wf:definesInput rdf:resource="#catIn1" />
-                <wf:definesInput rdf:resource="#catIn2" />
-                <wf:definesOutput>
-                    <wf:Output rdf:about="#catOut">
-                        <wf:linksTo rdf:resource="#shaIn"/>
-                    </wf:Output>
-                </wf:definesOutput>
-            </impl:Command>
-        </wf:definesSubProcess>
-        <wf:definesSubProcess>
-            <impl:Command rdf:about="#shasum">
-                <impl:command>shasum</impl:command>
-                <wf:definesInput rdf:resource="#shaIn" />
-                <wf:definesOutput>
-                    <wf:Output rdf:about="#shaOut">
-                        <wf:linksTo rdf:resource="#sha1"/>
-                    </wf:Output>
-                </wf:definesOutput>
-            </impl:Command>
-        </wf:definesSubProcess>
-    </wf:ProcessDefinition>
-</rdf:RDF>            
-        </pre></div>
         </section>
         <section id="example-workflow-run">
             <h4>Example workflow run</h4>
@@ -1575,201 +1561,144 @@
               the workflow defined above.
             </p>
             <div class="exampleOuter"><pre class="example">
-<rdf:RDF 
-    xmlns:cnt="http://www.w3.org/2011/content#"
+<rdf:RDF xmlns="http://www.example.com/scientific-workflow#"
     xmlns:foaf="http://xmlns.com/foaf/0.1/"
     xmlns:prov="http://www.w3.org/ns/prov-o/"
-    xmlns:time="http://www.w3.org/2006/time#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:wf="http://www.example.com/scientific-workflow#"
-    xmlns:run="http://www.example.com/run1#"
-    xmlns:base="http://www.example.com/run1#"
-    >
-
-    <prov:Agent rdf:about="#aUser">
-        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-        <foaf:name>Stian Soiland-Reyes</foaf:name>
-    </prov:Agent>
-
-    <wf:WorkflowEngine rdf:about="#workflowEngine" />
-
-    <wf:FileValue rdf:about="#inputFile">
-        <wf:file>/tmp/myinput.txt</wf:file>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>Steve</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:FileValue>
-
-    <wf:Value rdf:about="#input">
-        <wf:wasReadFrom rdf:resource="#inputFile"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>Steve</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
-
-    <wf:Process rdf:about="#workflowRun">
-        <prov:used>
-            <wf:ValueAtPort>
-                <wf:sawValue rdf:resource="#input"/>
-                <wf:seenAtPort rdf:resource="http://www.example.com/workflow1#inName"/>
-                <prov:assumedRoleAt>
-                    <prov:Time>
-                        <time:inDateTimeXSD>2011-10-21T09:21:31Z</time:inDateTimeXSD>
-                    </prov:Time>
-                </prov:assumedRoleAt>
-            </wf:ValueAtPort>
-        </prov:used>
-        <wf:ranInWorkflowEngine rdf:resource="#workflowEngine"/>
-        <wf:wasLaunchedBy rdf:resource="#aUser"/>
-        <wf:wasDefinedBy rdf:resource="http://www.example.com/workflow1#workflow"/>
-        <prov:startedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:startedAt>
-        <prov:endedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:23:32Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:endedAt>
-    </wf:Process>
-
-    <wf:Process rdf:about="#constant">
-        <wf:wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
-        <wf:wasDefinedBy
-        rdf:resource="http://www.example.com/workflow1#String_Constant"/>
-        <prov:startedAt>
-            <prov:Time rdf:about="#t0">
-                <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:startedAt>
-        <prov:endedAt rdf:resource="#t0" />
-    </wf:Process>
-
-    <wf:Value rdf:about="#hello">
-        <prov:wasGeneratedBy rdf:resource="#constant"/>
-        <prov:wasGeneratedAt rdf:resource="#t0"/>
-        <prov:endedAt rdf:resource="#t0" />
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:chars>Hello, </cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
-
-    <wf:ValueAtPort rdf:about="#helloValue">
-        <prov:wasGeneratedBy rdf:resource="#constant"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:chars>Hello, </cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-        <wf:sawEntity rdf:resource="#hello"/>
-    </wf:ValueAtPort>
+    xmlns:time="http://www.w3.org/2006/time#"
+    xmlns:wf="http://www.example.com/scientific-workflow#">
 
-    <wf:Process rdf:about="#combine">
-        <prov:used>
-          <wf:ValueAtPort>
-            <wf:sawValue rdf:resource="#hello"/>
-            <wf:seenAtPort rdf:resource="http://www.example.com/workflow1#catIn1"/>
-            <prov:assumedRoleAt>
-                <prov:Time>
-                    <time:inDateTimeXSD>2011-10-21T09:20:21Z</time:inDateTimeXSD>
-                </prov:Time>
-            </prov:assumedRoleAt>
-          </wf:ValueAtPort>
-        </prov:used>
-        <prov:used>
-          <wf:ValueAtPort>
-            <wf:sawValue rdf:resource="#input"/>
-            <wf:seenAtPort rdf:resource="http://www.example.com/workflow1#catIn2"/>
-            <prov:assumedRoleAt>
-                <prov:Time>
-                    <time:inDateTimeXSD>2011-10-21T09:20:23Z</time:inDateTimeXSD>
-                </prov:Time>
-            </prov:assumedRoleAt>
-          </wf:ValueAtPort>
-        </prov:used>
-        <wf:wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
-        <wf:wasDefinedBy rdf:resource="http://www.example.com/workflow1#cat"/>
-        <prov:startedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:20Z</time:inDateTimeXSD>
-            </prov:Time>
+    <Process rdf:about="#workflowRun">
+        <ranInWorkflowEngine>
+            <WorkflowEngine rdf:about="#workflowEngine" />
+        </ranInWorkflowEngine>
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#workflow"/>
+        <wasLaunchedBy>
+            <prov:Agent rdf:about="#aUser">
+                <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+                <foaf:name>Stian Soiland-Reyes</foaf:name>
+            </prov:Agent>
+        </wasLaunchedBy>
+        <prov:startedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
         </prov:startedAt>
-        <prov:endedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:25Z</time:inDateTimeXSD>
-            </prov:Time>
+        <prov:endedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:23:32Z</time:inDateTimeXSD>
         </prov:endedAt>
-    </wf:Process>
-
-    <wf:Value rdf:about="#combined">
-        <prov:wasGeneratedBy rdf:resource="#combine"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:chars>Hello, Steve</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
+        <wf:usedValue>
+            <prov:Usage>
+                <sawValue>
+                    <Value rdf:about="#input">
+                        <value>Steve</value>
+                        <wasReadFrom>
+                            <FileValue rdf:about="#inputFile">
+                                <file>/tmp/myinput.txt</file>
+                                <value>Steve</value>
+                            </FileValue>
+                        </wasReadFrom>
+                    </Value>
+                </sawValue>    
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#inName"/>
+                <prov:hadTemporalValue rdf:parseType="Resource">
+                    <time:inDateTimeXSD>2011-10-21T09:21:31Z</time:inDateTimeXSD>
+                </prov:hadTemporalValue>
+            </prov:Usage>
+        </wf:usedValue>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue>
+                    <Value rdf:about="#sha1FromWorkflow">
+                        <value>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</value>
+                        <wf:sameValueAs rdf:resource="#sha1"/>
+                    </Value>
+                </sawValue>    
+                <wasSeenAt rdf:resource="http://www.example.com/workflow1#sha1"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
 
-    <wf:Process rdf:about="#shasum">
-        <prov:used rdf:resource="#combined"/>
-        <wf:wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
-        <wf:wasDefinedBy rdf:resource="http://www.example.com/workflow1#shasum"/>
+    <Process rdf:about="#constant">
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#String_Constant"/>
+        <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
         <prov:startedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:20:30Z</time:inDateTimeXSD>
-            </prov:Time>
+            <time:Instant rdf:about="#t0">
+                <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
+            </time:Instant>
         </prov:startedAt>
-        <prov:endedAt>
-            <prov:Time>
-                <time:inDateTimeXSD>2011-10-21T09:21:00Z</time:inDateTimeXSD>
-            </prov:Time>
-        </prov:endedAt>
-    </wf:Process>
-
-    <wf:Value rdf:about="#sha1">
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-    </wf:Value>
 
-    <wf:ValueAtPort rdf:about="#sha1OutputFromShasum">
-        <prov:wasGeneratedBy rdf:resource="#shasum"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-        <wf:sawValue rdf:resource="#sha1"/>
-        <wf:wasSeenAt rdf:resource="http://www.example.com/workflow1#shaOut"/>
-    </wf:ValueAtPort>
+        <prov:endedAt rdf:resource="#t0"/>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue rdf:resource="http://www.example.com/workflow1#String_Constant_value"/>
+                <prov:hadQualifiedEntity>
+                    <Value rdf:about="#hello">
+                        <value>Hello, </value>
+                    </Value>
+                </prov:hadQualifiedEntity>
+                <prov:hadTemporalValue rdf:resource="#t0"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
 
-    <wf:ValueAtPort rdf:about="#sha1OutputFromWorkflow">
-        <prov:wasGeneratedBy rdf:resource="#workflowRun"/>
-        <wf:value>
-            <cnt:ContentAsText>
-                <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
-                <cnt:chars>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</cnt:chars>
-            </cnt:ContentAsText>
-        </wf:value>
-        <wf:sawValue rdf:resource="#sha1"/>
-        <wf:wasSeenAt rdf:resource="http://www.example.com/workflow1#sha1"/>
-    </wf:ValueAtPort>
-
+    <Process rdf:about="#combine">
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#cat"/>
+        <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
+        <prov:startedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:20Z</time:inDateTimeXSD>
+        </prov:startedAt>
+        <prov:endedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:25Z</time:inDateTimeXSD>
+        </prov:endedAt>
+        <wf:usedValue>
+            <prov:Usage>
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#catIn1"/>
+                <prov:hadQualifiedEntity rdf:resource="#hello"/>
+                <prov:hadTemporalValue rdf:parseType="Resource">
+                    <time:inDateTimeXSD>2011-10-21T09:20:21Z</time:inDateTimeXSD>
+                </prov:hadTemporalValue>
+            </prov:Usage>
+        </wf:usedValue>
+        <wf:usedValue>
+            <prov:Usage>
+                <sawValue rdf:resource="#input"/>
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#catIn2"/>
+                <prov:hadTemporalValue rdf:parseType="Resource">
+                    <time:inDateTimeXSD>2011-10-21T09:20:23Z</time:inDateTimeXSD>
+                </prov:hadTemporalValue>
+            </prov:Usage>
+        </wf:usedValue>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue>
+                    <Value rdf:about="#combined">
+                        <value>Hello, Steve</value>
+                    </Value>
+                </sawValue>    
+                <seenAtPort rdf:resource="http://www.example.com/workflow1#catOut"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
+    <Process rdf:about="#shasum">
+        <wasDefinedBy rdf:resource="http://www.example.com/workflow1#shasum"/>
+        <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
+        <prov:startedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:20:30Z</time:inDateTimeXSD>
+        </prov:startedAt>
+        <prov:endedAt rdf:parseType="Resource">
+            <time:inDateTimeXSD>2011-10-21T09:21:00Z</time:inDateTimeXSD>
+        </prov:endedAt>
+        <wf:generatedValue>
+            <prov:Generation>
+                <sawValue>
+                    <Value rdf:about="#sha1">
+                        <value>a33d1fb1658d4fbf017de59ab67437a3eb5ff50d</value>
+                    </Value>
+                </sawValue>
+                <wasSeenAt rdf:resource="http://www.example.com/workflow1#shaOut"/>
+            </prov:Generation>
+        </wf:generatedValue>
+    </Process>
 </rdf:RDF>
-
             </pre>
             <em>Example available as 
             <a