--- a/ontology/Overview.html Fri Nov 25 09:53:52 2011 +0000
+++ b/ontology/Overview.html Mon Nov 28 14:27:06 2011 +0000
@@ -2,7 +2,7 @@
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>PROV Ontology Model</title>
+ <title>The PROV Ontology: Model and Formal Semantics</title>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
<!--
@@ -11,7 +11,17 @@
out in the same tree and use relative links so that they'll work offline,
-->
+
+<!-- From DM -->
+
+ <style type="text/css">
+ .note { font-size:small; margin-left:50px }
+ table { text-align: center; vertical-align: middle }
+ </style>
+
+
+
<style type="text/css">
/*****************************************************************
@@ -478,8 +488,155 @@
pre.sh_sourceCode .sh_paren { color: red; }
pre.sh_sourceCode .sh_attribute { color: #006400; }
+</style><style type="text/css">
+/* --- EDITORIAL NOTES --- */
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.inference::before {
+ content: "Inference";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint[id]::before {
+ content: "Constraint: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.constraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-family: monospace;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
</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-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>
+ <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">The PROV Ontology: Model and Formal Semantics</h1><h2 id="w3c-working-draft-28-november-2011"><acronym title="World Wide Web Consortium">W3C</acronym> Working Draft 28 November 2011</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2011/WD-prov-o-20111128/">http://www.w3.org/TR/2011/WD-prov-o-20111128/</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>
@@ -487,22 +644,29 @@
<dd><a href="http://www.oeg-upm.net/index.php/en/phdstudents/28-dgarijo">Daniel Garijo</a>, Universidad Politécnica de Madrid, Spain</dd>
<dd><a href="http://tw.rpi.edu/instances/TimLebo">Timothy Lebo</a>, Rensselaer Polytechnic Institute, USA</dd>
<dd><a href="http://soiland-reyes.com/stian/">Stian Soiland-Reyes</a>, University of Manchester, UK</dd>
-</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2011 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr /></div>
+<dd><a href="http://tw.rpi.edu/web/person/StephanZednik">Stephan Zednick</a>, Rensselaer Polytechnic Institute, USA</dd>
+</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2011 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr /></div>
<div id="abstract" class="introductory section"><h2>Abstract</h2>
-<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>
+ <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="#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>
+ </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 <acronym title="World Wide Web Consortium">W3C</acronym> publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide Web Consortium">W3C</acronym> technical reports index</a> at http://www.w3.org/TR/.</em></p>
+ <p>
+ This document is part of a set of specifications being created to address the issue of provenance interchange in Web applications. This document is accompanied by (1) the PROV Data Model (PROV-DM), and (2) the PROV Access and Query (PAQ) documents.
+ </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 <acronym title="World Wide Web Consortium">W3C</acronym> 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 <acronym title="World Wide Web Consortium">W3C</acronym> 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 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a rel="disclosure" href="http://www.w3.org/2004/01/pp-impl/46974/status">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 <acronym title="World Wide Web Consortium">W3C</acronym> 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="#activity" class="tocxref"><span class="secno">3.1.2 </span>Activity</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><li class="tocline"><a href="#overview-of-qualified-involvement" class="tocxref"><span class="secno">3.6 </span>Overview of Qualified Involvement</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 the PROV Ontology for Domain-specific Provenance Applications</a></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></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>
+
-
+
<div id="introduction" class="section">
<!-- OddPage -->
<h2><span class="secno">1. </span>Introduction</h2>
<p>
- PROV Ontology (also PROV-O) defines the normative modeling of the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] using the W3C OWL2 Web Ontology Language. This document specification describes the set of classes, properties, and restrictions that constitute the PROV ontology, which have been introduced in the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]. This ontology specification provides the foundation for implementation of provenance applications in different domains using the PROV ontology for representing, exchanging, and integrating provenance information. Together with the PROV Access and Query [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-PAQ">PROV-PAQ</a></cite>] and PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>], this document forms a framework for provenance information interchange and management in domain-specific Web-based applications.
+ PROV Ontology (also PROV-O) defines the normative modeling of the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] using the <acronym title="World Wide Web Consortium">W3C</acronym> OWL2 Web Ontology Language. This document specification describes the set of classes, properties, and restrictions that constitute the PROV ontology, which have been introduced in the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]. This ontology specification provides the foundation for implementation of provenance applications in different domains using the PROV ontology for representing, exchanging, and integrating provenance information. Together with the PROV Access and Query [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-PAQ">PROV-PAQ</a></cite>] and PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>], this document forms a framework for provenance information interchange and management in domain-specific Web-based applications.
</p>
<p>
The PROV ontology classes and properties are defined such that they can not only be used directly to represent provenance information, but also can be specialized for modeling application-specific provenance details in a variety of domains. Thus, the PROV ontology is expected to be both directly usable in applications as well as serve as a <i>reference model</i> for creation of domain-specific provenance ontology and thereby facilitate interoperable provenance modeling. This document uses an example <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> introduced in the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] to demonstrate the use PROV-O classes and properties to model provenance information.
@@ -514,7 +678,7 @@
<div id="guide-to-this-document" class="section">
<h3><span class="secno">1.1 </span>Guide to this Document</h3>
- <p> This document is intended for provide an understanding of the PROV ontology and how it can be used by different applications to represent their provenance information. The intended audience of this document include users who are new to provenance modeling as well as experienced users who would like their provenance model compatible with the PROV ontology to facilitate standardization. This document assumes a basic understanding of the W3C RDF(S) and OWL2 specification. Readers are referred to the OWL2 and RDF(S) documentations, starting with the [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL2-PRIMER">OWL2-PRIMER</a></cite>] and [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-PRIMER">RDF-PRIMER</a></cite>], for further details about the OWL2 and RDF(S) specifications respectively.
+ <p> This document is intended for provide an understanding of the PROV ontology and how it can be used by different applications to represent their provenance information. The intended audience of this document include users who are new to provenance modeling as well as experienced users who would like their provenance model compatible with the PROV ontology to facilitate standardization. This document assumes a basic understanding of the <acronym title="World Wide Web Consortium">W3C</acronym> RDF(S) and OWL2 specification. Readers are referred to the OWL2 and RDF(S) documentations, starting with the [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL2-PRIMER">OWL2-PRIMER</a></cite>] and [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-PRIMER">RDF-PRIMER</a></cite>], for further details about the OWL2 and RDF(S) specifications respectively.
</p>
<p><a href="#prov-ontology--owl-encoding-of-prov-data-model">Section 2</a> describes the mapping of the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] to the PROV ontology. <a href="#specializing-provenance-ontology-for-domain-specific-provenance-applications">Section 3</a> introduces the classes and properties of the PROV ontology. <a href="#specializing-provenance-ontology-for-domain-specific-provenance-applications">Section 4</a> describes the approach used to specialize the PROV ontology create a domain specific ontology for an example <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a> introduced in the PROV Data Model [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]. The PROV ontology supports a set of provenance entailments and these are described in <a href="#entailments-supported-by-the-provenance-model">Section 5</a>.
</p>
@@ -575,6 +739,13 @@
</p>
<div id="classes" class="section">
<h3><span class="secno">3.1 </span>Classes</h3>
+ <div class="buttonpanel">
+ <form action=""><p>
+ <input type="button" value="Hide Examples" onclick="set_display_by_class('div','anexample','none'); set_display_by_id('hide-examples1','none'); set_display_by_id('show-examples1','');" id="hide-examples1" />
+ <input type="button" value="Show Examples" style="display: none" onclick="set_display_by_class('div','anexample',''); set_display_by_id('hide-examples1',''); set_display_by_id('show-examples1','none');" id="show-examples1" />
+ </p>
+ </form>
+ </div>
<p>The PROV ontology consists of classes that can be organized into a hierarchical structure using the <code>rdfs:subClassOf</code> property.
<img alt="Class hierarchy of the PROV ontology" style="width: 70%; min-width: 25em; max-width: 60em" src="diagram-history/khalidDiagrams/Ontology_hierarchy.png" />
@@ -588,43 +759,49 @@
<div><b>OWL syntax</b></div>
<pre> prov:Entity rdfs:subClassOf owl:Thing.
</pre>
+ <div class="anexample">
<div><b>Example</b></div>
- <p> Example of instances of class Entity from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are files with identifiers <i>e1</i> and <i>e2</i>. The RDF/XML syntax for asserting that e1 is an instance of Entity is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
+ <p> Example of instances of class Entity from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are files with identifiers <i>e1</i> and <i>e2</i>. The RDF/XML syntax for asserting that e1 is an instance of Entity is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
<p>Additional assertions can be made about the Entity instances that describe additional attributes of the entities. Following common knowledge representation approach, the Entity class can be specialized to create multiple sub classes, using the <code>rdfs:subClassOf</code> property, representing distinct categories of entities using additional characterizing attributes (as defined in the [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]). The additional attributes <em class="rfc2119" title="should">should</em> use an appropriate namespace, and the new sub classes <em class="rfc2119" title="may">may</em> be introduced by application-specific provenance ontologies.
</p>
+ <div class="anexample">
<div><b>Example</b></div>
<div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
<rdf:type rdf:resource="http://www.example.com/crime#CrimeFile">
</rdf:Description>
-<rdf:Description rdf:about="http://www.example.com/crime#CrimeFile">
- <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
-</rdf:Description></pre>
- </div>
+ <rdf:Description rdf:about="http://www.example.com/crime#CrimeFile">
+ <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
+ </rdf:Description></pre>
+ </div>
+ </div>
</div>
<!-- Classes -->
- <div id="processexecution" class="section">
- <h4><span class="secno">3.1.2 </span>ProcessExecution</h4>
+ <div id="activity" class="section">
+ <h4><span class="secno">3.1.2 </span>Activity</h4>
<div><b>Class Description</b></div>
- <p>ProcessExecution is defined to be "an identifiable activity, which performs a piece of work." [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]</p>
+ <p>Activity is defined to be "an identifiable activity, which performs a piece of work." [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]</p>
<div><b>OWL syntax</b></div>
- <pre>prov:ProcessExecution rdfs:subClassOf owl:Thing.</pre>
- <div><b>Example</b></div>
- <p> Example instances of the class ProcessExecution (from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a>) are "file creation" (<i>pe0</i>) and "file editing" (<i>pe2</i>) . The RDF/XML syntax for asserting that pe2 is an instance of ProcessExecution is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe2">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/ProcessExecution"/>
+ <pre>prov:Activity rdfs:subClassOf owl:Thing.</pre>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example instances of the class Activity (from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a>) are "file creation" (<i>pe0</i>) and "file editing" (<i>pe2</i>) . The RDF/XML syntax for asserting that act2 is an instance of Activity is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act2">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Activity"/>
</rdf:Description></pre>
+ </div>
</div>
- <div class="note"> pe2 is an instance of class <code>:Emailing</code>, which is defined to be sub-class of class <code>prov:ProcessExecution</code> in the CrimeFile ontology. Hence, using standard RDFS entailment allows us to infer that pe2 is also an instance of <code>prov:ProcessExecution</code>.
+ <div class="note"> act2 is an instance of class <code>:Emailing</code>, which is defined to be sub-class of class <code>prov:Activity</code> in the CrimeFile ontology. Hence, using standard RDFS entailment allows us to infer that act2 is also an instance of <code>prov:Activity</code>.
</div>
</div>
@@ -636,12 +813,14 @@
<p>Agent is defined to be a "characterized entity capable of activity" [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]</p>
<div><b>OWL syntax</b></div>
<pre>prov:Agent rdfs:subClassOf prov:Entity.</pre>
- <div><b>Example</b></div>
- <p> Example of instances of class Agent from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are <i>Alice</i> and <i>Edith</i>. The RDF/XML syntax for asserting that Alice is an instance of Agent is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#Alice">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Agent"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of instances of class Agent from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are <i>Alice</i> and <i>Edith</i>. The RDF/XML syntax for asserting that Alice is an instance of Agent is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#Alice">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Agent"/>
</rdf:Description></pre>
+ </div>
</div>
<div class="note"> Similar to example for Entity, both Alice and Edith are instances of class Journalist, which is defined to be "sub-class" of class Agent in the CrimeFile ontology. Hence, using standard RDFS entailment allows us to infer that both Alice and Edith are also instances of Agent.
</div>
@@ -655,18 +834,19 @@
<p>The Instant class represents "point-line" temporal information that have "no interior points" [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>]. The Interval class represents temporal information that have a non-zero duration [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>]</p>
<div><b>OWL syntax</b></div>
<pre>time:TemporalEntity rdfs:subClassOf owl:Thing.</pre>
- <div><b>Example</b></div>
- <p> Example of instances of class TemporalEntity from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are <i>t</i> and <i>t+1</i>. t+1 is associated with the instance of ProcessExecution pe2. The instances of TemporalEntity are linked to instances of Entity or ProcessExecution classes by the <a href="#hadtemporalvalue">hadTemporalValue</a> property that is described later in this document. </p>
- <p>The RDF/XML syntax for this asserting that t+1 is an instance of class TemporalEntity and t+1 is associated with pe2 is given below.
- </p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe2">
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of instances of class TemporalEntity from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are <i>t</i> and <i>t+1</i>. t+1 is associated with the instance of Activity act2. The instances of TemporalEntity are linked to instances of Entity or Activity classes by the <a href="#hadtemporalvalue">hadTemporalValue</a> property that is described later in this document. </p>
+ <p>The RDF/XML syntax for this asserting that t+1 is an instance of class TemporalEntity and t+1 is associated with act2 is given below.
+ </p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act2">
<prov:hadTemporalValue rdf:about="http://www.example.com/crimeFile#t+1">
- <rdf:type rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/>
+ <rdf:type rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/>
</prov:hadTemporalValue>
</rdf:Description></pre>
+ </div>
</div>
-
</div>
<div id="provenancecontainer" class="section">
@@ -676,14 +856,17 @@
<div><b>OWL syntax</b></div>
<pre>prov:ProvenanceContainer rdfs:subClassOf owl:Thing.</pre>
<p>Examples of instance of class ProvenanceContainer includes a RDF graph containing set of assertions describing the provenance of a car, such as its manufacturer, date of manufacture, and place of manufacture.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#ProvenanceContainer1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/#ProvenanceContainer"/>
- <cf:contains rdf:resource="http://www.example.com/crimeFile#Statement1"/>
- <cf:contains rdf:resource="http://www.example.com/crimeFile#Statement2"/>
- <cf:assertedBy rdf:resource="http://www.example.com/crimeFile#Alice"/>
+
+ <div class="anexample">
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#ProvenanceContainer1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/#ProvenanceContainer"/>
+ <cf:contains rdf:resource="http://www.example.com/crimeFile#Statement1"/>
+ <cf:contains rdf:resource="http://www.example.com/crimeFile#Statement2"/>
+ <cf:assertedBy rdf:resource="http://www.example.com/crimeFile#Alice"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
<div class="note"> According to the definitions of ProvenanceContainer and Account, both contain a set of provenance assertions and have an identifier. Hence, ProvenanceContainer class can also be used to create instances of accounts.
</div>
<div class="issue">Scope and Identifiers.
@@ -701,14 +884,17 @@
<div><b>OWL syntax</b></div>
<pre>prov:Location rdfs:subClassOf owl:Thing.</pre>
<p> Example of instances of class Location from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is the location of the crime file in the shared directory <i>/share</i> with file path <i>/shared/crime.txt</i>. The RDF/XML syntax for asserting that the location of the crime file is the shared directory.
- </p><div class="exampleOuter">
- <pre class="example"><cf:hasLocation>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#sharedDirectoryLocation1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Location"/>
- <cf:hasFilePath rdf:datatype="http://www.w3.org/2001/XMLSchema#string">/share/crime.txt</cf:hasFilePath>
- </rdf:Description>
+
+ </p><div class="anexample">
+ <div class="exampleOuter">
+ <pre class="example"><cf:hasLocation>
+ <rdf:Description rdf:about="http://www.example.com/crimeFile#sharedDirectoryLocation1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Location"/>
+ <cf:hasFilePath rdf:datatype="http://www.w3.org/2001/XMLSchema#string">/share/crime.txt</cf:hasFilePath>
+ </rdf:Description>
</cf:hasLocation></pre>
- </div>
+ </div>
+ </div>
<div class="note"> Need to clarify whether "geographic" includes "geospatial"?</div>
</div>
@@ -717,7 +903,7 @@
<div id="qualifiedinvolvement" class="section">
<h4><span class="secno">3.1.7 </span>QualifiedInvolvement</h4>
<div><b>Class Description</b></div>
- <p>The QualifiedInvolvement class represents an n-ary property to capture qualifying information related to the use of Entity by ProcessExecution.</p>
+ <p>The QualifiedInvolvement class represents an n-ary property to capture qualifying information related to the use of Entity by Activity.</p>
<div><b>OWL syntax</b></div>
<pre>prov:QualifiedInvolvement rdfs:subClassOf owl:Thing.</pre>
@@ -727,96 +913,108 @@
<p>The Usage class represents an n-ary property to capture qualifying information related to the the use, generation, control, and participation.</p>
<div><b>OWL syntax</b></div>
<pre>prov:Usage rdfs:subClassOf prov:QualifiedInvolvement.</pre>
- <div><b>Example</b></div>
- <p> Example of instances of class Usage from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> provenance scenario ??? is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#u1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Usage"/>
- <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of instances of class Usage from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> provenance scenario ??? is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#u1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Usage"/>
+ <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
</div>
<div id="participation" class="section">
<h5><span class="secno">3.1.7.2 </span>Participation</h5>
<div><b>Class Description</b></div>
- <p>The Participation class represents an n-ary property to capture qualifying information related to the participation of Entity in ProcessExecution.</p>
+ <p>The Participation class represents an n-ary property to capture qualifying information related to the participation of Entity in Activity.</p>
<div><b>OWL syntax</b></div>
<pre>prov:Participation rdfs:subClassOf prov:QualifiedInvolvement.</pre>
- <div><b>Example</b></div>
- <p> Example of instances of class Participation from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> provenance scenario ??? is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#p1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Participation"/>
- <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of instances of class Participation from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> provenance scenario ??? is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#p1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Participation"/>
+ <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
</div>
<div id="control" class="section">
<h5><span class="secno">3.1.7.3 </span>Control</h5>
<div><b>Class Description</b></div>
- <p>The Control class represents an n-ary property to capture qualifying information related to the control of ProcessExecution by Agent.</p>
+ <p>The Control class represents an n-ary property to capture qualifying information related to the control of Activity by Agent.</p>
<div><b>OWL syntax</b></div>
<pre>prov:Control rdfs:subClassOf prov:QualifiedInvolvement.</pre>
- <div><b>Example</b></div>
- <p>Example of instances of class Control from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> provenance scenario ??? is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#c1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Control"/>
- <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p>Example of instances of class Control from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> provenance scenario ??? is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#c1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Control"/>
+ <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
</div>
<div id="generation" class="section">
<h5><span class="secno">3.1.7.4 </span>Generation</h5>
<div><b>Class Description</b></div>
- <p>The Generation class represents an n-ary property to capture qualifying information related to the generation of Entity by ProcessExecution.</p>
+ <p>The Generation class represents an n-ary property to capture qualifying information related to the generation of Entity by Activity.</p>
<div><b>OWL syntax</b></div>
<pre>prov:Generation rdfs:subClassOf prov:QualifiedInvolvement.</pre>
- <div><b>Example</b></div>
- <p> Example of instances of class Generation from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario</a> ??? is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#g1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Generation"/>
- <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of instances of class Generation from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario</a> ??? is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#g1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Generation"/>
+ <prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#Bob"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
</div>
</div>
<div id="recipe" class="section">
<h4><span class="secno">3.1.8 </span>Recipe</h4>
<div><b>Class Description</b></div>
- <p>Recipe represents the specification of a <a href="#processexecution">ProcessExecution</a>. PROV ontology does not define the different types of recipes that can be created by provenance applications in different domains.</p>
+ <p>Recipe represents the specification of a <a href="#activity">Activity</a>. PROV ontology does not define the different types of recipes that can be created by provenance applications in different domains.</p>
<div><b>OWL syntax</b></div>
<pre>prov:Recipe rdfs:subClassOf owl:Thing.</pre>
- <div><b>Example</b></div>
- <p>An example of recipe from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario </a>may be the editing protocol followed by the journalists to edit a news report.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#news_editing">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/ProcessExection"/>
- <prov:hadRecipe rdf:resource="http://www.example.com/crimeFile#NewsReportEditingProtocol"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p>An example of recipe from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario </a>may be the editing protocol followed by the journalists to edit a news report.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#news_editing">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Activity"/>
+ <prov:hadRecipe rdf:resource="http://www.example.com/crimeFile#NewsReportEditingProtocol"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
</div>
<div id="role" class="section">
<h4><span class="secno">3.1.9 </span>Role</h4>
<div><b>Class Description</b></div>
- <p>Role class models additional information about Entity or ProcessExecution class with respect to the QualifiedInvolvement class [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]</p>
+ <p>Role class models additional information about Entity or Activity class with respect to the QualifiedInvolvement class [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]</p>
<div><b>OWL syntax</b></div>
<pre>prov:Role rdfs:subClassOf owl:Thing.</pre>
- <div><b>Example</b></div>
- <p> Example of instances of class Role from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are <i>author (for Alice)</i> and <i>save (for pe1)</i>. The RDF/XML syntax for asserting that Alice played a role of author in the usage u1 (instance of class Usage) of file e1 in the activity of adding content.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#u1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Usage"/>
- <prov:hadRole rdf:resource="www.example.com/crimeFile#author"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of instances of class Role from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> are <i>author (for Alice)</i> and <i>save (for act1)</i>. The RDF/XML syntax for asserting that Alice played a role of author in the usage u1 (instance of class Usage) of file e1 in the activity of adding content.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#u1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Usage"/>
+ <prov:hadRole rdf:resource="www.example.com/crimeFile#author"/>
</rdf:Description></pre>
+ </div>
</div>
- <div class="note"> It is not clear how two roles can be modeled using the QualifiedInvolvement class-based approach, where an Entity plays a role of "author", while the ProcessExecution plays the role of "save" (from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a>).
+ <div class="note"> It is not clear how two roles can be modeled using the QualifiedInvolvement class-based approach, where an Entity plays a role of "author", while the Activity plays the role of "save" (from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a>).
</div>
</div>
@@ -842,6 +1040,13 @@
<div id="object-properties" class="section">
<h3><span class="secno">3.2 </span>Object Properties</h3>
+ <div class="buttonpanel">
+ <form action=""><p>
+ <input type="button" value="Hide Examples" onclick="set_display_by_class('div','anexample','none'); set_display_by_id('hide-examples2','none'); set_display_by_id('show-examples2','');" id="hide-examples2" />
+ <input type="button" value="Show Examples" style="display: none" onclick="set_display_by_class('div','anexample',''); set_display_by_id('hide-examples2',''); set_display_by_id('show-examples2','none');" id="show-examples2" />
+ </p>
+ </form>
+ </div>
<p>The PROV ontology has the following object properties. </p>
<p><i>Note: Names of properties starts with a verb in lower case followed by verb(s) starting with upper case </i></p>
@@ -849,40 +1054,44 @@
<div id="wasgeneratedby" class="section">
<h4><span class="secno">3.2.1 </span>wasGeneratedBy</h4>
- <p>The wasGeneratedBy property links the Entity class with the ProcessExecution class.</p>
- <p><i>Note: No arity constraints are assumed between Entity and ProcessExecution</i></p>
- <img alt="wasGeneratedBy links Entity to ProcessExecution" style="height: 3em" src="diagram-history/khalidDiagrams/wasGeneratedBy.png" />
- <div><b>Example</b></div>
- <p>Example of wasGeneratedBy property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e1 wasGeneratedBy pe0</i>. The RDF/XML syntax for asserting this information is given below.
- </p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
- <prov:wasGeneratedBy>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#pe0">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/ProcessExecution"/>
- </rdf:Description>
- <prov:wasGeneratedBy>
+ <p>The wasGeneratedBy property links the Entity class with the Activity class.</p>
+ <p><i>Note: No arity constraints are assumed between Entity and Activity</i></p>
+ <img alt="wasGeneratedBy links Entity to Activity" style="height: 3em" src="diagram-history/khalidDiagrams/wasGeneratedBy.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p>Example of wasGeneratedBy property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e1 wasGeneratedBy act0</i>. The RDF/XML syntax for asserting this information is given below.
+ </p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
+ <prov:wasGeneratedBy>
+ <rdf:Description rdf:about="http://www.example.com/crimeFile#act0">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Activity"/>
+ </rdf:Description>
+ <prov:wasGeneratedBy>
</rdf:Description> </pre>
+ </div>
</div>
</div>
<div id="revision" class="section">
<h4><span class="secno">3.2.2 </span>wasRevisionOf</h4>
<p>The wasRevisionOf property links two instances of Entity class, where one instance is a revision of another instance, and there is explicit role of an Agent in asserting this information.</p>
- <div><b>Example</b></div>
- <p>Example of wasRevisionOf property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e3 wasRevisionOf e2</i>. The RDF/XML syntax for asserting this information is given below.
- </p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
- <prov:wasRevisionOf>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
- </rdf:Description>
- <prov:wasRevisionOf>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p>Example of wasRevisionOf property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e3 wasRevisionOf e2</i>. The RDF/XML syntax for asserting this information is given below.
+ </p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
+ <prov:wasRevisionOf>
+ <rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
+ <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
+ </rdf:Description>
+ <prov:wasRevisionOf>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
<div class="note"> Can instance of Agents be reasoning agents that infer the information that one Entity instance is a revision of another Entity instance and then asserts the information? In other words, is assertion after inference supported by this property?
</div>
</div>
@@ -891,13 +1100,15 @@
<h4><span class="secno">3.2.3 </span>wasDerivedFrom</h4>
<p>The wasDerivedFrom property links two instances of Entity class, where "some characterized entity is transformed from, created from, or affected by another characterized entity." [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>]</p>
<img alt="wasDerivedFrom links Entity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/wasDerivedFrom.png" />
- <div><b>Example</b></div>
- <p> Example of wasDerivedFrom property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e3 wasDerivedFrom e2</i>. The RDF/XML syntax for asserting this is given below.
- </p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
- <prov:wasDerivedFrom rdf:resource="http://www.example.com/crimeFile#e2"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasDerivedFrom property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e3 wasDerivedFrom e2</i>. The RDF/XML syntax for asserting this is given below.
+ </p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
+ <prov:wasDerivedFrom rdf:resource="http://www.example.com/crimeFile#e2"/>
</rdf:Description> </pre>
+ </div>
</div>
<div class="issue">Should derivation have a time? Which time? This is <a href="http://www.w3.org/2011/prov/track/issues/43">ISSUE-43</a>.</div>
<div class="issue">Should we specifically mention derivation of agents? This is <a href="http://www.w3.org/2011/prov/track/issues/42">ISSUE-42</a>.</div>
@@ -905,16 +1116,18 @@
<div id="waseventuallyderivedfrom" class="section">
<h4><span class="secno">3.2.4 </span>wasEventuallyDerivedFrom</h4>
- <p>This object property is used to link two instances of Entity class that "...are not directly used and generated respectively" by a single instance of ProcessExecution class [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>].
+ <p>This object property is used to link two instances of Entity class that "...are not directly used and generated respectively" by a single instance of Activity class [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>].
</p>
<img alt="wasEventuallyDerivedFrom links Entity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/wasEventuallyDerivedFrom.png" />
- <div><b>Example</b></div>
- <p> Example of wasEventuallyDerivedFrom property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e5 wasEventuallyDerivedFrom e2</i>. The RDF/XML syntax for asserting this is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e5">
- <prov:wasEventuallyDerivedFrom rdf:resource="http://www.example.com/crimeFile#e2"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasEventuallyDerivedFrom property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e5 wasEventuallyDerivedFrom e2</i>. The RDF/XML syntax for asserting this is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e5">
+ <prov:wasEventuallyDerivedFrom rdf:resource="http://www.example.com/crimeFile#e2"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
<div class="issue">Is the current definition of wasEventuallyDerivedFrom inconsistent with definition of wasDerivedFrom? This is <a href="http://www.w3.org/2011/prov/track/issues/122">ISSUE-122 </a> and <a href="http://www.w3.org/2011/prov/track/issues/126">ISSUE-126</a></div>
</div>
@@ -922,13 +1135,15 @@
<h4><span class="secno">3.2.5 </span>dependedOn</h4>
<p>The dependedOn property links two instances of Entity class to model the derivation of one instance from another instance. This is a <i>transitive</i> property, in other words if an Entity instance a1 dependedOn a2 and a2 dependedOn a3, then a1 dependedOn a3 is also true.</p>
<img alt="dependedOn links Entity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/dependedOn.png" />
- <div><b>Example</b></div>
- <p>Example of dependedOn property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e5 dependedOn e2</i>. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e5">
- <prov:dependedOn rdf:resource="http://www.example.com/crimeFile#e2"/>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p>Example of dependedOn property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>e5 dependedOn e2</i>. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e5">
+ <prov:dependedOn rdf:resource="http://www.example.com/crimeFile#e2"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
<div class="issue">Is dependedOn a parent property of
wasDerivedFrom? This is <a href="http://www.w3.org/2011/prov/track/issues/125">ISSUE-125</a>
</div>
@@ -938,33 +1153,37 @@
<div id="used" class="section">
<h4><span class="secno">3.2.6 </span>used</h4>
- <p>The used property links the ProcessExecution class to the Entity class, where the Entity instance is "consumed" by a ProcessExecution instance.</p>
- <p><i>Note: No arity constraints are assumed between Entity and ProcessExecution</i></p>
- <img alt="used links ProcessExecution to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/used.png" />
- <div><b>Example</b></div>
- <p> Example of used property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe2 used e2</i>. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe2">
- <prov:used rdf:resource="http://www.example.com/crimeFile#e2"/>
+ <p>The used property links the Activity class to the Entity class, where the Entity instance is "consumed" by a Activity instance.</p>
+ <p><i>Note: No arity constraints are assumed between Entity and Activity</i></p>
+ <img alt="used links Activity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/used.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of used property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe2 used e2</i>. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act2">
+ <prov:used rdf:resource="http://www.example.com/crimeFile#e2"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="hadparticipant" class="section">
<h4><span class="secno">3.2.7 </span>hadParticipant</h4>
- <p>The hadPariticipant property links Entity class to ProcessExecution class, where Entity used or wasGeneratedBy ProcessExecution.</p>
- <p><i>Note: No arity constraints are assumed between Entity and ProcessExecution</i></p>
- <img alt="hadParticipant links ProcessExecution to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/hadParticipant.png" />
- <div><b>Example</b></div>
- <p> Example of hadParticipant property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe2 hadParticipant e2</i>. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe2">
- <prov:hadParticipant rdf:resource="http://www.example.com/crimeFile#e2"/>
+ <p>The hadPariticipant property links Entity class to Activity class, where Entity used or wasGeneratedBy Activity.</p>
+ <p><i>Note: No arity constraints are assumed between Entity and Activity</i></p>
+ <img alt="hadParticipant links Activity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/hadParticipant.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadParticipant property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe2 hadParticipant e2</i>. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act2">
+ <prov:hadParticipant rdf:resource="http://www.example.com/crimeFile#e2"/>
</rdf:Description> </pre>
+ </div>
</div>
<div class="pending">Suggested definition for participation. This is <a href="http://www.w3.org/2011/prov/track/issues/49">ISSUE-49</a>.</div>
- <div class="note"> The current definition of hasParticipant does not account for involvement of an Entity in ProcessExecution where it was neither "used" or "generated". For example, a witness in a criminal activity.
+ <div class="note"> The current definition of hasParticipant does not account for involvement of an Entity in Activity where it was neither "used" or "generated". For example, a witness in a criminal activity.
</div>
</div>
@@ -982,50 +1201,56 @@
<div id="wascontrolledby" class="section">
<h4><span class="secno">3.2.9 </span>wasControlledBy</h4>
- <p>The wasControlledBy property links ProcessExecution class to Agent class, where control represents the involvement of the Agent in modifying the characteristics of the instance of the ProcessExecution class"[<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>].</p>
- <img alt="wasControlledBy links ProcessExecution to Agent" style="height: 3em" src="diagram-history/khalidDiagrams/wasControlledBy.png" />
- <div><b>Example</b></div>
- <p> Example of wasControlledBy property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>FileAppending</i> (ProcessExecution) <i>wasControlledBy Bob</i>. The RDF/XML syntax for asserting this is given below.
- </p><div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
+ <p>The wasControlledBy property links Activity class to Agent class, where control represents the involvement of the Agent in modifying the characteristics of the instance of the Activity class"[<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>].</p>
+ <img alt="wasControlledBy links Activity to Agent" style="height: 3em" src="diagram-history/khalidDiagrams/wasControlledBy.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasControlledBy property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>FileAppending</i> (Activity) <i>wasControlledBy Bob</i>. The RDF/XML syntax for asserting this is given below.
+ </p><div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act1">
<prov:wasControlledBy>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#Bob">
- <rdf:type rdf:resource="http://www.example.com/crime#Journalist"/>
- </rdf:Description>
+ <rdf:Description rdf:about="http://www.example.com/crimeFile#Bob">
+ <rdf:type rdf:resource="http://www.example.com/crime#Journalist"/>
+ </rdf:Description>
</prov:wasControlledBy>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="hadrecipe" class="section">
<h4><span class="secno">3.2.10 </span>hadRecipe</h4>
- <p>This property links the ProcessExecution class to the Recipe class, which describes the execution characteristics of the instance of the ProcessExecution class. The recipe might or might not have been followed exactly by the ProcessExecution.
+ <p>This property links the Activity class to the Recipe class, which describes the execution characteristics of the instance of the Activity class. The recipe might or might not have been followed exactly by the Activity.
</p>
- <img alt="hadRecipe links ProcessExecution to Agent" style="height: 3em" src="diagram-history/khalidDiagrams/hadRecipe.png" />
- <div><b>Example</b></div>
- <p> Example of hadRecipe property in the (extended)<a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is that pe1 (instance of ProcessExecution class) followed some file appending instructions (instructions1). The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
- <prov:hadRecipe rdf:resource="http://www.example.com/crimeFile#instructions1"/>
+ <img alt="hadRecipe links Activity to Agent" style="height: 3em" src="diagram-history/khalidDiagrams/hadRecipe.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadRecipe property in the (extended)<a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is that act1 (instance of Activity class) followed some file appending instructions (instructions1). The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act1">
+ <prov:hadRecipe rdf:resource="http://www.example.com/crimeFile#instructions1"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="wasinformedby" class="section">
<h4><span class="secno">3.2.11 </span>wasInformedBy</h4>
- <p> This object property links two instances of the ProcessExecution classes. It is used to express the information that a given process execution used an entity that was generated by another process execution.
+ <p> This object property links two instances of the Activity classes. It is used to express the information that a given process execution used an entity that was generated by another process execution.
</p>
- <img alt="wasInformedBy links ProcessExecution to ProcessExecution" style="height: 3em" src="diagram-history/khalidDiagrams/wasInformedBy.png" />
- <div><b>Example</b></div>
- <p> Example of wasInformedBy property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe4 wasInformedBy pe3</i>. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe4">
- <prov:wasInformedBy rdf:resource="http://www.example.com/crimeFile#pe3"/>
+ <img alt="wasInformedBy links Activity to Activity" style="height: 3em" src="diagram-history/khalidDiagrams/wasInformedBy.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasInformedBy property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe4 wasInformedBy act3</i>. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act4">
+ <prov:wasInformedBy rdf:resource="http://www.example.com/crimeFile#act3"/>
</rdf:Description> </pre>
+ </div>
</div>
</div>
@@ -1034,15 +1259,17 @@
<div id="wascheduledafter" class="section">
<h4><span class="secno">3.2.12 </span>wasScheduledAfter</h4>
<p>
- This property links two instances of ProcessExecution class to specify the order of their executions. Specifically, it is used to specify that a given process execution starts after the end of another process execution.
+ This property links two instances of Activity class to specify the order of their executions. Specifically, it is used to specify that a given process execution starts after the end of another process execution.
</p>
- <img alt="wasScheduledAfter links ProcessExecution to ProcessExecution" style="height: 3em" src="diagram-history/khalidDiagrams/wasScheduledAfter.png" />
- <div><b>Example</b></div>
- <p> Example of wasScheduledAfter property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe4 wasScheduledAfter pe3</i>. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe4">
- <prov:wasScheduledAfter rdf:resource="http://www.example.com/crimeFile#pe3"/>
+ <img alt="wasScheduledAfter links Activity to Activity" style="height: 3em" src="diagram-history/khalidDiagrams/wasScheduledAfter.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasScheduledAfter property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is <i>pe4 wasScheduledAfter act3</i>. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act4">
+ <prov:wasScheduledAfter rdf:resource="http://www.example.com/crimeFile#act3"/>
</rdf:Description> </pre>
+ </div>
</div>
<div class="issue"> There is proposal to either rename wasScheduledAfter or clarify its definition in PROV-DM. These are issues <a href="http://www.w3.org/2011/prov/track/issues/148">Issue-148</a>
</div>
@@ -1051,65 +1278,74 @@
<div id="hadtemporalvalue" class="section">
<h4><span class="secno">3.2.13 </span>hadTemporalValue</h4>
- <p> This object property links an instance of <code>ProcessExecution</code> or <code>Entity</code> with an <code>time:TemporalEntity</code> from [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>], thereby allowing association of time value with instances of the two classes and their subclasses.
+ <p> This object property links an instance of <code>Activity</code> or <code>Entity</code> with an <code>time:TemporalEntity</code> from [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>], thereby allowing association of time value with instances of the two classes and their subclasses.
</p>
- <img alt="hadTemporalValue links ProcessExecution or Entity to time:TemporalValue" style="height: 3em" src="diagram-history/khalidDiagrams/hadTemporalValue.png" />
- <div><b>Example</b></div>
- <p> Example of hadTemporalValue property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a> is <i>t+3</i> time value is associated with the pe3 ProcessExecution instanc. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe3">
- <prov:hasTemporalValue rdf:resource="http://www.example.com/crimeFile#t+3"/>
+ <img alt="hadTemporalValue links Activity or Entity to time:TemporalValue" style="height: 3em" src="diagram-history/khalidDiagrams/hadTemporalValue.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadTemporalValue property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a> is <i>t+3</i> time value is associated with the act3 Activity instanc. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act3">
+ <prov:hasTemporalValue rdf:resource="http://www.example.com/crimeFile#t+3"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
+
+
<div id="startedat" class="section">
<h5><span class="secno">3.2.13.1 </span>startedAt</h5>
- <p> This object property defines the time when <code>ProcessExecution</code> started. The time is specified as an <code>time:Instant</code> [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>].
+ <p> This object property defines the time when <code>Activity</code> started. The time is specified as an <code>time:Instant</code> [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>].
</p>
- <img alt="startedAt links ProcessExecution to Instant" style="height: 3em" src="diagram-history/khalidDiagrams/startedAt.png" />
- <div><b>Example</b></div>
- <p> Example of startedAt property is that a pe1 (instance of ProcessExecution class) is "2011-10-20T17:14:12Z". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
+ <img alt="startedAt links Activity to Instant" style="height: 3em" src="diagram-history/khalidDiagrams/startedAt.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of startedAt property is that a act1 (instance of Activity class) is "2011-10-20T17:14:12Z". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act1">
<prov:startedAt rdf:about="http://www.example.com/crimeFile#t1>
- <rdf:type rdf:resource=""http://www.w3.org/2006/time#Instant"/>
- <time:inXSDDateTime>2011-10-20T17:14:12Z</time:inXSDDateTime>
+ <rdf:type rdf:resource=""http://www.w3.org/2006/time#Instant"/>
+ <time:inXSDDateTime>2011-10-20T17:14:12Z</time:inXSDDateTime>
</prov:startedAt>
</rdf:Description> </pre>
- </div>
-
+ </div>
+ </div>
</div>
+
<div id="endedat" class="section">
<h5><span class="secno">3.2.13.2 </span>endedAt</h5>
- <p> This object property defines the time when a <code>ProcessExecution</code> ended. The time is specified as an <code>time:Instant</code> [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>].
+ <p> This object property defines the time when a <code>Activity</code> ended. The time is specified as an <code>time:Instant</code> [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL-TIME">OWL-TIME</a></cite>].
</p>
- <img alt="endedAt links ProcessExecution to Instant" style="height: 3em" src="diagram-history/khalidDiagrams/endedAt.png" />
- <div><b>Example</b></div>
- <p> Example of endedAt property is that a pe1 (instance of ProcessExecution class) is "2011-10-20T20:14:12Z". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
- <prov:endedAt rdf:about="http://www.example.com/crimeFile#t2>
- <rdf:type rdf:resource=""http://www.w3.org/2006/time#Instant"/>
- <time:inXSDDateTime>2011-10-20T20:14:12Z</time:inXSDDateTime>
- </prov:endedAt>
+ <img alt="endedAt links Activity to Instant" style="height: 3em" src="diagram-history/khalidDiagrams/endedAt.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of endedAt property is that a act1 (instance of Activity class) is "2011-10-20T20:14:12Z". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act1">
+ <prov:endedAt rdf:about="http://www.example.com/crimeFile#t2>
+ <rdf:type rdf:resource=""http://www.w3.org/2006/time#Instant"/>
+ <time:inXSDDateTime>2011-10-20T20:14:12Z</time:inXSDDateTime>
+ </prov:endedAt>
</rdf:Description></pre>
- </div>
-
+ </div>
+ </div>
</div>
<div id="wasGeneratedat" class="section">
<h5><span class="secno">3.2.13.3 </span>wasGeneratedAt</h5>
- <p> This object property defines the time when a <code>Entity</code> was generated by ProcessExecution.
+ <p> This object property defines the time when a <code>Entity</code> was generated by Activity.
</p>
<img alt="wasGeneratedAt links Entity to Instant" style="height: 3em" src="diagram-history/khalidDiagrams/wasGeneratedAt.png" />
- <div><b>Example</b></div>
- <p> Example of wasGeneratedAt property is that a e1 (instance of Entity class) wasGeneratedAt "2011-10-20T20:12:12Z". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
- <prov:wasGeneratedAt rdf:about="http://www.example.com/crimeFile#t3>
- <rdf:type rdf:resource=""http://www.w3.org/2006/time#Instant"/>
- <time:inXSDDateTime>2011-10-20T20:12:12Z</time:inXSDDateTime>
- </prov:startedAt>
- </rdf:Description></pre>
- </div>
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasGeneratedAt property is that a e1 (instance of Entity class) wasGeneratedAt "2011-10-20T20:12:12Z". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
+ <prov:wasGeneratedAt rdf:about="http://www.example.com/crimeFile#t3>
+ <rdf:type rdf:resource=""http://www.w3.org/2006/time#Instant"/>
+ <time:inXSDDateTime>2011-10-20T20:12:12Z</time:inXSDDateTime>
+ </prov:startedAt>
+</rdf:Description></pre>
+ </div>
+ </div>
</div>
</div>
@@ -1117,117 +1353,135 @@
<h4><span class="secno">3.2.14 </span>wasAttributedTo</h4>
<p>The wasAttributedTo property links an instance of the Entity class to an instance of Agent class.</p>
<img alt="wasAttributedTo links Entity to Agent" style="height: 3em" src="diagram-history/khalidDiagrams/wasAttributedTo.png" />
- <div><b>Example</b></div>
- <p> Example of wasAttributedTo property as an addition to the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is the attribution of e3 to David for writting editing the file (<i>e3 wasAttributedTo David</i>). The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasAttributedTo property as an addition to the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is the attribution of e3 to David for writting editing the file (<i>e3 wasAttributedTo David</i>). The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
<prov:wasAttributedTo rdf:resource="http://www.example.com/crimeFile#David"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="quotation" class="section">
<h4><span class="secno">3.2.15 </span>wasQuoteOf</h4>
<p>The wasQuoteOf property links an instance of the Entity class to an instance of the Agent class.</p>
<img alt="wasQuoteOf links Entity to Agent" style="height: 3em" src="diagram-history/khalidDiagrams/wasQuoteOf.png" />
- <div><b>Example</b></div>
- <p> Example of wasQuoteOf property as an addition to the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is e2 quoting Alice, recorded by Bob (<i> e2 wasQuoteOf Alice</i>). The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasQuoteOf property as an addition to the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is e2 quoting Alice, recorded by Bob (<i> e2 wasQuoteOf Alice</i>). The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
<prov:wasQuoteOf rdf:resource="http://www.example.com/crimeFile#Alice"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="summary" class="section">
<h4><span class="secno">3.2.16 </span>wasSummaryOf</h4>
<p>The wasSummaryOf property links two instances of the Entity class.</p>
<img alt="wasSummaryOf links Entity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/wasSummaryOf.png" />
- <div><b>Example</b></div>
- <p> Example of wasSummaryOf property as an addition to the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is e3 summarizing some additional statistics(<i> e3 wasSummaryOf statistics</i>). The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of wasSummaryOf property as an addition to the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> is e3 summarizing some additional statistics(<i> e3 wasSummaryOf statistics</i>). The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e3">
<prov:wasSummaryOf rdf:resource="http://www.example.com/crimeFile#statistics"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="originalsource" class="section">
<h4><span class="secno">3.2.17 </span>hadOriginalSource</h4>
<p>The hadOriginalSource property links two instances of the Entity class. This property is defined to be a specialization of the wasEventuallyDerivedFrom propery.</p>
<img alt="hadOriginalSource links Entity to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/hadOriginalSource.png" />
- <div><b>Example</b></div>
- <p> Example of hadOriginalSource property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> e6 hadOriginalSource e1</i>. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e6">
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadOriginalSource property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> e6 hadOriginalSource e1</i>. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e6">
<prov:hadOriginalSource rdf:resource="http://www.example.com/crimeFile#e1"/>
</rdf:Description> </pre>
- </div>
- </div>
+ </div>
+ <div>
+ </div></div></div>
<div id="hadqualifiedusage" class="section">
<h4><span class="secno">3.2.18 </span>hadQualifiedUsage</h4>
- <p>The hadQualifiedUsage property links the ProcessExecution class with the Usage class.</p>
- <img alt="hadQualifiedUsage links ProcessExecution to Usage" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedUsage.png" />
- <div><b>Example</b></div>
- <p> Example of hadQualifiedUsage property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> pe1 hadQualifiedUsage u1</i>, where the hadRole describes the usage of e1 as a "load". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
+ <p>The hadQualifiedUsage property links the Activity class with the Usage class.</p>
+ <img alt="hadQualifiedUsage links Activity to Usage" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedUsage.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadQualifiedUsage property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> act1 hadQualifiedUsage u1</i>, where the hadRole describes the usage of e1 as a "load". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act1">
<prov:hadQualifiedUsage rdf:resource="http://www.example.com/Usage#u1"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="hadqualifiedparticipation" class="section">
<h4><span class="secno">3.2.19 </span>hadQualifiedParticipation</h4>
- <p>The hadQualifiedParticipation property links the ProcessExecution class with the Participation class.</p>
- <img alt="hadQualifiedParticipation links ProcessExecution to Participation" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedParticipation.png" />
- <div><b>Example</b></div>
- <p> Example of hadQualifiedParticipation property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> pe1 hadQualifiedParticipation p1</i>, where the hadRole describes the participation of Alice as an "author" in pe1. The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
+ <p>The hadQualifiedParticipation property links the Activity class with the Participation class.</p>
+ <img alt="hadQualifiedParticipation links Activity to Participation" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedParticipation.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadQualifiedParticipation property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> act1 hadQualifiedParticipation p1</i>, where the hadRole describes the participation of Alice as an "author" in act1. The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act1">
<prov:hadQualifiedParticipation rdf:resource="http://www.example.com/crimeFile#p1"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="hadqualifiedcontrol" class="section">
<h4><span class="secno">3.2.20 </span>hadQualifiedControl</h4>
- <p>The hadQualifiedControl property links the ProcessExecution class with the Control class.</p>
- <img alt="hadQualifiedControl links ProcessExecution to Control" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedControl.png" />
- <div><b>Example</b></div>
- <p> Example of hadQualifiedControl property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> pe0 hadQualifiedControl c1</i>, where the hadRole describes the control of pe0 by Alice as "creator". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#pe0">
+ <p>The hadQualifiedControl property links the Activity class with the Control class.</p>
+ <img alt="hadQualifiedControl links Activity to Control" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedControl.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadQualifiedControl property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> act0 hadQualifiedControl c1</i>, where the hadRole describes the control of act0 by Alice as "creator". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#act0">
<prov:hadQualifiedControl rdf:resource="http://www.example.com/crimeFile#c1"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="hadqualifiedgeneration" class="section">
<h4><span class="secno">3.2.21 </span>hadQualifiedGeneration</h4>
- <p>The hadQualifiedGeneration property links the ProcessExecution class with the Generation class.</p>
- <img alt="hadQualifiedGeneration links ProcessExecution to Generation" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedGeneration.png" />
- <div><b>Example</b></div>
- <p> Example of hadQualifiedGeneration property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> e1 hadQualifiedGeneration g1</i>, where the hadRole describes the generation of e1 by "save". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
+ <p>The hadQualifiedGeneration property links the Activity class with the Generation class.</p>
+ <img alt="hadQualifiedGeneration links Activity to Generation" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedGeneration.png" />
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadQualifiedGeneration property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> e1 hadQualifiedGeneration g1</i>, where the hadRole describes the generation of e1 by "save". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#e1">
<prov:hadQualifiedGeneration rdf:resource="http://www.example.com/crimeFile#u1"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
<div id="hadqualifiedentity" class="section">
<h4><span class="secno">3.2.22 </span>hadQualifiedEntity</h4>
<p>The hadQualifiedEntity property links the QualifiedInvolvement class with the Entity class.</p>
<img alt="hadQualifiedInvolvement links QualifiedInvolvement to Entity" style="height: 3em" src="diagram-history/khalidDiagrams/hadQualifiedEntity.png" />
- <div><b>Example</b></div>
- <p> Example of hadQualifiedEntity property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> u2 hadQualifiedEntity e2</i>, where the hadRole describes the usage of e2 as an "attachment". The RDF/XML syntax for asserting this is given below.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#u2">
+ <div class="anexample">
+ <div><b>Example</b></div>
+ <p> Example of hadQualifiedEntity property from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario"> provenance scenario </a> <i> u2 hadQualifiedEntity e2</i>, where the hadRole describes the usage of e2 as an "attachment". The RDF/XML syntax for asserting this is given below.</p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#u2">
<prov:hadQualifiedEntity rdf:resource="http://www.example.com/crimeFile#e2"/>
</rdf:Description> </pre>
- </div>
+ </div>
+ </div>
</div>
</div>
@@ -1319,7 +1573,7 @@
</td><td style="border-style: solid; border-width: 0 1px 1px 0">No
</td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
</td></tr></tbody></table>
- <div class="note">Some of the properties may be subject to discussion. In particular, regarding the object properties <i>wasControlledBy</i>, <i>wasGeneratedBy</i> and <i>used</i>, we did not specify whether they are transitive or not. One may argue that given that an agent can be a process execution, a process execution, e.g., <i>pe1</i>, can be controlled by an agent <i>pe2</i>, which happens to be a process execution that is controlled by an agent <i>ag</i>, and that, therefore, <i>ag</i> (indirectly) controls <i>pe1</i>. The same argument can be applied to <i>wasGeneratedBy</i> and <i>used</i>. That said, we are not convinced that these properties should be declared as transitive. In fact, we are more inclined towards specifying that they are not.</div>
+ <div class="note">Some of the properties may be subject to discussion. In particular, regarding the object properties <i>wasControlledBy</i>, <i>wasGeneratedBy</i> and <i>used</i>, we did not specify whether they are transitive or not. One may argue that given that an agent can be a process execution, a process execution, e.g., <i>pe1</i>, can be controlled by an agent <i>pe2</i>, which happens to be a process execution that is controlled by an agent <i>ag</i>, and that, therefore, <i>ag</i> (indirectly) controls <i>pe1</i>. The same argument can be applied to <i>wasGeneratedBy</i> and <i>used</i>. That said, we are not convinced that these properties should be declared as transitive. In fact, we are more inclined towards specifying that they are not.</div>
</div>
<div id="annotation-properties" class="section">
@@ -1353,631 +1607,32 @@
<a href="https://dvcs.w3.org/hg/prov/raw-file/34a479f3f5d0/ontology/diagram-history/2011-10-03-tlebo/ProvenanceOntology.owl.pdf"><img src="https://dvcs.w3.org/hg/prov/raw-file/34a479f3f5d0/ontology/diagram-history/2011-10-03-tlebo/ProvenanceOntology.owl.png" alt="Object properties among all classes in the PROV ontology"/></a>
-->
+ </div>
+
+ <div id="overview-of-qualified-involvement" class="section">
+ <h3><span class="secno">3.6 </span>Overview of Qualified Involvement</h3>
+ <p>The <a href="#qualifiedinvolvement">QualifiedInvolvement</a> class describes qualifying information on the PROV-O properties, namely <a href="#used">used</a>, <a href="#wasgeneratedby">wasGeneratedBy</a>, <a href="#wascontrolledby">wasControlledBy</a>, and <a href="#hadparticipant">hadParticipant</a>. The following figure illustrates the representation of qualifying information using these PROV-O classes and properties.</p>
+ <img alt="Classes and properties of qualified involvement in the PROV ontology" style="min-width: 45em; width: 55em; max-width: 95%" src="diagram-history/qualified-involvements/QualifiedInvolvementDiagram.png" />
</div>
+
</div>
- <div id="specializing-provenance-ontology-for-domain-specific-provenance-applications" class="section">
+ <div id="specializing-provenance-ontology-for-domain-specific-provenance-applications" class="informative section">
<!-- OddPage -->
-<h2><span class="secno">4. </span>Specializing Provenance Ontology for Domain-specific Provenance Applications</h2>
- <p>The PROV Ontology is conceived as a reference ontology that can be extended by various domain-specific applications to model the required set of provenance terms. The PROv Ontology classes and properties can be specialized using the following two RDFS properties:</p>
+<h2><span class="secno">4. </span>Specializing the PROV Ontology for Domain-specific Provenance Applications</h2><p><em>This section is non-normative.</em></p>
+ <p>The PROV Ontology does not include all the provenance terms that are required by different application to model provenance information. For example, the classes and properties to model provenance information in the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a>, such as "Journalist" or "FileEditing", are not part of the PROV ontology. This is a deliberate design choice for PROV ontology, since modeling provenance terms for a variety of domain applications in a single ontology is impractical. Hence, the PROV Ontology is conceived as an ontology that can be extended by various domain-specific applications to model the required set of provenance terms. The PROV Ontology classes and properties can be specialized using the following two RDFS properties:</p>
<ul>
- <li>rdfs:subClassOf: The property rdfs:subClassOf is an instance of rdf:Property that is used to state that all the instances of one class are instances of another [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>]</li>
- <li>rdfs:subPropertyOf: "A rdfs:subPropertyOf axiom defines that the property is a subproperty of some other property" [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>]</li>
+ <li><i>rdfs:subClassOf</i>: The property rdfs:subClassOf is an instance of rdf:Property that is used to state that all the instances of one class are instances of another [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>]</li>
+ <li><i>rdfs:subPropertyOf</i>: "A rdfs:subPropertyOf axiom defines that the property is a subproperty of some other property" [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>]</li>
</ul>
- <p>To illustrate the specialization mechanism, the PROV Ontology is extended to create an ontology schema for the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a> describing the creation of the crime statistics file. </p>
-
-
-
- <div id="moeling-the-crime-file-scenario" class="section">
- <h3><span class="secno">4.1 </span>Modeling the Crime File Scenario</h3>
- <p>The example scenario can be encoded as a <a href="http://www.w3.org/TR/rdf-primer/"> Resource Description Framework (RDF)</a>. For example,</p>
- <ul>
- <li>specialization of <a href="#agent">Agent</a> to define a class called Journalist, which has individuals such as alice, bob, and edith </li>
- <li><a href="#processexecution">ProcessExecution</a>, e.g. FileCreation, FileAppending, and FileEditing </li>
- <li>specialization of <a href="#entity">Entity</a> to define a class called CrimeFile, which has individuals such as e1, e2, and e3 </li>
- </ul>
- <p>Example given below describes the provenance of <a href="#entity">Entity</a> e2 using RDF/XML syntax</p>
- <div class="exampleOuter">
- <pre class="example"><?xml version="1.0"?>
-<rdf:RDF
- xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
- xmlns:prov="http://www.w3.org/ns/prov-o/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cf="http://www.example.com/crime#">
-
- <rdf:Description rdf:about="http://www.example.com/crimeFile#e2">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
- <rdf:type rdf:resource="http://www.example.com/crime#CrimeFile"/>
- <prov:wasGeneratedBy>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#pe1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/ProcessExecution"/>
- <rdf:type rdf:resource="http://www.example.com/crime#FileAppending"/>
- <prov:wasControlledBy>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#Bob">
- <rdf:type rdf:resource="http://www.example.com/crime#Journalist"/>
- </rdf:Description>
- </prov:wasControlledBy>
- <prov:startedAt>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#t1">
- <rdf:type rdf:resource="http://www.w3.org/2006/time#Instant"/>
- <time:inXSDDateTime>2011-10-20T16:26:45Z</time:inXSDDateTime>
- </rdf:Description>
- </prov:startedAt>
- <prov:endedAt>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#t3">
- <rdf:type rdf:resource="http://www.w3.org/2006/time#Instant"/>
- <time:inXSDDateTime>2011-11-21T18:36:52Z</time:inXSDDateTime>
- </rdf:Description>
- </prov:endedAt>
- </rdf:Description>
- </prov:wasGeneratedBy>
- <prov:wasGeneratedAt>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#t2">
- <rdf:type rdf:resource="http://www.w3.org/2006/time#Instant"/>
- <time:inXSDDateTime>2011-10-20T17:14:12Z</time:inXSDDateTime>
- </rdf:Description>
- </prov:wasGeneratedAt>
- <prov:wasDerivedFrom rdf:resource="http://www.example.com/crimeFile#e1"/>
- <cf:hasLocation>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#sharedDirectoryLocation1">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Location"/>
- <cf:hasFilePath rdf:datatype="http://www.w3.org/2001/XMLSchema#string">/share/crime.txt</cf:hasFilePath>
- </rdf:Description>
- </cf:hasLocation>
- <cf:hasFileContent rdf:datatype="http://www.w3.org/2001/XMLSchema#string">There
- was a lot of crime in London last month.</cf:hasFileContent>
- </rdf:Description>
- <rdf:Description rdf:about="http://www.example.com/crimeFile#pe2">
- <rdf:type rdf:resource="http://www.w3.org/ns/prov-o/ProcessExecution"/>
- <prov:used rdf:resource="http://www.example.com/crimeFile#e2"/>
- </rdf:Description>
- </rdf:RDF></pre>
- </div>
- <div id="specialization-of-prov-ontology-classes" class="section">
- <h4><span class="secno">4.1.1 </span>Specialization of PROV Ontology Classes</h4>
- <p> The following new classes were created in the CrimeFile Ontology by extending the PROV ontology classes:</p>
- <div id="cf-journalist" class="section">
- <h5><span class="secno">4.1.1.1 </span>cf:Journalist</h5>
- <p>The cf:Journalist is a specialization of the PROV ontology <a href="#agent">Agent</a> class and models all individuals that participate in creating, editing, and sharing the crime file.The following RDF/XML code illustrates how cf:Journalist is asserted to be a specialization of <a href="#agent">prov:Agent.</a></p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crime#Journalist">
- <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov-o/Agent"/>
-</rdf:Description></pre>
- </div>
- </div>
- <div id="cf-crimefile" class="section">
- <h5><span class="secno">4.1.1.2 </span>cf:CrimeFile</h5>
- <p> The cf:CrimeFile is a specialization of the PROV ontology <a href="#entity">Entity</a> class and it models the the file describing the crime statistics in the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a>, including the multiple versions of the file. The following RDF/XML code illustrates how cf:Journalist is asserted to be a specialization of <a href="#entity">prov:Entity</a>.
- </p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crime#CrimeFile">
- <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
-</rdf:Description></pre>
- </div>
- </div>
- <div id="cf-filecreation" class="section">
- <h5><span class="secno">4.1.1.3 </span>cf:FileCreation, cf:FileEditing, cf:FileAppending, cf:Emailing, cf:SpellChecking</h5>
- <p>The classes cf:FileCreation, cf:FileEditing,
- cf:FileAppending, cf:Emailing, cf:SpellChecking are
- specialization of the PROV ontology <a href="#processexecution">ProcessExecution</a> and model the
- different activities in the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance
- scenario</a>. The following RDF/XML code illustrates the
- specialization of the <a href="#processexecution">prov:ProcessExecution</a> to define class cf:FileCreation (other classes can be similarly defined by using the subClassOf property).</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crime#FileCreation">
- <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov-o/ProcessExecution"/>
-</rdf:Description></pre>
- </div>
- <p>The following diagram illustrates the above class specializations: </p>
-
-<!--
- <img src="http://www.w3.org/2011/prov/wiki/images/5/5d/AlternativeSchema.png" alt="New classes (cf:SpellChecking, cf:FileEditing, cf:FileCreation, cf:FileAppending, cf:Emailing, cf:Journalist) extend the classes in the PROV Ontology (Entity, Agent, ProcessExecution)."/>
- <a href="https://dvcs.w3.org/hg/prov/raw-file/631b9ae346a0/ontology/examples/ontology-extensions/crime-file/diagrams/2011-10-04-tlebo/crime.owl.classes.pdf"><img src="https://dvcs.w3.org/hg/prov/raw-file/631b9ae346a0/ontology/examples/ontology-extensions/crime-file/diagrams/2011-10-04-tlebo/crime.owl.classes.png" alt="New classes (cf:SpellChecking, cf:FileEditing, cf:FileCreation, cf:FileAppending, cf:Emailing, cf:Journalist) extend the classes in the PROV Ontology (Entity, Agent, ProcessExecution)."/></a>
- <img src="examples/ontology-extensions/crime-file/diagrams/2011-10-13-ssoiland/crime.owl.png "
- style="min-width: 45em; width: 55em; max-width: 95%"
- alt="New classes (:SpellChecking, :FileEditing, :FileCreation, :FileAppending, :Emailing, :Journalist) extend the classes in the PROV Ontology (prov:Entity, prov:Agent, prov:ProcessExecution). "/>
- -->
-
- <img alt="New classes (:SpellChecking, :FileEditing, :FileCreation, :FileAppending, :Emailing, :Journalist) extend the classes in the PROV Ontology (prov:Entity, prov:Agent, prov:ProcessExecution). " style="min-width: 35em; width: 45em; max-width: 95%" src="examples/ontology-extensions/crime-file/diagrams/2011-10-13-ssoiland/crime.owl.classes.png " />
- <br />
- <em>Example extension of PROV ontology in order to describe the crime file scenario</em>
- </div>
- </div>
- <div id="specialization-of-prov-ontology-properties" class="section">
- <h4><span class="secno">4.1.2 </span>Specialization of PROV Ontology Properties</h4>
- <p> The following new object property was created in the CrimeFile Ontology by extending the PROV ontology object property:</p>
- <div id="cf-hadfilepath" class="section">
- <h5><span class="secno">4.1.2.1 </span>cf:hadFilePath</h5>
- <p>The property cf:hadFilePath is a specialization of the PROV ontology hadLocation object property and links the class CrimeFile to the FileDirectory class. The following RDF/XML code illustrates the use of rdfs:subPropertyOf to create hadFilePath property.</p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crime#hadFilePath">
- <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov-o/hadLocation"/>
-</rdf:Description></pre>
- </div>
- </div>
- <p>The following diagram illustrates the above property specialization: </p>
-
-<!--
- <a href="https://dvcs.w3.org/hg/prov/raw-file/631b9ae346a0/ontology/examples/ontology-extensions/crime-file/diagrams/2011-10-04-tlebo/crime.owl.properties.pdf">
- <img src="https://dvcs.w3.org/hg/prov/raw-file/631b9ae346a0/ontology/examples/ontology-extensions/crime-file/diagrams/2011-10-04-tlebo/crime.owl.properties.png"
- alt="ext:FileCreation, ext:FileAppending, ext:FileEditing, ext:Emailing, extSpellChecking extend prov:ProcessExecution; ext:Journalist extends prov:Agent; ext:CrimeFile extends prov:Entity; ext:hadFilePath extends prov:hadLocation and has range prov:Location."/>
- </a>
- -->
-
- <img alt="ext:FileCreation, ext:FileAppending, ext:FileEditing, ext:Emailing, extSpellChecking extend prov:ProcessExecution; ext:Journalist extends prov:Agent; ext:CrimeFile extends prov:Entity; ext:hadFilePath extends prov:hadLocation and has range prov:Location." style="min-width: 30em; width: 40em; max-width: 95%" src="examples/ontology-extensions/crime-file/diagrams/2011-10-13-ssoiland/crime.owl.properties.png " />
- <br />
- <em>Example extension of PROV ontology in order to describe the crime file scenario</em>
- </div>
- </div>
- <div id="modeling-an-example-scientific-workflow-scenario" class="section">
- <h3><span class="secno">4.2 </span>Modeling an Example Scientific Workflow Scenario</h3>
- <p>This section describes an example of extending the PROV
- ontology to create a provenance ontology for scientific
- workflows.</p>
-
- <p>Scientific workflow systems allow the specification of a
- pipeline of processes which are linked from outputs to inputs.
- Such workflow definitions are typically created in a graphical
- user interface or interactive web application, and can then be
- <em>enacted</em> using particular inputs or parameters.
- Scientists in fields like bioinformatics, chemistry and
- physics use such workflows to perform repeated analysis by
- 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
- executions, such as its inputs and outputs, start and stop
- time, and should ultimately be able to describe the complete
- data lineage through the workflow for any returned output data.
- </p>
- <p>
- This example is not attempting to be a complete or general
- ontology for asserting workflow provenance, but highlights how
- a particular application like a workflow system can express its
- 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. 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. 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>
- <p>
- In order to describe workflow executions following the
- model above, the PROV ontology is extended with
- workflow-specific subclasses described below:
- </p>
- <dl>
- <dt>wf:Process</dt>
- <dd>
- A subclass of <i>prov:ProcessExecution</i> to
- signify an execution of a process which
- <i>wf:wasDefinedBy</i> a
- a <i>wf:ProcessDefinition</i>, e.g. a workflow or a
- process in a workflow. A workflow process can also
- act as an <i>prov:Agent</i> when controlling nested
- process executions.
- </dd>
- <dt>wf:WorkflowEngine</dt>
- <dd>
- A subclass of <i>prov:Agent</i> to indicate that a
- workflow process was controlled by a workflow
- engine.
- </dd>
- <dt>wf:Value</dt>
- <dd>
- A subclass of <i>prov:Entity</i>, representing a
- 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 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: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>,
- at which point the file content might have changed,
- those values are declared as being derived from
- 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">
- <h4><span class="secno">4.2.2 </span>Workflow extensions to PROV properties</h4>
- <p>
- While for most cases subclassing will provide the
- additional expressionality the application needs, this
- example ontology also expands on the PROV ontology
- with more specific subproperties.
- </p>
- <dl>
- <dt>wf:wasDefinedBy</dt>
- <dd>
- This sub-property of <i>prov:hadRecipe</i>
- links a
- <i>wf:Process</i> to the defining
- <i>wf:ProcessDefinition</i>. Thus, if there are
- multiple executions of the same workflow definition,
- each of the separate <i>wf:Process</i>es will link to
- the same definition.
- </dd>
- <dt>wf:ranInWorkflowEngine</dt>
- <dd>
- This subproperty of <i>prov:wasControlledBy</i> links a
- <i>wf:Process</i> to the <i>wf:WorkflowEngine</i> it
- was executed in. The engine instance might contain
- additional details such as which version of the
- workflow system was used.
- </dd>
- <dt>wf:wasLaunchedBy</dt>
- <dd>
- This second subproperty of <i>prov:wasControlledBy</i> links a
- <i>wf:Process</i> to a <i>prov:Agent</i>, indicating
- which person asked to execute the given
- wf:ProcessDefinition in the specified
- <i>wf:WorkflowEngine</i>.
- </dd>
- <dt>wf:wasSubProcessExecutionOf</dt>
- <dd>
- This subproperty of <i>prov:wasControlledBy</i> links a
- <i>wf:Process</i> to another <i>prov:Process</i>, indicating
- this is a child execution
- <div class="issue">Should there be a general way to state subprocesses? -Stian</div>
- </dd>
- <dt>wf:wasReadFrom</dt>
- <dd>
- <p>
- This subproperty of <i>prov:wasDerivedFrom</i> links a
- <i>wf:Value</i> to the <i>wf:FileValue</i> it was read
- from, typically when used as a workflow input.
- As described for <i>wf:FileValue</i> this distinction
- is done because at the time the workflow input is used
- in the workflow, the file input might be different and
- thus should not be described as an attribute of that
- <i>wf:Value</i>.
- </p>
- <p>
- This property hints of an undescribed "Read file"
- process execution which is not described. This is
- therefore an example of how the provenance asserter
- is limiting the scope of its provenance. The engine
- knows that the file was read, but is not able or
- willing to provide any deeper assertions, because its
- primary scope is at the level of executing workflow
- definitions.
- </p>
- </dd>
- <dt>wf:sawValue</dt>
- <dd>
- 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>.
- </dd>
-
- <dt>wf:seenAtPort</dt>
- <dd>
- 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.
- </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>
-
-<!--
- <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
- meant as a general workflow definition language, but allows
- us to describe <i>process executions</i>, <i>use</i> and
- <i>generation</i> with relation to particular sections of
- the workflow definition.
- </p>
- <dl>
- <dt>wf:ProcessDefinition</dt>
- <dd>A definition of how to execute a process. It will
- typically refer to a command or service which will be
- called. Each process definition also
- <i>wf:definesInput</i>s and <i>wf:definesOutput</i>s.
- </dd>
- <dt>wf:Port</dt>
- <dd>
- A port can be considered as a parameter or return value
- for a process. These are typically given names which are
- unique within a process definition. A value is either
- provided to an input port before execution, or produced
- from an output port after execution.
- </dd>
- <dt>wf:linksTo</dt>
- <dd>
- Ports are connected using links. A link from an output
- port to an input port means that the value received on
- that output will be forwarded to the input of the next
- process. Note that in this simplified ontology links can
- also go from Input to Input and Output to Output, these
- are used to connect workflow ports to processor ports.
- </dd>
- <dt>wf:Input</dt>
- <dd>
- An input port for a process will receive a value which
- will be <i>used</i> by the execution. In a dataflow driven
- workflow model, a process will execute as soon as all its
- defined input ports have been provided with values.
- </dd>
- <dt>wf:Output</dt>
- <dd>
- A process execution might return multiple outputs, for
- instance a table and a diagram. Each of these are declared
- as an output port for that process definition.
- </dd>
- <dt>wf:definesSubProcess</dt>
- <dd>
- <p>
- Scientific workflows can be composed of nested workflows
- which can be shared and reused as components. Some
- workflow systems also allow various execution settings
- on the nested workflow, like looping or parallelisation.
- </p>
- <p>
- In this case a process definition will use
- <i>wf:definesSubProcess</i> to indicate its consistent
- parts, and there will be additional <i>wf:linksTo</i> from
- the input ports of this process definition to the input
- ports of some of its nested sub processes, and vice versa
- for the outputs. The top-level workflow is always such a
- process definition.
- </p>
- </dd>
- </dl>
- </section>
- -->
-
- <div id="example-workflow" class="section">
- <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>,
- <i>Concatenate_two_strings</i> and <i>sha1</i>, and finally
- two workflow outputs <i>combined</i> and <i>sha1</i>. When
- executed, it will execute from top to bottom, first
- concatenating the provided input with the string constant,
- which is returned on the <i>combined</i> output, but also
- provided to the <i>sha1</i> process, which output is given
- to the other workflow port.
- </p>
- <p>
- 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>
- <div id="example-workflow-run" class="section">
- <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="http://www.example.com/scientific-workflow#"
- xmlns:foaf="http://xmlns.com/foaf/0.1/"
- xmlns:prov="http://www.w3.org/ns/prov-o/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:time="http://www.w3.org/2006/time#"
- xmlns:wf="http://www.example.com/scientific-workflow#">
-
- <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 rdf:parseType="Resource">
- <time:inDateTimeXSD>2011-10-21T09:23:32Z</time:inDateTimeXSD>
- </prov:endedAt>
- <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>
-
- <Process rdf:about="#constant">
- <wasDefinedBy rdf:resource="http://www.example.com/workflow1#String_Constant"/>
- <wasSubProcessExecutionOf rdf:resource="#workflowRun"/>
- <prov:startedAt>
- <time:Instant rdf:about="#t0">
- <time:inDateTimeXSD>2011-10-21T09:20:15Z</time:inDateTimeXSD>
- </time:Instant>
- </prov:startedAt>
-
- <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>
-
- <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>
- and
- <a href="examples/ontology-extensions/workflow/workflow.ttl">Turtle</a>
- </em>
- </div>
- <p> Note that for brevity, the example above does not show the inferred classes
- and properties from the PROV ontology. For interoperability, applications
- should also expressed such inferred statements in its
- serialisations, so that the provenance can be read without using
- OWL2 inferencing and the customized ontologies.
- See the <a href="examples/ontology-extensions/workflow/workflow-inferred.rdf">workflow-inferred.rdf</a>
- for the complete example showing both domain-specific and PROV ontology terms
- used side by side.
- </p>
- </div>
- </div>
+ <p>A new provenance ontology can be created to model the classes and properties required by an application to represent its domain-specific provenance terms. The new provenance ontology, for the given application, is also expected to include all the PROV Ontology classes and properties, which will facilitate provenance exchange through a common set of terms.</p>
+ <p>The following are a few example classes from the <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018/#a-file-scenario">provenance scenario</a> that are created by specializing PROV Ontology classes:
+ </p><ul>
+ <li>The <a href="#agent">Agent</a> class can be specialized to define a class called Journalist, which has individuals such as alice, bob, and edith </li>
+ <li>Similarly, the <a href="#activity">Activity</a> class can be specialized to define classes called FileCreation, FileAppending, and FileEditing </li>
+ </ul>
+ The [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-BestPractices">PROV-BestPractices</a></cite>] document describes in detail the approach used to model provenance information in two domain-specific examples by specializing the PROV Ontology.<p></p>
</div>
<div id="formal-semantics-of-the-prov-ontology" class="section">
@@ -2004,13 +1659,15 @@
<p>Similar to Rule 1, if a PROV ontology class Y is defined to be <i>range</i> of a PROV object property, then an individual asserted as "object" of that property in a RDF triple is an instance of the class Y. (from rdf3 Rule defined in RDF Semantics)
</p>
<h4 id="rule-3">Rule 3</h4>
- <p>Both the <code>rdfs:subClassOf</code> and <code>rdfs:subPropertyOf</code> are transitive properties, hence provenance assertions, in form of RDF triples, using a specialized sub class or sub property can be inferred to be true for their parent class or parent property. For example, in the provenance scenario, though alice and bob are asserted to be individuals of the class Journalist, we can infer that they are also individuals of the PROV ontology class Agent and Entity. Given,
- </p>
- <div class="exampleOuter">
- <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#Alice">
- <rdf:type rdf:resource="http://www.example.com/crime#Journalist"/>
+ <p>Both the <code>rdfs:subClassOf</code> and <code>rdfs:subPropertyOf</code> are transitive properties, hence provenance assertions, in form of RDF triples, using a specialized sub class or sub property can be inferred to be true for their parent class or parent property. For example, in the provenance scenario, though alice and bob are asserted to be individuals of the class Journalist, we can infer that they are also individuals of the PROV ontology class Agent and Entity.
+ </p><div class="anexample">Given,
+ <p></p>
+ <div class="exampleOuter">
+ <pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#Alice">
+ <rdf:type rdf:resource="http://www.example.com/crime#Journalist"/>
</rdf:Description></pre>
- </div>
+ </div>
+
<p>and</p>
<div class="exampleOuter">
<pre class="example"><rdf:Description rdf:about="http://www.example.com/crime#Journalist">
@@ -2031,7 +1688,8 @@
<pre class="example"><rdf:Description rdf:about="http://www.example.com/crimeFile#Alice">
<rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Entity"/>
</rdf:Description></pre>
- </div>
+ </div>
+ </div>
</div>
@@ -2043,109 +1701,117 @@
</div>
<div id="entailments-supported-by-the-provenance-model" class="section">
<h3><span class="secno">5.3 </span>Provenance-specific Entailments Supported by PROV Ontology</h3>
- <p>The PROV-DM [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] introduces a set of specific constraints applicable to PROV ontology. The following is a list of constraints that will be supported by the PROV ontology and any provenance application that uses the PROV ontology.</p>
- <div id="provenance-constraint-on-processexecution" class="section">
- <h4><span class="secno">5.3.1 </span>Provenance constraint on ProcessExecution</h4>
- <p>The PROV-DM describes a constraint on ordering of time (or event) associated with a <a href="#processexecution">ProcessExecution.</a> </p>
- <div class="issue">"From a process execution expression, one can infer that the start event precedes the end event of the represented activity." This is <a href="http://www.w3.org/2011/prov/track/issues/121">ISSUE-121</a></div>
- </div>
- <div id="provenance-constraint-on-wasgeneratedby-generation-affects-attributes" class="section">
- <h4><span class="secno">5.3.2 </span>Provenance constraint on wasGeneratedBy (generation-affects-attributes)</h4>
- <p>The PROV-DM describes a constraint on wasGeneratedBy that associates the values of attributes of an Entity with the ProcessExecution that generated the Entity.</p>
- <div class="issue">"Given a process execution pe, entity e, role r, and optional time t, if the assertion wasGeneratedBy(e,pe,r) or wasGeneratedBy(e,pe,r,t) holds, the values of some of e's attributes are determined by the activity denoted by pe and the entities used by pe. Only some (possibly none) of the attributes values may be determined since, in an open world, not all used entities may have been asserted." This is <a href="http://www.w3.org/2011/prov/track/issues/122">ISSUE-122 </a> and <a href="http://www.w3.org/2011/prov/track/issues/105">ISSUE-105</a></div>
- </div>
- <div id="provenance-constraint-on-wasgeneratedby-generation-pe-ordering" class="section">
- <h4><span class="secno">5.3.3 </span>Provenance constraint on wasGeneratedBy (generation-pe-ordering)</h4>
- <p>The second constraint on wasGeneratedBy associates an ordering of events associated with the generation of an Entity instance and the start, end time or event of the PE instance.</p>
- <div class="note"> Without an explicit association of <a href="#time">TemporalEntity</a> with the <a href="#entity">Entity</a> instance and <a href="#processexecution">PE</a> instance, it is not possible to state or enforce this constraint in the PROV ontology schema and the corresponding RDF dataset.
- </div>
- </div>
- <div id="provenance-constraint-on-wasgeneratedby-generation-unicity" class="section">
- <h4><span class="secno">5.3.4 </span>Provenance constraint on wasGeneratedBy (generation-unicity)</h4>
- <p>The PROV-DM describes a constraint on wasGeneratedBy that asserts that given an account, only one PE instance can be associated to an Entity instance by the property wasGeneratedBy.</p>
- <div class="issue">"Given an entity expression denoted by e, two process execution expressions denoted by pe1 and pe2, and two qualifiers q1 and q2, if the expressions wasGeneratedBy(e,pe1,q1) and wasGeneratedBy(e,pe2,q2) exist in the scope of a given account, then pe1=pe2 and q1=q2." This is <a href="http://www.w3.org/2011/prov/track/issues/105">ISSUE-105</a></div>
- </div>
- <div id="provenance-constraint-on-used-use-attributes" class="section">
- <h4><span class="secno">5.3.5 </span>Provenance constraint on Used (use-attributes)</h4>
- <p>A constraint is defined for the Used relation in PROV-DM, that makes it necessary for an attribute-value to be true for an Entity instance linked to a ProcessExecution instance by relation Used.
- </p>
- <div class="issue">"Given a process execution expression identified by pe, an entity expression identified by e, a qualifier q, and optional time t, if assertion used(pe,e,q) or used(pe,e,q,t) holds, then the existence of an attribute-value pair in the entity expression identified by e is a pre-condition for the termination of the activity represented by the process execution expression identified by pe." This is <a href="http://www.w3.org/2011/prov/track/issues/124">ISSUE-124</a></div>
- </div>
- <div id="provenance-constraint-on-used-pe-ordering" class="section">
- <h4><span class="secno">5.3.6 </span>Provenance constraint on Used (use-pe-ordering)</h4>
- <p>The PROV-DM describes a constraint for Used relation, which makes it necessary for an Entity instance e (linked to a ProcessExecution instance pe by Used relation) to be "used" before pe terminates and also the "generation" of e precedes "use" of e.
- </p>
- <div class="issue">"Given a process execution expression identified by pe, an entity expression identified by e, a qualifier q, and optional time t, if assertion used(pe,e,q) or used(pe,e,q,t) holds, then the use of the thing represented by entity expression identified by e precedes the end time contained in the process execution expression identified by pe and follows its beginning. Furthermore, the generation of the thing denoted by entity expression identified by e always precedes its use." This is <a href="http://www.w3.org/2011/prov/track/issues/124">ISSUE-124</a></div>
- </div>
- <div id="provenance-constraint-on-derivation-attributes" class="section">
- <h4><span class="secno">5.3.7 </span>Provenance constraint on wasDerivedFrom (derivation-attributes)</h4>
- <p>The PROV-DM describes a constraint for asserting wasDerivedFrom property between two Entity instances if some attributes of an Entity instance are partially or fully determined by attributes values of the other Entity instance.
- </p>
- <div class="issue">"Given a process execution expression denoted by pe, entity expressions denoted by e1 and e2, qualifiers q1 and q2, the assertion wasDerivedFrom(e2,e1,pe,q2,q1) or wasDerivedFrom(e2,e1) holds if and only if the values of some attributes of the entity expression identified by e2 are partly or fully determined by the values of some attributes of the entity expression identified by e1." This is <a href="http://www.w3.org/2011/prov/track/issues/125">ISSUE-125</a></div>
- </div>
- <div id="provenance-constraint-on-derivation-use-generation-ordering" class="section">
- <h4><span class="secno">5.3.8 </span>Provenance constraint on wasDerivedFrom (derivation-use-generation-ordering)</h4>
- <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, that is wasDerivedFrom (e2, e1), then the for time instant t1 associated with a PE instance that "used" is less than the time instant t2 associated with "generation" of e2.
- </p>
- <div class="note"> Without an explicit association of <a href="#time">TemporalEntity</a> with the <a href="#entity">Entity</a> instance and <a href="#processexecution">PE</a> instance, it is not possible to state or enforce this constraint in the PROV ontology schema and the corresponding RDF dataset.
- </div>
+ <p>The PROV-DM [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-DM">PROV-DM</a></cite>] introduces a set of provenance-specific constraints. These provenance constraints will be modeled in PROV ontology as OWL axioms or as rules using the Rule Interchange Framework (RIF) [<cite><a class="bibref" rel="biblioentry" href="#bib-RIF-OVERVIEW">RIF-OVERVIEW</a></cite>]. These constraints are expected to be used by provenance applications in addition to the PROV ontology file.</p>
+ <div class="note"> The provenance-specific constraints are currently under review and discussion. Individual constraints will be added to the PROV ontology or as RIF rules after the relevant issues are resolved. The provenance constraints will be progressively added to this section as the related issues are resolved.
</div>
- <div id="provenance-constraint-on-derivation-events" class="section">
- <h4><span class="secno">5.3.9 </span>Provenance constraint on wasDerivedFrom (derivation-events)</h4>
- <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, that is wasDerivedFrom (e2, e1, pe), then wasGeneratedBy(e2, pe) and used(pe, e1) can also be asserted.
- </p>
- <div class="note"> Since the above constraint defined in PROV-DM does not define how pe is linked to the derivation of e2 from e1, this constraint can be supported in the "opposite" direction in PROV-O. In other words, given e2 was generated at time instant t2 by pe and pe used e1 at time instant t1 and t1 is less than t2, then we can assert that wasDerivedFrom(e2, e1).
- </div>
- </div>
- <div id="provenance-constraint-on-derivation-process-execution" class="section">
- <h4><span class="secno">5.3.10 </span>Provenance constraint on wasDerivedFrom (derivation-events)</h4>
- <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, then there exists some PE instance such that wasGeneratedBy(e2, pe) and used(pe, e1) can also be asserted.
- </p>
- <div class="note"> This constraint is a re-statement of the generic Semantic Web "open-world assumption". Hence, it is not mapped to PROV ontology.
- </div>
- </div>
- <div id="provenance-constraint-on-derivation-use" class="section">
- <h4><span class="secno">5.3.11 </span>Provenance constraint on wasDerivedFrom (derivation-use)</h4>
- <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, and wasGeneratedBy(e2, pe) is also asserted then Used(pe, e1) can also be asserted.
- </p>
- <div class="note"> This will be asserted as a rule.
- </div>
- </div>
- <div id="provenance-constraint-on-derivation-generation-generation-ordering" class="section">
- <h4><span class="secno">5.3.12 </span>Provenance constraint on wasEventuallyDerivedFrom (derivation-generation-generation-ordering)</h4>
- <p>The PROV-DM describes a constraint that if wasEventuallyDerivedFrom property is asserted between two Entity instances e1 and e2, then generation of e1 occurred before generation of e2.
- </p>
- <div class="note"> Without an explicit association of <a href="#time">TemporalEntity</a> (or event) with the <a href="#entity">Entity</a> instance and <a href="#processexecution">PE</a> instance, it is not possible to state or enforce this constraint in the PROV ontology schema and the corresponding RDF dataset.
- </div>
- </div>
- <div id="provenance-constraint-on-derivation-linked-independent" class="section">
- <h4><span class="secno">5.3.13 </span>Provenance constraint on wasEventuallyDerivedFrom (derivation-linked-independent)</h4>
- <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, then wasEventuallyDerivedFrom property can also be asserted between the two Entity instances.
- </p>
- <div class="note"> Is this an equivalence constraint or can we assert a subPropertyOf property between wasDerivedFrom and wasEventuallyFrom?
- </div>
- </div>
- <div id="provenance-constraint-on-complementof-necessary-cond" class="section">
- <h4><span class="secno">5.3.14 </span>Provenance constraint on wasComplementOf (wasComplementOf-necessary-cond)</h4>
- <p>The PROV-DM describes a constraint that wasComplementOf property holds between two entities over a temporal intersection of the two entities.
- </p>
- <div class="note"> Without an explicit association of time value, this constraint cannot be stated or enforced in PROV ontology.
- </div>
- </div>
- <div id="provenance-constraint-on-hasParticipant-participant" class="section">
- <h4><span class="secno">5.3.15 </span>Provenance constraint on hadParticipant (participant)</h4>
- <p>The PROV-DM describes a constraint that hadParticipant property holds between an instance of Entity and instance of ProcessExecution if the two instances are linked by "used" of "wasControlledBy" or "wasComplementOf".
- </p>
- <div class="issue"> "Given two identifiers pe and e, respectively identifying a process execution expression and an entity expression, the expression hadParticipant(pe,e) holds if and only if:
- *used(pe,e) holds, or
- *wasControlledBy(pe,e) holds, or
- *wasComplementOf(e1,e) holds for some entity expression identified by e1, and hadParticipant(pe,e1) holds some process execution expression identified by pe." This is <a href="http://www.w3.org/2011/prov/track/issues/127">ISSUE-127</a>
- </div>
- </div>
+
</div>
</div>
+<!-- <section class="appendix">
+ <h2>Provenance-specific Constraints</h2>
+ <p>This section lists the provenance-specific constraints introduced by the PROV-DM [[PROV-DM]], but are still under discussion.
+ <section id="provenance-constraint-on-activity">
+ <h4>Provenance constraint on Activity</h4>
+ <p>The PROV-DM describes a constraint on ordering of time (or event) associated with a <a href="#activity">Activity.</a> </p>
+ <div class='issue'>"From a process execution expression, one can infer that the start event precedes the end event of the represented activity." This is <a href="http://www.w3.org/2011/prov/track/issues/121">ISSUE-121</a></div>
+ </section>
+ <section id="provenance-constraint-on-wasgeneratedby-generation-affects-attributes">
+ <h4>Provenance constraint on wasGeneratedBy (generation-affects-attributes)</h4>
+ <p>The PROV-DM describes a constraint on wasGeneratedBy that associates the values of attributes of an Entity with the Activity that generated the Entity.</p>
+ <div class='issue'>"Given a process execution act, entity e, role r, and optional time t, if the assertion wasGeneratedBy(e,pe,r) or wasGeneratedBy(e,pe,r,t) holds, the values of some of e's attributes are determined by the activity denoted by act and the entities used by act. Only some (possibly none) of the attributes values may be determined since, in an open world, not all used entities may have been asserted." This is <a href="http://www.w3.org/2011/prov/track/issues/122">ISSUE-122 </a> and <a href="http://www.w3.org/2011/prov/track/issues/105">ISSUE-105</a></div>
+ </section>
+ <section id="provenance-constraint-on-wasgeneratedby-generation-pe-ordering">
+ <h4>Provenance constraint on wasGeneratedBy (generation-pe-ordering)</h4>
+ <p>The second constraint on wasGeneratedBy associates an ordering of events associated with the generation of an Entity instance and the start, end time or event of theActivityinstance.</p>
+ <div class='note'> Without an explicit association of <a href="#time">TemporalEntity</a> with the <a href="#entity">Entity</a> instance and <a href="#activity">PE</a> instance, it is not possible to state or enforce this constraint in the PROV ontology schema and the corresponding RDF dataset.
+ </div>
+ </section>
+ <section id="provenance-constraint-on-wasgeneratedby-generation-unicity">
+ <h4>Provenance constraint on wasGeneratedBy (generation-unicity)</h4>
+ <p>The PROV-DM describes a constraint on wasGeneratedBy that asserts that given an account, only oneActivityinstance can be associated to an Entity instance by the property wasGeneratedBy.</p>
+ <div class='issue'>"Given an entity expression denoted by e, two process execution expressions denoted by act1 and act2, and two qualifiers q1 and q2, if the expressions wasGeneratedBy(e,pe1,q1) and wasGeneratedBy(e,pe2,q2) exist in the scope of a given account, then act1=act2 and q1=q2." This is <a href="http://www.w3.org/2011/prov/track/issues/105">ISSUE-105</a></div>
+ </section>
+ <section id ="provenance-constraint-on-used-use-attributes">
+ <h4>Provenance constraint on Used (use-attributes)</h4>
+ <p>A constraint is defined for the Used relation in PROV-DM, that makes it necessary for an attribute-value to be true for an Entity instance linked to a Activity instance by relation Used.
+ </p>
+ <div class='issue'>"Given a process execution expression identified by act, an entity expression identified by e, a qualifier q, and optional time t, if assertion used(pe,e,q) or used(pe,e,q,t) holds, then the existence of an attribute-value pair in the entity expression identified by e is a pre-condition for the termination of the activity represented by the process execution expression identified by act." This is <a href="http://www.w3.org/2011/prov/track/issues/124">ISSUE-124</a></div>
+ </section>
+ <section id ="provenance-constraint-on-used-pe-ordering">
+ <h4>Provenance constraint on Used (use-pe-ordering)</h4>
+ <p>The PROV-DM describes a constraint for Used relation, which makes it necessary for an Entity instance e (linked to a Activity instance act by Used relation) to be "used" before act terminates and also the "generation" of e precedes "use" of e.
+ </p>
+ <div class='issue'>"Given a process execution expression identified by act, an entity expression identified by e, a qualifier q, and optional time t, if assertion used(pe,e,q) or used(pe,e,q,t) holds, then the use of the thing represented by entity expression identified by e precedes the end time contained in the process execution expression identified by act and follows its beginning. Furthermore, the generation of the thing denoted by entity expression identified by e always precedes its use." This is <a href="http://www.w3.org/2011/prov/track/issues/124">ISSUE-124</a></div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-attributes">
+ <h4>Provenance constraint on wasDerivedFrom (derivation-attributes)</h4>
+ <p>The PROV-DM describes a constraint for asserting wasDerivedFrom property between two Entity instances if some attributes of an Entity instance are partially or fully determined by attributes values of the other Entity instance.
+ </p>
+ <div class='issue'>"Given a process execution expression denoted by act, entity expressions denoted by e1 and e2, qualifiers q1 and q2, the assertion wasDerivedFrom(e2,e1,pe,q2,q1) or wasDerivedFrom(e2,e1) holds if and only if the values of some attributes of the entity expression identified by e2 are partly or fully determined by the values of some attributes of the entity expression identified by e1." This is <a href="http://www.w3.org/2011/prov/track/issues/125">ISSUE-125</a></div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-use-generation-ordering">
+ <h4>Provenance constraint on wasDerivedFrom (derivation-use-generation-ordering)</h4>
+ <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, that is wasDerivedFrom (e2, e1), then the for time instant t1 associated with aActivityinstance that "used" is less than the time instant t2 associated with "generation" of e2.
+ </p>
+ <div class='note'> Without an explicit association of <a href="#time">TemporalEntity</a> with the <a href="#entity">Entity</a> instance and <a href="#activity">PE</a> instance, it is not possible to state or enforce this constraint in the PROV ontology schema and the corresponding RDF dataset.
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-events">
+ <h4>Provenance constraint on wasDerivedFrom (derivation-events)</h4>
+ <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, that is wasDerivedFrom (e2, e1, act), then wasGeneratedBy(e2, act) and used(pe, e1) can also be asserted.
+ </p>
+ <div class='note'> Since the above constraint defined in PROV-DM does not define how act is linked to the derivation of e2 from e1, this constraint can be supported in the "opposite" direction in PROV-O. In other words, given e2 was generated at time instant t2 by act and act used e1 at time instant t1 and t1 is less than t2, then we can assert that wasDerivedFrom(e2, e1).
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-process-execution">
+ <h4>Provenance constraint on wasDerivedFrom (derivation-events)</h4>
+ <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, then there exists someActivityinstance such that wasGeneratedBy(e2, act) and used(pe, e1) can also be asserted.
+ </p>
+ <div class='note'> This constraint is a re-statement of the generic Semantic Web "open-world assumption". Hence, it is not mapped to PROV ontology.
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-use">
+ <h4>Provenance constraint on wasDerivedFrom (derivation-use)</h4>
+ <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, and wasGeneratedBy(e2, act) is also asserted then Used(pe, e1) can also be asserted.
+ </p>
+ <div class='note'> This will be asserted as a rule.
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-generation-generation-ordering">
+ <h4>Provenance constraint on wasEventuallyDerivedFrom (derivation-generation-generation-ordering)</h4>
+ <p>The PROV-DM describes a constraint that if wasEventuallyDerivedFrom property is asserted between two Entity instances e1 and e2, then generation of e1 occurred before generation of e2.
+ </p>
+ <div class='note'> Without an explicit association of <a href="#time">TemporalEntity</a> (or event) with the <a href="#entity">Entity</a> instance and <a href="#activity">PE</a> instance, it is not possible to state or enforce this constraint in the PROV ontology schema and the corresponding RDF dataset.
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-derivation-linked-independent">
+ <h4>Provenance constraint on wasEventuallyDerivedFrom (derivation-linked-independent)</h4>
+ <p>The PROV-DM describes a constraint that if wasDerivedFrom property is asserted between two Entity instances e1 and e2, then wasEventuallyDerivedFrom property can also be asserted between the two Entity instances.
+ </p>
+ <div class='note'> Is this an equivalence constraint or can we assert a subPropertyOf property between wasDerivedFrom and wasEventuallyFrom?
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-complementof-necessary-cond">
+ <h4>Provenance constraint on wasComplementOf (wasComplementOf-necessary-cond)</h4>
+ <p>The PROV-DM describes a constraint that wasComplementOf property holds between two entities over a temporal intersection of the two entities.
+ </p>
+ <div class='note'> Without an explicit association of time value, this constraint cannot be stated or enforced in PROV ontology.
+ </div>
+ </section>
+ <section id ="provenance-constraint-on-hasParticipant-participant">
+ <h4>Provenance constraint on hadParticipant (participant)</h4>
+ <p>The PROV-DM describes a constraint that hadParticipant property holds between an instance of Entity and instance of Activity if the two instances are linked by "used" of "wasControlledBy" or "wasComplementOf".
+ </p>
+ <div class='issue'> "Given two identifiers act and e, respectively identifying a process execution expression and an entity expression, the expression hadParticipant(pe,e) holds if and only if:
+ *used(pe,e) holds, or
+ *wasControlledBy(pe,e) holds, or
+ *wasComplementOf(e1,e) holds for some entity expression identified by e1, and hadParticipant(pe,e1) holds some process execution expression identified by act." This is <a href="http://www.w3.org/2011/prov/track/issues/127">ISSUE-127</a>
+ </div>
+ </section>
+ </section>
+ -->
<div class="appendix section" id="acknowledgements">
@@ -2158,7 +1824,7 @@
-<div id="respec-err" style="position: fixed; width: 350px; top: 10px; right: 10px; border: 3px double #f00; background: #fff" class="removeOnSave"><ul><li style="color: #c00">There appears to have been a problem fetching the style sheet; status=0</li></ul></div><div id="references" class="appendix section">
+<div id="references" class="appendix section">
<!-- OddPage -->
<h2><span class="secno">B. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-OWL-TIME">[OWL-TIME]</dt><dd>Feng Pan; Jerry R. Hobbs. <a href="http://www.w3.org/TR/2006/WD-owl-time-20060927"><cite>Time Ontology in OWL.</cite></a> 27 September 2006. W3C Working Draft. (Work in progress.) URL: <a href="http://www.w3.org/TR/2006/WD-owl-time-20060927">http://www.w3.org/TR/2006/WD-owl-time-20060927</a>
</dd><dt id="bib-OWL2-DIRECT-SEMANTICS">[OWL2-DIRECT-SEMANTICS]</dt><dd>Boris Motik; Peter F. Patel-Schneider; Bernardo Cuenca Grau. <a href="http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/"><cite>OWL 2 Web Ontology Language:Direct Semantics.</cite></a> 27 October 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/">http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/</a>
@@ -2170,7 +1836,9 @@
</dd><dt id="bib-RDF-PRIMER">[RDF-PRIMER]</dt><dd>Frank Manola; Eric Miller. <a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/"><cite>RDF Primer.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/">http://www.w3.org/TR/2004/REC-rdf-primer-20040210/</a>
</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd>Dan Brickley; Ramanathan V. Guha. <a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210"><cite>RDF Vocabulary Description Language 1.0: RDF Schema.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210">http://www.w3.org/TR/2004/REC-rdf-schema-20040210</a>
</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-RIF-OVERVIEW">[RIF-OVERVIEW]</dt><dd>Michael Kifer; Harold Boley. <a href="http://www.w3.org/TR/2010/NOTE-rif-overview-20100622/"><cite>RIF Overview.</cite></a> 22 June 2010. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/2010/NOTE-rif-overview-20100622/">http://www.w3.org/TR/2010/NOTE-rif-overview-20100622/</a>
</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd>Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>
-</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-Ontology-Namespace">[PROV-Ontology-Namespace]</dt><dd>TBD<a href="http://www.w3.org/ns/prov-o/"><cite>PROV Ontology Namespace</cite></a>. 2011, Work in progress. URL: <a href="http://www.w3.org/ns/prov-o/">http://www.w3.org/ns/prov-o/</a>
+</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-BestPractices">[PROV-BestPractices]</dt><dd>Stian Soiland-Reyes <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/bestpractices/BestPractices.html"><cite>PROV Best Practices</cite></a>. 2011, Work in progress. URL: <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/bestpractices/BestPractices.html">http://dvcs.w3.org/hg/prov/tip/bestpracties/BestPractices.html</a>
+</dd><dt id="bib-PROV-Ontology-Namespace">[PROV-Ontology-Namespace]</dt><dd>TBD<a href="http://www.w3.org/ns/prov-o/"><cite>PROV Ontology Namespace</cite></a>. 2011, Work in progress. URL: <a href="http://www.w3.org/ns/prov-o/">http://www.w3.org/ns/prov-o/</a>
</dd><dt id="bib-PROV-PAQ">[PROV-PAQ]</dt><dd>Graham Klyne and Paul Groth <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/paq/provenance-access.html"><cite>Provenance Access and Query</cite></a>. 2011, Work in progress. URL: <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/paq/provenance-access.html">http://dvcs.w3.org/hg/prov/tip/paq/provenance-access.html</a>
</dd></dl></div></div></body></html>