derivation section
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Thu, 24 Nov 2011 21:44:49 +0000
changeset 1032 fe28030f52dc
parent 1029 cc338a6ccf28
child 1033 5328e2c13c56
derivation section
model/ProvenanceModel.html
model/ProvenanceModel.html.bak
--- a/model/ProvenanceModel.html	Thu Nov 24 15:16:17 2011 +0100
+++ b/model/ProvenanceModel.html	Thu Nov 24 21:44:49 2011 +0000
@@ -1529,33 +1529,46 @@
 
 <p>In PROV-DM, a <dfn id="dfn-Derivation">derivation record</dfn> is a representation that some entity is transformed from, created from, or affected by another entity in the world.  </p>
 
-<p>In PROV-DM, for an entity to be transformed from, created from, or affected by another in some way, there must be some underpinning activities performing the necessary actions resulting in such a derivation.  
-However, asserters may not have knowledge of these activities: they may not know their number, they may not know their identity, they may not know in what way the relevant entities are used or generated. To accommodate the varying circumstances of the various asserters, PROV-DM allows more or less precise records of derivation to be asserted.  Hence, PROV-DM uses the terms <em>precise</em> and <em>imprecise</em> to characterize the different kinds of derivation record.</p>
-
-<p>Furthermore, assuming that an asserter has full knowledge of an activity underpinning a derivation, the same activity can generally be modelled in terms of sub-activities, composed in a such a way as to deliver the same behavior. Hence, since activities can be modelled at arbitrary levels of granularity, there is a distinguished case in which a derivation between two entities <span class="name">e2</span> and <span class="name">e1</span> corresponds <em>exactly</em> to <em>one</em> activity that used <span class="name">e1</span> and generated <span class="name">e2</span>.    This is to be contrasted to the case where one activity corresponds to n activities, where n can be any number greater than 1.
+<p>According to <a href="#conceptualization">Section Conceptualization</a>, for an entity to be transformed from, created from, or affected by another in some way, there must be some underpinning activities performing the necessary actions resulting in such a derivation.  
+However, asserters may not assert or have knowledge of these activities and associated details: they may not assert or know their number, they may not assert or know their identity, they may not assert or know the attributes characterizing how the relevant entities are used or generated. To accommodate the varying circumstances of the various asserters, PROV-DM allows more or less precise records of derivation to be asserted.  Hence, PROV-DM uses the terms <em>precise</em> and <em>imprecise</em> to characterize the different kinds of derivation record. We note that the derivation itself is exact (i.e., deterministic, non-probabilistic), but it is its description, expressed in a derivation record, that may be imprecise. </p>
+
+<p>The  lack of precision may come from two sources:</p>
+<ul>
+<li> the number of activities that underpin a derivation is not asserted or known, or</li>
+<li> any of the other details that are involved in the derivation is not asserted or known; these include activity identities, generation and usage records, and their attributes.</li>
+</ul>
+
+
+<!--
+Furthermore, assuming that an asserter has full knowledge of an activity underpinning a derivation, the same activity can generally be modelled in terms of sub-activities, composed in a such a way as to deliver the same behavior. Hence, since activities can be modelled at arbitrary levels of granularity, there is a distinguished case in which a derivation between two entities <span class="name">e2</span> and <span class="name">e1</span> corresponds <em>exactly</em> to <em>one</em> activity that used <span class="name">e1</span> and generated <span class="name">e2</span>.    This is to be contrasted to the case where one derivation corresponds to n activities, where n can be any number greater than 1.
 Hence, PROV-DM uses the terms <em>one-activity</em> and <em>n-activities</em> to distinguish these two cases.</p>
-
-
-
-<p>We can then form a matrix of possible derivations, precise or imprecise, or corresponding to one activity or  n activities.
-Out of the four possibilities, PROV-DM offers three forms of derivation, while the  fourth one is not meaningful.  The following table summarises names for the three kinds of derivation. </p>
+-->
+
+
+<p>Hence, given a precision axis, with values <em>precise</em> and <em>imprecise</em>, and an activity axis, with values  <em>one-activity</em> and <em>n-activities</em>, we can then form a matrix of possible derivations, precise or imprecise, or corresponding to one activity or  n activities.
+Out of the four possibilities, PROV-DM offers three forms of derivation, while the  fourth one is not meaningful.  The following table summarises names for the three kinds of derivation, which we then explain.</p>
 <div class="table">
 <table border="1" align="center">
-<tr><td></td><td>precise</td><td>imprecise</td></tr> 
-<tr><td>one-activity</td><td>precise-1</td><td>imprecise-1</td></tr> 
-<tr><td>n-activities</td><td>---</td><td>imprecise-n</td></tr> 
+<tr><td colspan=2 rowspan=2></td><td colspan=2>precision axis</td></tr>
+<tr><td>precise</td><td>imprecise</td></tr> 
+<tr><td rowspan=2>activity<br>axis</td><td>one-activity</td><td>precise-1 derivation</td><td>imprecise-1 derivation</td></tr> 
+<tr><td>n-activities</td><td>---</td><td>imprecise-n derivation</td></tr> 
 <caption>PROV-DM Derivation Type Summary</caption>
 </table>
 </div>
 
-<p> We note that the fourth case of a precise derivation, where the number of activities is known and greater than 1 is not meaningful.
-Indeed, consider that we know that two activities are involved in the derivation of <span class="name">e2</span> from <span class="name">e1</span>.   If these activities are really involved, then there is some intermediary entity generated by the first entity and used by the second.  The derivation is therefore precise, since it does not explain how <span class="name">e2</span> should also be derived from this intermediary entity.
-</p>
-
-
-<p>The three kinds of derivation records are successively introduced.</p>
-
-<p>A precise-1 derivation record, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1)</span> in PROV-ASN, contains:</p>
+<ul>
+<li> The asserter asserts that derivation is due to exactly one activity, and all the details are asserted. We call this a precise-1 derivation record.</li>
+<li> The asserter asserts that derivation is due to exactly one activity, but other details,  whether known or unknown, are not asserted. We call this an imprecise-1 derivation record.</li>
+<li> The asserter does not know how many activities are involved in the derivation, and other details, whether known or unknown, are also not asserted. We call this an imprecise-n derivation record.</li>
+</ul>
+
+<p> We note that the fourth theoretical case of a precise derivation, where the number of activities is not known cannot occur. </p>
+
+
+<p>The three kinds of derivation records are successively introduced.  To minimize the number of relation types in PROV-DM, we introduce a PROV-DM reserved attribute <span class="name">steps</span>, which allows us to distinguish the various derivation types. </p>
+
+<p>A precise-1 derivation record, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1, attr)</span> in PROV-ASN, contains:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
 <li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
@@ -1563,43 +1576,43 @@
 <li><em>activity</em>: an identifier <span class="name">a</span> of an activity record, which is a representation of the activity using and generating the above entities;</li>
 <li><em>generation</em>: an identifier  <span class="name">g2</span> of the generation record pertaining to <span class="name">e2</span> and <span class="name">a</span>;</li> 
 <li><em>usage</em>: an identifier  <span class="name">u1</span> of the usage record pertaining to <span class="name">e1</span> and <span class="name">a</span>.</li> 
+<li><em>attributes</em>: a set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this derivation, OPTIONALLY including the attribute-value pair <span class="name">prov:steps="1"</span>.</li>
 </ul>
-
-
-<p>An imprecise-1 derivation record, written <span class="name">wasDerivedFrom(id, e2,e1)</span> in PROV-ASN, contains:</p>
+<p>It is OPTIONAL to include  the attribute <span class="name">prov:steps</span> in a precise-1 derivation since the record already refers to the one and only one activity underpinning the derivation.</p>
+
+
+<p>An imprecise-1 derivation record, written <span class="name">wasDerivedFrom(id, e2,e1, attrs)</span> in PROV-ASN, contains:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
 <li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
 <li><em>usedEntity</em>: the identifier <span class="name">e1</span> of  an entity record, which is a representation of the used entity.</li>
+<li><em>attributes</em>: a set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this derivation; it MUST include the attribute-value pair <span class="name">prov:steps="1"</span>.</li>
 </ul>
-
-
-<p>An imprecise-n derivation record, written <span class="name">wasBasedOn(id, e2,e1)</span> in PROV-ASN, contains:</p>
+<p>It is MANDATORY to include  the attribute <span class="name">prov:steps</span> in an imprecise-1 derivation since it is the mechanism used to distinguish it from an imprecise-n derivation record.</p>
+
+
+<p>An imprecise-n derivation record, written <span class="name">wasDerivedFrom(id, e2, e1, attrs)</span> in PROV-ASN, contains:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
 <li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
 <li><em>usedEntity</em>: the identifier <span class="name">e1</span> of  an entity record, which is a representation of the used entity.</li>
+<li><em>attributes</em>: a set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this derivation; it OPTIONALLY includes the attribute-value pair <span class="name">prov:steps="n"</span>.</li>
 </ul>
+<p>It is OPTIONAL to include  the attribute <span class="name">prov:steps</span>. It defaults to <span class="name">prov:steps="n"</span>.</p>
+
 
 <p>None of the three kinds of derivation is defined to be transitive. Domain-specific specializations of these derivations may be defined in such a way that the transitivity property holds.</p>
 
-<div class="note">
-Proposal: drop the name wasBasedOn and use wasDerivedFrom for all derivation. Require subtypes precise-1, imprecise-1, imprecise-1 to distinguish which kind of derivation  we are considering.  In ASN, the precise-1 derivation can be recognized by its syntactic form. In absence of any other type information, a wasDerivedFrom(id, e2,e1) record would be considered a imprecise-n.
-</div>
-
-<div class="note">
-Give counter-example of transitivity? maybe?
-</div>
 
 <p>In PROV-ASN, a derivation record's text matches the <span class='nonterminal'>derivationRecord</span> production of the grammar defined in this specification document.</p>
 
 <div class='grammar'>
 <span class="nonterminal">derivationRecord</span>&nbsp;:= 
-<span class="nonterminal">exact-1-derivationRecord</span>
+<span class="nonterminal">precise-1-derivationRecord</span>
 | <span class="nonterminal">imprecise-1-derivationRecord</span>
 | <span class="nonterminal">imprecise-n-derivationRecord</span><br/>
 <br/>
-<span class="nonterminal">exact-1-derivationRecord</span>:=  
+<span class="nonterminal">precise-1-derivationRecord</span>:=  
 <span class="name">wasDerivedFrom</span>
 <span class="name">(</span>
 <span class="nonterminal">identifier</span>
@@ -1610,57 +1623,65 @@
 <span class="name">,</span>
 <span class="nonterminal">generationIdentifier</span>
 <span class="name">,</span>
-<span class="nonterminal">usageIdentifier</span>
+<span class="nonterminal">usageIdentifier</span>,
+<span class="nonterminal">attribute-values</span>
 <span class="name">)</span><br/>
 <span class="nonterminal">imprecise-1-derivationRecord</span>:=  
 <span class="name">wasDerivedFrom</span>
 <span class="name">(</span>
 <span class="nonterminal">identifier</span>
 <span class="name">,</span>
-<span class="nonterminal">identifier</span>
+<span class="nonterminal">identifier</span>,
+<span class="nonterminal">attribute-values</span>
 <span class="name">)</span>
 <br/>
 <span class="nonterminal">imprecise-n-derivationRecord</span>:=  
-<span class="name">wasBasedOn</span>
+<span class="name">wasDerivedFrom</span>
 <span class="name">(</span>
 <span class="nonterminal">identifier</span>
 <span class="name">,</span>
-<span class="nonterminal">identifier</span>
+<span class="nonterminal">identifier</span>,
+<span class="nonterminal">attribute-values</span>
 <span class="name">)</span>
 <br/>
 <br/>
 <span class="nonterminal">generationIdentifier</span>:=  <span class="nonterminal">identifier</span><br/>
 <span class="nonterminal">usageIdentifier</span>:=  <span class="nonterminal">identifier</span>
 </div>
+<div class="note">
+The grammar should make it clear that attribute <span class="name">prov:steps=1</span> is required for imprecise-1-derivationRecord.
+</div>
 
 <div class="anexample">
-<p>The following derivation assertions</p>
+<p>The following assertions state the existence of derivations.</p>
 <pre class="codeexample">
-wasDerivedFrom(e5,e3,a4,g2,u2)
-wasDerivedFrom(e3,e2)
-wasBasedOn(e2,e1)
+wasDerivedFrom(e5,e3,a4,g2,u2,[])
+wasDerivedFrom(e5,e3,a4,g2,u2,[prov:steps=1])
+
+wasDerivedFrom(e3,e2,[prov:steps=1])
+
+wasDerivedFrom(e2,e1,[])
+wasDerivedFrom(e2,e1,[prov:steps=n])
 </pre>
 <p>
-state the existence of derivations;
-the first expresses that the activity represented by the activity <span class="name">a4</span>, by
-using the entity denoted by <span class="name">e3</span> obtained during use documented by usage record <span class="name">u2</span>
+The first two are precise-1 derivation records expressing that the activity represented by the activity <span class="name">a4</span>, by
+using the entity denoted by <span class="name">e3</span> according to usage record <span class="name">u2</span>
  derived the
 entity denoted by <span class="name">e5</span> and generated it according to generation record
- <span class="name">g2</span>. The second is similar for <span class="name">e3</span> and <span class="name">e2</span>, but it leaves the activity record and associated attributes implicit. In the third one, a derivation is asserted between  <span class="name">e2</span> and  <span class="name">e1</span>, but no information is provided as to the number and indentity of activities underpinning the derivation.
+ <span class="name">g2</span>. 
+
+The third record is an imprecise-1 derivation, which is similar for <span class="name">e3</span> and <span class="name">e2</span>, but it leaves the activity record and associated attributes implicit. The fourth and fifth records are imprecise-n derivation records between  <span class="name">e2</span> and  <span class="name">e1</span>, but no information is provided as to the number and identity of activities underpinning the derivation.
 </p>
 </div>
 
-<div class="note">The WG needs to confirm the exact names for these relations.</div>
-<div class="note">These derivations should probably be given attributes like all the other relations.</div>
-
 
 <p>An precise-1  derivation record is a richer  than an imprecise-1 derivation record, itself, being more informative that an imprecise-n derivation record. Hence, the following implications hold.</p>
 <div class='constraint' id='derivation-implications'>
-Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2, e1, a, g2, u1)</span>
- holds for some generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, then <span class="name">wasDerivedFrom(e2,e1)</span> also holds.<br>
-
-Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2, e1)</span>
- holds, then <span class="name">wasBasedOn(e2,e1)</span> also holds.<br>
+Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2, e1, a, g2, u1, attrs)</span>
+ holds for some generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, then <span class="name">wasDerivedFrom(e2,e1,[prov:steps=1] &cup; attrs)</span> also holds.<br>
+
+Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2, e1, [prov:steps=1] &cup; attrs)</span>
+ holds, then <span class="name">wasDerivedFrom(e2,e1,attrs)</span> also holds.<br>
  </div>
 
 
@@ -1671,8 +1692,8 @@
   which at the minimum implies temporal ordering, specified as follows.</p>
 First, we consider one-activity derivations.</p>
 
-<div class='interpretation' id='derivation-use-generation-ordering'>Given an activity record identified by <span class="name">a</span>, entity records identified by <span class="name">e1</span> and <span class="name">e2</span>, generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, <span class='conditional'>if</span> the record <span class="name">wasDerivedFrom(e2,e1,a,g2,u1)</span>
-or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>then</span>
+<div class='interpretation' id='derivation-use-generation-ordering'>Given an activity record identified by <span class="name">a</span>, entity records identified by <span class="name">e1</span> and <span class="name">e2</span>, generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, <span class='conditional'>if</span> the record <span class="name">wasDerivedFrom(e2,e1,a,g2,u1,attrs)</span>
+or <span class="name">wasDerivedFrom(e2,e1,[prov:steps=1] &cup; attrs)</span> holds, <span class='conditional'>then</span>
 the <a title="entity usage event">use</a>
 of entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation</a> of
 the entity denoted by <span class="name">e2</span>.
@@ -1681,7 +1702,7 @@
 <p>Then, imprecise-n derivations.</p>
 
 <div class='interpretation' id='derivation-generation-generation-ordering'>
-Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the record <span class="name">wasBasedOn(e2,e1)</span>
+Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the record <span class="name">wasDerivedFrom(e2,e1,[prov:steps=1] &cup; attrs)</span>
  holds, <span class='conditional'>then</span> the
 <a title="entity generation event">generation event</a> of the entity  represented by the entity record denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation event</a> of
 the entity represented by the entity record denoted by <span class="name">e2</span>.
@@ -1697,7 +1718,7 @@
 
 
 
-<p>The imprecise-1 derivation has the same meaning as the  exact-1
+<p>The imprecise-1 derivation has the same meaning as the  precise-1
  derivation, except that an activity  
  is known to exist, though it does not need to be 
 asserted.  This is formalized by the following inference rule,
@@ -1706,11 +1727,11 @@
 <span class='conditional'>If</span> <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>then</span> there exist an activity record identified by <span class="name">a</span>, a usage record identified by <span class="name">u</span>, and a generation record identified by <span class="name">g</span>
 such that:
 <pre class="codeexample">
-activity(a,attrs)
+activity(a,aAttrs)
 wasGeneratedBy(g,e2,a,gAttrs)
 used(u,a,e1,uAttrs)
 </pre>
-for sets of attribute-value pairs <span class="name">gAttrs</span>, <span class="name">uAttrs</span>, and <span class="name">attrs</span>.
+for sets of attribute-value pairs <span class="name">gAttrs</span>, <span class="name">uAttrs</span>, and <span class="name">aAttrs</span>.
 </div>
 
 
@@ -1733,11 +1754,11 @@
 generation-unicity applies. Maybe move it to separate section with all
 related material. </div>
 
-<p>A further inference is permitted from the compact version of derivation record: </p>
+<p>A further inference is permitted from the imprecise-1 derivation record: </p>
 <div class='constraint' id='derivation-use'>
 <p>Given an activity record identified by <span class="name">pe</span>, entity records identified by <span class="name">e1</span> and <span class="name">e2</span>, and set of attribute-value pairs <span class="name">attrs2</span>,
-<span class='conditional'>if</span> <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">wasGeneratedBy(e2,pe,attrs2)</span> hold, <span class='conditional'>then</span> there exists a set of attribute-value pairs <span class="name">attrs1</span>,
-such that <span class="name">used(pe,e1,attrs1)</span> also holds.
+<span class='conditional'>if</span> <span class="name">wasDerivedFrom(e2,e1, [prov:steps=1])</span> and <span class="name">wasGeneratedBy(e2,pe,attrs2)</span> hold, <span class='conditional'>then</span> <span class="name">used(pe,e1,attrs1)</span> also holds
+for some set of attribute-value pairs <span class="name">attrs1</span>.
 </div>
 <p>This inference is justified by the fact that the entity represented by entity record identified by <span class="name">e2</span> is generated by at most one activity in a given account (see <a href="#generation-unicity">generation-unicity</a>). Hence,  this activity record is also the one referred to in the usage record of <span class="name">e1</span>. 
 </p>
--- a/model/ProvenanceModel.html.bak	Thu Nov 24 15:16:17 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1566 +0,0 @@
-<!DOCTYPE html>
-<html><head> 
-    <title>Provenance Model</title> 
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
-    <!-- 
-      === NOTA BENE ===
-      For the three scripts below, if your spec resides on dev.w3 you can check them
-      out in the same tree and use relative links so that they'll work offline,
-     -->
-<!-- PM -->
-    <style type="text/css">
-      .note { font-size:small; margin-left:50px }
-     </style>
-
-    <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script> 
-
-    <script class="remove"> 
-      var respecConfig = {
-          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
-          specStatus:           "ED",
-          
-          // the specification's short name, as in http://www.w3.org/TR/short-name/
-          shortName:            "PIDM-Model",
- 
-          // if your specification has a subtitle that goes below the main
-          // formal title, define it here
-           subtitle   :  "Initial draft for internal discussion",
- 
-          // if you wish the publication date to be other than today, set this
-          // publishDate:  "2009-08-06",
- 
-          // if the specification's copyright date is a range of years, specify
-          // the start date here:
-          // copyrightStart: "2005"
- 
-          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
-          // and its maturity status
-          // previousPublishDate:  "1977-03-15",
-          // previousMaturity:  "WD",
- 
-          // if there a publicly available Editor's Draft, this is the link
-          edDraftURI:           "http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html",
- 
-          // if this is a LCWD, uncomment and set the end of its review period
-          // lcEnd: "2009-08-05",
- 
-          // if you want to have extra CSS, append them to this list
-          // it is recommended that the respec.css stylesheet be kept
-          extraCSS:             ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css", "./extra.css"],
- 
-          // editors, add as many as you like
-          // only "name" is required
-          editors:  [
-              { name: "Luc Moreau", url: "http://www.ecs.soton.ac.uk/~lavm",
-                company: "University of Southampton, UK" },
-              { name: "Paolo Missier", url: "http://www.cs.ncl.ac.uk/people/Paolo.Missier",
-                company: "Newcastle University, UK" },
-          ],
- 
-          // authors, add as many as you like. 
-          // This is optional, uncomment if you have authors as well as editors.
-          // only "name" is required. Same format as editors.
- 
-          authors:  [
-              { name: "TBD"},
-          ],
-          
-          // name of the WG
-          wg:           "Provenance Working Group",
-          
-          // URI of the public WG page
-          wgURI:        "http://www.w3.org/2011/prov/wiki/Main_Page",
-          
-          // name (with the @w3c.org) of the public mailing to which comments are due
-          wgPublicList: "public-prov-wg",
-          
-          // URI of the patent status for this WG, for Rec-track documents
-          // !!!! IMPORTANT !!!!
-          // This is important for Rec-track documents, do not copy a patent URI from a random
-          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
-          // Team Contact.
-          wgPatentURI:  "",
-      };
-    </script> 
-  </head> 
-  <body> 
-    <section id="abstract">
-<p>This document defines a data model for Provenance.</p>
-
-<p>
-This is a document for internal discussion, which will ultimately
-evolve in the first Public Working Draft of the Conceptual Model.</p>
-    </section> 
-    
-    <section> 
-      <h2>Introduction<br>
-</h2> 
-      <p> To be written </p>
-
-<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
-      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
-      "OPTIONAL" in this document are to be interpreted as described in
-      [[!RFC2119]].</p>
-
-    </section> 
-
-    <section> 
-<h2>Motivation and Requirements</h2>
-    </section> 
-
-    <section> 
-<h2>A Conceptualization of the World</h2>
-
-
-<p>In the world (whether real or not), there are things, which can be
-physical, digital, conceptual, or otherwise, and activities involving
-things.  Words such thing or activity should be understood with
-their informal meaning.</p>
-
-<p>When we talk about things in the world in natural language and even when we assign identifiers, we are often imprecise in ways that make it difficult to clearly and unambiguously report provenance: a resource with a URL may be understood as referring to a report available at that URL, the version of the report available there today, the report independent of where it is hosted over time, etc.</p>
-
-<p>Hence, to disambiguate things and their situation in the world as perceived by us, we introduce the concept <dfn id="concept-characterized-thing">characterized thing</dfn>, which refers to a thing and its situation in the world, as characterized by someone.</p>
-
-<div class="xmpl">
-Different users may take different perspective about a resource with a URL, which are referred to as
-three different characterized things:
-<ul>
-<li>a report available at  URL, </li>
-<li>the version of the report available there today, </li>
-<li>the report independent of where it is hosted over time.</li></ul></div>
-
-
-<p>We do not assume that any characterization is more important than any other, and in fact, it is possible to describe the processing that occurred for the report to be commissioned, for individual versions to be created, for those versions to be published at the given URL, etc., each via a different characterized thing that unambiguously characterizes the report appropriately.</p>
-
-<p>In the world, <dfn id="concept-activity">activities</dfn> involve
-things in multiple ways: they consume them, they process them, they
-transform them, they modify them, they change them, they relocate
-them, they use them, they generate them, they are controlled by them,
-etc.</p>
-
-
-<p>In our conceptualization of the world, punctual events, or <dfn id="concept-event">events</dfn> for short, happen in the world, which mark changes in the world, in its activities, and in its things. In this specification, it is assumed that a partial order exists between events. How practically such order is realized is beyond the scope of this specification. Possible implementations of that ordering include a single global notion of time and Lamport's style clocks.</p>
-    </section> 
-
-    <section> 
-<h2>The Provenance Abstract Syntax Notation</h2>
-
-    </section> 
-
-
-    <section class="informative"> 
-<h2>Example</h2>
-
-
-<div class='pending'>Alter example to cater for multiple ivpOf. This is <a href="http://www.w3.org/2011/prov/track/issues/33">ISSUE-33</a>.</div>
-
-<div class='resolved'>Some comments on the example. This is <a href="http://www.w3.org/2011/prov/track/issues/63">ISSUE-63</a>.</div>
-
-<div class='issue'>Comments on section 3.2. This is <a href="http://www.w3.org/2011/prov/track/issues/71">ISSUE-71</a></div>
-
-    <section> 
-<h3>A File Scenario</h3>
-
-
-<p>This scenario is concerned with the evolution of a crime statistics
-file (referred to as e0) stored on a shared file system and which
-journalists Alice, Bob, Charles, David, and Edith can share and
-edit. We consider various events in the evolution of file e0;
-events listed below follow each other, unless otherwise specified.</p>
-
-
-
-<p>
-Event evt1: Alice creates (pe0) an empty file in /share/crime.txt.  We denote this e1.
-</p>
-
-<p>
-Event evt2: Bob appends (pe1) the following line to /share/crime.txt:
-<pre>
-There was a lot of crime in London last month.
-</pre>
-We denote this e2.
-</p>
-
-<p>Event evt3: Charles emails (pe2) the contents of /share/crime.txt, as an
-attachment, which we refer to as e4. (Our description is not precise about the nature of e4, it could be a copy of the file that is local the mail client, that is uploaded on the mail server, or even in transit to a recipient.)
-</p>
-
-<p>
-Event evt4: David edits (pe3) file /share/crime.txt as follows.
-<pre>
-There was a lot of crime in London and New-York last month.
-</pre>
-We denote this e3.
-</p>
-
-<p>Event evt5: Edith emails (pe4) the contents of /share/crime.txt as an attachment, referred to as e5.
-</p>
-
-<p>Event evt6: between events evt4 and evt5, someone (unspecified) runs a spell checker (pe5) on the file /share/crime.txt.
- The file after spell checking is referred to as e6.
-</p>
-
-</section> 
-
-    <section> 
-<h3>Encoding using the Provenance Abstract Syntax Notation</h3>
-
-In this section, the example is encoded according to the provenance data model (specified in section <a href="#data-model-concepts">concepts</a>) and expressed in the Provenance Abstract Syntax Notation. Details about the Provenance Abstract Syntax Notation can be found in <a href="#PASN-convention">appendix</a>.
-<p>
-Entities (construct described in <a href="#expression-Entity">Section Entity</a>). The file in its various forms and its copies are modelled as entities.
-<pre>
-entity(e0, [ type: "File", location: "/shared/crime.txt", creator: "Alice" ])
-entity(e1, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "" ])
-entity(e2, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "There was a lot of crime in London last month."])
-entity(e3, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "There was a lot of crime in London and New York last month."])
-entity(e4, [ ])
-entity(e5, [ ])
-entity(e6, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "There was a lot of crime in London and New York last month.", spellchecked: "yes"])
-</pre>
-</p>
-
-
-<p>The entities are characterized by attributes that have given values during intervals delimited by events; such intervals are referred to as <em>characterization intervals</em>. The following table lists all entities and their corresponding characterization intervals. When the end of the characterization interval is not delimited by an event described in this scenario, it is marked by "...".
-<blockquote>
-<table>
-<tr><td>Entity</td><td>Characterization Interval</td></tr>
-<tr><td>e0</td><td>evt1 - ...</td></tr>
-<tr><td>e1</td><td>evt1 - evt2</td></tr>
-<tr><td>e2</td><td>evt2 - evt4</td></tr>
-<tr><td>e3</td><td>evt4 - ...</td></tr>
-<tr><td>e4</td><td>evt3 - ...</td></tr>
-<tr><td>e5</td><td>evt5 - ...</td></tr>
-<tr><td>e6</td><td>evt6 - ... </td></tr>
-</table>
-</blockquote>
-</p>
-
-<p>
-Derivations (construct described in <a href="#expression-Derivation">Section Derivation</a>): derivations express that an entity is derived from another.
-<pre>
-wasDerivedFrom(e2,e1)
-wasDerivedFrom(e3,e2)
-wasDerivedFrom(e4,e2)
-wasDerivedFrom(e5,e3)
-</pre>
-</p>
-
-<p>
-Process Executions (construct described in <a href="#expression-ProcessExecution">Section Process Execution</a>): process execution represents an activity in the scenario.
-<pre>
-processExecution(pe0,create-file,t)
-processExecution(pe1,add-crime-in-london,t+1)
-processExecution(pe2,email,t+2)
-processExecution(pe3,edit-London-New-York,t+3)
-processExecution(pe4,email,t+4)
-processExecution(pe5,spellcheck)
-</pre>
-</p>
-
-<p>
-Generations (construct described in <a href="#expression-Generation">Section Generation</a>): generation is the event at which a file is created in a specific form. To distinguish the function that the various entities generated by a given process execution have in the context of this process execution, a role  (construct described in <a href="#expression-Role">Section Role</a>) is introduced.  Illustrations of such roles are outFile, outContent, out, attachment.
-<pre>
-wasGeneratedBy(e0,pe0,outFile)     
-wasGeneratedBy(e1,pe0,outContent)     
-wasGeneratedBy(e2,pe1,out)     
-wasGeneratedBy(e3,pe3,out)     
-wasGeneratedBy(e4,pe2,attachment)     
-wasGeneratedBy(e5,pe4,attachment)     
-wasGeneratedBy(e6,pe5,out)     
-</pre>
-</p>
-
-
-<p>
-Used (construct described in <a href="#expression-Use">Section Use</a>): use is the event by which a file is read by a process execution. To distinguish the various entities used by a given process execution, a role  (construct described in <a href="#expression-Role">Section Role</a>) is introduced.  Illustrations of such roles are in and fileIn.
-<pre>
-used(pe1,e1,in)
-used(pe3,e2,in)
-used(pe2,e2,in)
-used(pe4,e3,in)
-used(pe5,e3,fileIn)
-</pre>
-</p>
-
-
-
-<p>
-wasComplementOf:   (this relation is described in <a href="#expression-complement-of">Section wasComplementOf</a>). The crime statistics file (e0) has various contents over its existence (e1,e2,e3); the entites  e1,e2,e3 complement e0 with an attribute content.  Likewise, e6 complements e3 with an attributed spellchecked.
-<pre>
-wasComplementOf(e1,e0)
-wasComplementOf(e2,e0)
-wasComplementOf(e3,e0)
-wasComplementOf(e6,e3) 
-</pre>
-</p>
-
-
-<p>
-Agents (construct described at <a href="#expression-Agent">Section Agent</a>): the various users are represented as agents, themselves being a type of entity.
-<pre>
-entity(a1, [ type: "Person", name: "Alice" ])
-agent(a1)
-
-entity(a2, [ type: "Person", name: "Bob" ])
-agent(a2)
-
-entity(a3, [ type: "Person", name: "Charles" ])
-agent(a3)
-
-entity(a4, [ type: "Person", name: "David" ])
-agent(a4)
-
-entity(a5, [ type: "Person", name: "Edith" ])
-agent(a5)
-</pre>
-</p>
-
-
-<p>
-Control (construct described in <a href="#expression-Control">Section Control</a>): the influence of an agent over a process execution is expressed as control, and the nature of this influence is described by a role  (construct described in <a href="#expression-Role">Section Role</a>).  Illustrations of such roles are creator, author and communicator.
-<pre>
-wasControlledBy(pe0,a1, creator)
-wasControlledBy(pe1,a2, author)
-wasControlledBy(pe2,a3, communicator)
-wasControlledBy(pe3,a4, author)
-wasControlledBy(pe4,a5, communicator)
-</pre>
-</p>
-</section> 
-
-
-    <section> 
-<h3>Graphical Illustration</h3>
-
-Provenance assertions can be illustrated as a graph.
-Details about the graphical illustration can be found in <a href="#illustration-convention">appendix</a>.
-
-<img src="example-graphical.png"/>
-<p/>
-<img src="timeline.png"/>
-</section> 
-
-</section> 
-
-
-    <section > 
-<h2>About the Provenance Data Model</h2>
-
-<div class='issue'>The name of the data model still has to be decided by the WG. Current placeholder name is PIDM. This is <a href="http://www.w3.org/2011/prov/track/issues/31">ISSUE-31</a></div>
-
-<div class='resolved'>Data model vs Language. Misc comments raised at <a href="http://www.w3.org/2011/prov/track/issues/62">ISSUE-62</a></div>
-
-
-<p>In the world (whether real or not), there are things, which can be
-physical, digital, conceptual, or otherwise, and activities involving
-things.  Words such thing or activity should be understood with
-their informal meaning.</p>
-
-<p>Furthermore, this specification is concerned with <em>characterized
-things</em>, that is, things and their situation in
-the world, as characterized by their asserters.</p>
-
-<p>
-In the rest of the document, we are concerned with the representation of such things; their situation in the world will be represented using sets of attributes.
-</p>
-
-<p>
-<div class="example">
-<b>Example</b>: a file at some point during its lifecycle, which includes multiple edits by multiple people, can be represented by its location in the file system, a creator, and content.  
-</div>
-</p>
-
-
-<p>This specification defines a data model for provenance (placeholder acronym PIDM) and relies on a language, the <a href="#PASN-convention">Provenance Abstract Syntax Notation</a>, to express
-<em>instances</em> of that data model.</p>
-
-<div class='issue'>Formalism used is not explained, not applied to concepts <a href="http://www.w3.org/2011/prov/track/issues/87">ISSUE-87</a>.</div>
-
-
-<p>PIDM is a provenance data model designed to express representations
-of the world.  These representations are relative to an asserter, and
-in that sense constitute assertions characterizing the
-world. Different asserters will normally contribute different
-representations, and no attempt is made to define a notion of
-consistency of such different sets of assertions. The data model
-provides the means to associate attribution to assertions.
-</p>
-
-
-
-<p>The data model is designed to capture events that happened in the past, as opposed to event
-that may or will happen. 
-However, this distinction is not formally enforced.
-Therefore, all PIDM assertions SHOULD be interpreted as a record of what has happened, as opposed to what may or will happen.</p>
-
-<div class='note'>Can this be enforced formally?</div>
-
-<p> 
-This specification does not prescribe the means by which an asserter arrives at assertions; for example, assertions can be composed on the basis of observations, inferences, or any other means. 
-</p>
-
-
-<p>The data model includes a notion of "provenance container" that is
- a logical grouping for a set of assertions. It serves multiple
- purposes.  First, it provides a way to attach various metadata to the
- set of assertions.  Second, it provides a scope in which some constraints may apply.
- Third, it provides a default scope for
- identifiers used in assertions.  This means that identifiers are
- expected to be resolvable only within the scope of a container,
- rather than globally. Optionally, identifiers can be exported so that
- they can be used outside their default scope.  Finally, the data
- model does not prescribe the mechanisms by which identifiers are
- generated.</p>
-
-
-
-<p>
-Sometimes, inferences about the world can be made from assertions of the provenance data model. When this is the case, this specification defines such inferences.
-</p>
-
-<p> In this specification, the qualifier 'identifiable' is implicit whenever a reference is made to an activity or characterized thing.</p>
-
-    </section> 
-
-
-
-    <section id="data-model-concepts"> 
-
-<h2>Provenance Data Model</h2>
-
-<p>The data model defines the following types of expressions.</p>
-
-<div class='issue'>Conceptual model needs a high level overview <a href="http://www.w3.org/2011/prov/track/issues/86">ISSUE-86</a>.</div>
-
-    
-   <section id="expression-Entity"> 
-      
-<h3>Entity</h3>
-
-<p>In PIDM, an  <dfn id="dfn-entity" title="entity">entity expression</dfn> is a representation of an identifiable characterized thing.</p>
-
-<p>
-In the Provenance Abstract Syntax Notation, an entity expression's text matches the <span class="nonterminal">entity</span> production of the grammar defined in this specification document.
-</p>
-
-<div class='grammar'>
-<span class="nonterminal">entity</span>&nbsp;:=  
-<span class="name">entity</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="name">[</span>
-<span class="nonterminal">attribute-values</span>
-<span class="name">]</span>
-<span class="name">)</span><br/>
-<!-- -->
-<span class="nonterminal">attribute-values</span>&nbsp;:=  
-<span class="nonterminal">attribute-value</span>
-|<span class="nonterminal">attribute-value</span> <span class="name">,</span> <span class="nonterminal">attribute-values</span>
-<br/>
-<span class="nonterminal">attribute-value</span>&nbsp;:=  
-<span class="nonterminal">attribute</span>
-<span class="name">:</span>
-<span class="nonterminal">Literal</span>
-<br/>
-</div>
-
-
-
-<p>An instance of an entity expression, noted <span class="name">entity(id, [ attr1: val1, ...])</span> in the Provenance Abstract Syntax Notation:
-<ul>
-<li> contains an identifier <span class="name">id</span> denoting a characterized thing;</li>
-<li> contains a set of attribute-value pairs <span class="name">[ attr1: val1, ...]</span>, representing this characterized thing's situation in the world.</li>
-</ul>
-</p>
-
-<p>
-The assertion of an instance of an entity expression, <span class="name">entity(id, [ attr1: val1, ...])</span>, states, from a given asserter's viewpoint, the existence of an identifiable characterized thing, whose situation in the world is represented by the attribute-value pairs, which remain unchanged during a characterization interval, i.e. a continuous interval between two events in the world. 
-</p>
-
-
-
-<p>
-The following entity assertion,
-<pre class="example">
-entity(e0, [ type: "File", location: "/shared/crime.txt", creator: "Alice" ])
-</pre>
-states the existence of a thing of type File and location /shared/crime.txt,  and creator alice, denoted by identifier e0, during some characterization interval.
-</p>
-
-Further considerations:
-<ul>
-<li>If an asserter wishes to characterize a thing with same attribute-value pairs over several intervals, then they are required to assert multiple entity expressions, each with its own identifier.  </li>
-
-<li>There is no assumption that the set of attributes is complete and that the attributes are independent/orthogonal of each other.</li>
-
-<li>A characterization interval may collapse into a single instant</li>
-
-<li>An entity assertion
- is about a characterized thing, whose  situation in the world may be variant.
- An entity assertion is made at a particular point and is invariant, in the sense that 
-its attributes are assigned a value as part of that assertion.
-</li>
-
-</ul>
-
-
-
-
-<div class='pending'>Characterized entity may be variant. This is <a href="http://www.w3.org/2011/prov/track/issues/32">ISSUE-32</a></div>
-
-<div class='issue'>How is domain specific data combined with the provenance model? This is <a href="http://www.w3.org/2011/prov/track/issues/65">ISSUE-65</a>.</div>
-
-<div class='resolved'> Comments on bob <a href="http://www.w3.org/2011/prov/track/issues/60">ISSUE-60</a>.</div>
-
-<div class='resolved'>The name <b>entity</b> is used as a replacement for placeholder BOB. This is <a href="http://www.w3.org/2011/prov/track/issues/30">ISSUE-30</a>.</div>
-
-<div class='issue'>Definition of Entity is confusing, maybe over-complex <a href="http://www.w3.org/2011/prov/track/issues/85">ISSUE-85</a>.</div>
-
-
- 
-
-    </section> 
-
-    <section id="expression-ProcessExecution"> 
-      
-<h3>Process Execution</h3>
-<p>A <dfn id="dfn-ProcessExecution">process execution</dfn> represents an identifiable activity, which performs a piece of work.</p>
-
-<p>The activity that a process execution represents has a duration, delimited by its start and its end; hence, it occurs over a continuous time interval. However, the process execution representing the activity need not mention time information, nor duration, because they may not be known.</p>
-
-<p> A process execution assertion, noted <span class="name">processExecution(id,rl,st,et)</span>:
-<ul>
-<li> contains an identifier <span class="name">id</span>;
-<li> MAY contain a <a href="#expression-RecipeLink">recipe link</a> <span class="name">rl</span>;
-<li> MAY contain a start time <span class="name">st</span>;
-<li> MAY contain an end time <span class="name">et</span>.
-</ul>
-</p>
-
-<p>
-<pre class="example">
-processExecution(pe1,add-crime-in-london,t+1,t+1+epsilon)
-</pre>
-</p>
-
-<p>A process execution is not an entity. Indeed, an entity represents
-a thing that exists in full at any point in its characterization
-interval, persists during this interval, and preserves the
-characteristics that makes it identifiable.  Alternatively, an
-activity in something that happens, unfolds or develops through time,
-but is typically not identifiable by the characteristics it exhibits at
-any point during its duration.</p>
-
-
-<div class='note'>Elaborate justification.   </div>
-
-
-
-<div class='constraint' id='start-precedes-end'><a name="PIL:0001"> From the assertion of a process execution, one can infer that the
-start precedes the end of the represented activity.</a> [<a
-href="../ontology/ProvenanceFormalModel.html#PIL:0001">PIL:0001</a>] </div>
-
-
-<div class='pending'>Should process execution be defined as a subclass of BOB. This is <a href="http://www.w3.org/2011/prov/track/issues/66">ISSUE-66</a>.</div>
-</section> 
-
-<section id="expression-Generation">
-<h3>Generation<br>
-</h3>
-
-
-
-<p><dfn id="dfn-Generation">Generation</dfn> represents the creation of a new characterized thing by an activity. This characterized thing did not exist before creation.</p>
-
-
-
-<p>A Generation assertion, noted <span class="name">wasGeneratedBy(e,pe,r,t)</span>:
-<ul>
-<li> refers to an entity <span class="name">e</span>, which represents the characterized thing that is created;
-<li> refers to a process execution <span class="name">pe</span>;
-<li> contains a <a href="#expression-Role">role</a> <span class="name">r</span>;
-<li> MAY contain a "generation time" <span class="name">t</span>, the time at which the characterized thing was created.</p>
-</ul>
-</p>
-
-<p>
-<pre class="example">
-wasGeneratedBy(e2,pe1,out)     
-</pre>
-</p>
-
-<p>A given entity can be generated at most by one process execution in the scope of a given <a href="#expression-Account">account</a>.
-The rationale for this constraint is as follows.
-If two process executions sequentially set different values to some attribute by means of two different generate events, then they generate distinct entities. Alternatively,  for two process executions to generate an entity simultaneously, they would require some synchronization by which they agree the entity is released for use; the end of this synchronization would constitute the actual generation of the entity, but is performed by a single process execution. </p>
-</p>
-
-<div class='constraint' id='generation-affects-attributes'><a name="PIL:0002">Given a process execution <span class="name">pe</span>, entity <span class="name">e</span>, role <span class="name">r</span>, and optional time <span class="name">t</span>,
-if the assertion <span class="name">wasGeneratedBy(e,pe,r)</span>
-or <span class="name">wasGeneratedBy(e,pe,r,t)</span> holds, the values of <em>some</em> of <span class="name">e</span>'s
-attributes are determined by the activity denoted by <span class="name">pe</span> and the
-entities used by <span class="name">pe</span>.
-Only some (possibly none) of the attributes values  may be determined
-since, in an open world, not all used entities may have been
-asserted.</a>  [<a href="../ontology/ProvenanceFormalModel.html#PIL:0002">PIL:0002</a>]
-</div>
-
-<div class='constraint' id='generation-pe-ordering'><a name="PIL:0003">Given an assertion <span class="name">wasGeneratedBy(x,pe,r)</span> or <span class="name">wasGeneratedBy(x,pe,r,t)</span>, one can
-infer that the generation of the thing denoted by <span class="name">x</span> precedes the end
-of <span class="name">pe</span> and follows the beginning of <span class="name">pe</span>.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0003">PIL:0003</a>]
-</div> 
-
-
-<div class='resolved'>Need to say identifiable activity. This is <a href="http://www.w3.org/2011/prov/track/issues/39">ISSUE-39</a>. The qualifier 'identifiable' is said to be implicit in section 4. </div>
-
-<div class='resolved'>Comments on generation <a href="http://www.w3.org/2011/prov/track/issues/59">ISSUE-59</a>.</div>
-
-<div class='resolved'> Added justification for generation by a single process <a href="http://www.w3.org/2011/prov/track/issues/67">ISSUE-67</a>.</div>
-
-
-
-
-</section>
-
-
-<section id="expression-Use">
-<h3>Use</h3>
-
-<div class='resolved'>Various comments raised at <a href="http://www.w3.org/2011/prov/track/issues/64">ISSUE-64</a>.</div>
-
-<p><dfn id="dfn-Use">Use</dfn> represents the consumption of a characterized thing by an activity.</p>
-
-
-<p>A Use assertion, <span class="name">used(pe,e,r,t)</span>:
-<ul>
-<li> refers to a process execution <span class="name">pe</span>;
-<li> refers to an entity <span class="name">e</span>, representing the characterized thing that is used;
-<li> contains a <a href="#expression-Role">role</a> <span class="name">r</span>;
-<li> MAY contain a "use time" <span class="name">t</span>, the time at which the characterized thing was used.</p>
-</ul>
-</p>
-
-<p>
-<pre class="example">
-used(pe1,e1,in,t)
-</pre>
-</p>
-
-
-<p>A reference to a given entity may appear in multiple use assertions that refer
-to a given process execution, but each of those use assertions MUST have a
-distinct role.</p>
-
-
-
-
-
-<div class='constraint' id='use-attributes'><a name="PIL:0005">
-Given a process execution <span class="name">pe</span>, entity <span class="name">e</span>, role <span class="name">r</span>, and optional time <span class="name">t</span>, if
- assertion <span class="name">used(pe,e,r)</span> or <span class="name">used(pe,e,r,t)</span> holds, 
-the existence of the value of an attribute of <span class="name">e</span>' is a
-pre-condition for the activity denoted by <span class="name">pe</span> to terminate.</a>
-[<a href="../ontology/ProvenanceFormalModel.html#PIL:0005">PIL:0005</a>]</div>
-
-
-
-<div class='constraint' id='use-pe-ordering'><a name="PIL:0006">Given a process execution <span class="name">pe</span>, entity <span class="name">e</span>, role <span class="name">r</span>, and optional time <span class="name">t</span>, if
- assertion <span class="name">used(pe,e,r)</span> or <span class="name">used(pe,e,r,t)</span> holds, one can
-infer that the use of the thing denoted by <span class="name">e</span> precedes the end
-of <span class="name">pe</span> and follows the beginning of <span class="name">pe</span>. Furthermore, we
-can infer that the generation of the thing denoted by <span class="name">e</span> always precedes
-its use.</a> 
-[<a href="../ontology/ProvenanceFormalModel.html#PIL:0006">PIL:0006</a>] </div>
-
-
-<div class='issue'>Should we define a taxonomy of use? This is <a href="http://www.w3.org/2011/prov/track/issues/23">ISSUE-23</a>.</div>
-</section>
-
-
-
-<section id="expression-Derivation">
-<h3>Derivation</h3>
-
-
-<div class='note'>This section remains very much work in progress.  Many issues have been raised and discussed, and for several of them, consensus still remains difficult to reach.  The presentation of derivation has been altered, and new names adopted, in the hope of clarifying this notion. Key outstanding issues include:
-<ul>
-<li> what is the exact relationship between entities attributes and derivation;
-<li> transitive nature of derivation.
-</ul></div>
-
-<p><dfn id="dfn-Derivation">Derivation</dfn> expresses that some characterized thing is transformed from, created from, or affected by another characterized thing.  </p>
-
-<p>PIL offers two different kinds of assertions by which asserters can formulate derivations. The first one is tightly connected to the notion of process execution, whereas the second one is not. The first kind of assertion is particularly suitable for asserters who have an intimate knowledge of process executions, and offers a more precise description of derivation, whereas the second does not put such a requirement on the asserter, and allows a less precise description of derivation to be asserted. From these assertions, further derivations can be inferred by transitive closure. </p>
-
-<section>
-<h4>Process Execution Linked Derivation Assertion</h4>
-
-<p>A process execution linked derivation, which, by definition of derivation, expresses that some characterized thing is transformed from, created from, or affected by another characterized thing, entails a process execution that transforms, creates or affects this characterized thing.</pe>
-
-<p>In its full form, a process-execution linked derivation assertion, noted <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>:
-<ul>
-<li> refers to an entity <span class="name">e2</span>, denoting the used characterized thing;
-<li> refers to an entity <span class="name">e1</span>, denoting the generated characterized thing;
-<li> refers to process execution <span class="name">pe</span>;
-<li> contains a role <span class="name">r2</span>.
-<li> contains a role <span class="name">r1</span>.
-</ul>
-This assertion expresses that the process execution <span class="name">pe</span>, by
-using the thing denoted by <span class="name">e1</span> with role <span class="name">r1</span> derived the
-thing denoted by entity <span class="name">e2</span> and generated it with
-role <span class="name">r2</span>.
-</p>
-
-<p>
-The following inference rule allows generation and use assertions to be inferred.
-</p>
-
-<div class="inference">
-<a name="PIL:0010">If <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, then
-  <span class="name">wasGeneratedBy(e2,pe,r2)</span> and <span class="name">used(pe,e1,r1)</span> also
-  hold. </a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0010">PIL:0010</a>]
-</div>
-
-
-<p>For convenience, PIL allows for a compact, process-execution linked derivation assertion, written <span class="name">wasDerivedFrom(e2,e1)</span>, which:
-<ul>
-<li> refers to an entity <span class="name">e2</span>, denoting the generated characterized thing;
-<li> refers to an entity <span class="name">e1</span>, denoting the used characterized thing.
-</ul>
-</p>
-
-
-<p>The compact version has the same meaning as the fully formed process-execution linked derivation, except that a process execution is known to exist, though it does not need to be asserted.
-This is formalized by the following inference rule, referred to as <em>process execution introduction</em>:<br/>
-<div class='inference'>
-  <a name="PIL:0009">
-If <span class="name">wasDerivedFrom(e2,e1)</span> holds, then there exists a process execution <span class="name">pe</span>, and roles <span class="name">r1</span>,<span class="name">r2</span>,
-such that:
-  <span class="name">wasGeneratedBy(e2,pe,r2)</span> and <span class="name">used(pe,e1,r1)</span>. [<a href="../ontology/ProvenanceFormalModel.html#PIL:0009">PIL:0009</a>]
-</div></p>
-
-
-
-
-<p>If <span class="name">e2</span> is derived from <span class="name">e1</span>, then 
-this means that the thing represented by <span class="name">e1</span> has an influence on the thing represented by <span class="name">e2</span>, which is captured by a dependency between their attribute values; it also implies temporal ordering. These are specified as follows:</p>
-
-<div class='constraint' id='derivation-attributes'><a name="PIL:0007">Given a process execution <span class="name">pe</span>, entities <span class="name">e1</span> and <span class="name">e2</span>, roles <span class="name">r1</span> and <span class="name">r2</span>, the assertion <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
-or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>if and only if</span>:
- the values of some attributes
-of <span class="name">e2</span> are partly or fully determined by the values of some
-attributes of <span class="name">e1</span>.</a> [<a
-  href="../ontology/ProvenanceFormalModel.html#PIL:0007">PIL:0007</a>] </div>
-
-<div class='note'>Should this dependency of attributes be made explicit as argument of the derivation? By making it explicit, we would allow someone to verify the validity of the derivation.</div>
-
-
-
-<div class='constraint' id='derivation-use-generation-ordering'><a name="PIL:0008">Given a process execution <span class="name">pe</span>, entities <span class="name">e1</span> and <span class="name">e2</span>, roles <span class="name">r1</span> and <span class="name">r2</span>, <span class='conditional'>if</span> the assertion <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
-or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>then</span>
-the use
-of characterized thing denoted by <span class="name">e1</span> precedes the generation of
-the characterized thing denoted by <span class="name">e2</span>.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0008">PIL:0008</a>]
-</div>
-
-
-
-<p>
-Note that inferring derivation from use and generation does not hold
-in general. Indeed, when a generation <span class="name">wasGeneratedBy(e2,pe,r2)</span>
-precedes <span class="name">used(pe,e1,r1)</span>, for
-some <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">r1</span>, <span class="name">r2</span>, and <span class="name">pe</span>, one
-cannot infer derivation <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
-or <span class="name">wasDerivedFrom(e2,e1)</span> since the values of attributes
-of <span class="name">e2</span> cannot possibly be determined by the values of attributes
-of <span class="name">e1</span>, given the creation of <span class="name">e2</span> precedes the use
-of <span class="name">e1</span>.
-</p>
-
-<p>
-<pre class="example">
-wasDerivedFrom(e5,e3)
-</pre>
-</p>
-
-<p>A further inference is permitted from the compact version of derivation: 
-<div class='inference'>
-<a name="PIL:0011">Given a process execution <span class="name">pe</span>, entities <span class="name">e1</span> and <span class="name">e2</span>, and role <span class="name">r2</span>,
-if <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">wasGeneratedBy(e2,pe,r2)</span> hold, then there exists a role <span class="name">r1</span>,
-such that <span class="name">used(pe,e1,r1)</span> also holds.</a>
-  [<a href="../ontology/ProvenanceFormalModel.html#PIL:0011">PIL:0011</a>]
-</div>
-This inference is justified by the fact that <span class="name">e2</span> is generated by at most one process execution. Hence,  this process execution is also the one that used <span class="name">e1</span>.
-</p>
-
-<div class='note'>There is a suggestion by Simon that this notion of derivation is only meaningful in the context of an account. <a href="http://lists.w3.org/Archives/Public/public-prov-wg/2011Aug/0101.html">See email</a>.  It is not clear it is the case anymore. However, the inference above is only meaning full if unicity of generation hold.</div>
-
-
-<p>We note that the "symmetric" inference, does not hold.
-From <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">used(pe,e1)</span>, one cannot
-derive <span class="name">wasGeneratedBy(e2,pe,r2)</span> because <span class="name">e1</span> may be used by
-many process execution, not all of them generating <span class="name">e2</span>.</p>
-
-
-
-</section>
-
-<section>
-<h4>Process Execution Independent Derivation Assertion</h4>
-
-
-
-
-<p>A process execution independent derivation states the existence of a derivation, by any means whether direct or not, and regardless of any process executions. </p>
-
-<p>A process execution independent derivation, written <span class="name">wasEventuallyDerivedFrom (e2, e1)</span>, 
-<ul>
-<li> refers to an entity <span class="name">e2</span>, denoting the used characterized thing;
-<li> refers to an entity <span class="name">e1</span>, denoting the generated characterized thing;
-</ul>
-
-
-<p>If <span class="name">e2</span> is derived (wasEventuallyDerivedFrom) from <span class="name">e1</span>, then 
-this means that the thing represented by <span class="name">e1</span> has an influence on the thing represented by <span class="name">e2</span>,
-  which at the minimum implies temporal ordering, specified as follows:</p>
-
-<div class='constraint' id='derivation-generation-generation-ordering'>
-  <a name="PIL:0012">Given two entities <span class="name">e1</span> and <span class="name">e2</span>, if the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span>
- holds, then:
-generation of the characterized thing denoted by <span class="name">e1</span> precedes the generation of
-the characterized thing denoted by <span class="name">e2</span>.</a>
-  [<a href="../ontology/ProvenanceFormalModel.html#PIL:0012">PIL:0012</a>]
-  </div>
-
-<p>Note that temporal ordering is between generations of <span class="name">e1</span>
-and <span class="name">e2</span>, as opposed to process execution linked derivation,
-which implies temporal ordering between the use of <span class="name">e1</span> and
-generation of <span class="name">e2</span> (see <a href="#derivation-use-generation-ordering">derivation-use-generation-ordering</a>).  Indeed, in the case of
-wasEventuallyDerivedFrom, nothing is known about the use of <span class="name">e1</span>,
-since there is no associated process execution.</p>
-
-<div class='note'>Should we link wasEventuallyDerivedFrom to attributes as we did for wasDerivedFrom?  If so, this type of inference should be presented upfront, for both.</div>
-
-
-
-
-
-</section>
-
-<section>
-<h4>Transitive Derivation</h4>
-
-
-<p>
-If <span class="name">wasDerivedFrom(e2,e1)</span> holds because attribute <span class="name">a2.1</span> of <span class="name">e2</span> is determined by attribute <span class="name">a1.1</span> of <span class="name">e1</span>,
-and if <span class="name">wasDerivedFrom(e3,e2)</span> holds because attribute <span class="name">a3.1</span>of <span class="name">e3</span> is determined by  attribute <span class="name">a2.2</span> of <span class="name">e1</span>, it is not necessarily the case that an attribute of <span class="name">e3</span> is determined by an attribute of <span class="name">e1</span>, so, an asserter may not be able to assert <span class="name">wasDerivedFrom(e3,e1)</span>.  Hence, constraints on attributes invalidate transitivity in the general case.
-</p>
-
-<p>However, there is sense that <span class="name">e3</span> still depends on <span class="name">e1</span>, since <span class="name">e3</span> could not be generated without <span class="name">e1</span> existing. Hence, we introduce a weaker notion of derivation, which is transitive.</p>
-
-<p>The relationship <dfn id="dfn-dependedOn">dependedOn</dfn> is defined as follows:
-<ul> 
-<li>If <span class="name">wasDerivedFrom(e2,e1)</span> or <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, then <span class="name">dependedOn(e2,e1)</span>.</li>
-<li>If <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> holds, then <span class="name">dependedOn(e2,e1)</span>.</li>
-<li>If <span class="name">dependedOn(e3,e2)</span> and <span class="name">dependedOn(e2,e1)</span> hold, then <span class="name">dependedOn(e3,e1)</span>.</li>
-</ul>
-
-<p>We note that <span class="name">dependedOn</span> cannot be asserted but can only be inferred.</p>
-</section>
-
-
-
-
-<div class='pending'>Is derivation transitive? If so, it should not be introduced as an assertion.  This is <a href="http://www.w3.org/2011/prov/track/issues/45">ISSUE-45</a>.</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>
-
-<div class='resolved'> Transitivity does not seem to follow from above definition. This is <a href="http://www.w3.org/2011/prov/track/issues/56">ISSUE-56</a>.</div>
-
-<div class='resolved'> What's the difference between one step and multi-step derivation assertion. Justification of why one entity can be generated at most once.  Multi-step derivation is also transitive. This is all in <a href="http://www.w3.org/2011/prov/track/issues/67">ISSUE-67</a>.</div>
-
-
-</section>
-
-
-
-<section id="expression-Agent">
-<h3>Agent</h3>
-
-
-
-<p>An <dfn id="dfn-Agent">agent</dfn> represents a characterized thing capable of
-activity.</p> 
-
-<p> An agent construct, <span class="name">agent(e)</span>:
-<ul>
-<li> refers to an entity <span class="name">e</span>
-</ul>
-</p>
-
-<p>A characterized thing can be asserted to be an agent or can be inferred to be
-an agent by involvement in a process execution.  </p>
-
-<p>
-<pre class="example">
-entity(alice, [Employee="1234"])  and agent(alice)
-
-
-entity(david) and wasControlledBy(pe,david)
-</pre>
-</p>
-
-
-
-</section>
-
-
-<section id="expression-Control">
-<h3>Control</h3>
-
-<p> <dfn id="dfn-Control">Control</dfn> represents the involvement of an agent or an entity in a process execution; a role qualifies this involvement.</p>
-
-<p>A Control assertion, noted <span class="name">wasControlledBy(pe,ag,r)</span>:
-<ul>
-<li> refers to a process execution <span class="name">pe</span>;
-<li> refers to an agent or an entity <span class="name">ag</span>;
-<li> contains a role <span class="name">r</span>.
-</ul>
-</p>
-
-<p>
-<pre class="example">
-wasControlledBy(pe3,david,"author")
-</pre>
-</p>
-
-</section>
-
-
-<section id="expression-complement-of">
-
-<h3>was Complement Of</h3>
-
-
-<p><dfn id="IVP-of">Is Complement Of</dfn> is a relationship between two characterized things asserted to have compatible characterization over some continuous time interval.<br/>
-
-The rationale for introducing this relationship is that in general, at any given time there will be multiple representations of a characterized thing, which are reflected in assertions possibly made by different asserters. In the example that follows, suppose thing "Royal Society" is represented by two asserters, each using a different set of attributes. If the asserters agree that both representations refer to "The  Royal Society", the question of whether any correspondence can be established between the two representations arises naturally. This is particularly relevant when (a) the sets of properties used by the two representations overlap partially, or (b) when one set is subsumed by the other. In both these cases, we have a situation where each of the two asserters has a partial view of "The  Royal Society", and establishing a correspondence between them on the shared properties is beneficial, as in case (a) each of the two representation <em>complements</em> the other, and in case (b) one of the two (that with the additional properties) complements the other.
-<p/>
-This intuition is made more precise by considering the entities that embody the representation of a characterised thing at a certain point in time. an entity, as defined above, exists only as long as all of its attributes do not change their value. As soon as one attribute, say X changes value, say from v1 to v2, the entity no longer exists and is replaced by a new one in which X=v2. Thus, if we overlap the timelines (or, more generally, the sequences of value-changing events) for the two characterised things, we can hope two establish correspondences amongst the entities that represent them at various points along that events line. The figure below illustrates this intuition.<p/>
-
-<img src="complement-of.png"/>
-
-<p/>
-Relation <em>complement-of</em> between two entities is intended to capture these correspondences, as follows. Suppose entities A and B share a set P of properties, and each of them has other properties in addition to P. If the values assigned to each property in P are <em>compatible</em> between A and B, then we say that <em>A is-complement-of B</em>, and <em>B is-complement-of A</em>, in a symmetrical fashion. In the particular case where the set P of properties of B is a struct superset of A's properties, then we say that <em>B is-complement-of A</em>, but in this case the opposite does not hold. In this case, the relation is not symmetric.  (as a special case, A and B may not share any attributes at all, and yet the asserters may still stipulate that they are representing the same thing "Royal Society". The symmetric relation may hold trivially in this case).
-<p/>
-The term <em>compatible</em> used above means that a mapping can be established amongst the values of attributes in P and found in the two entities. This is generalizes to the case where attribute sets P1 and P2 of A, and B, respectively, are not identical but they can be mapped to one another. The simplest case is the identity mapping, in which A and B share attribute set P, and furthermore the values assigned to attributes in P match exactly.<br/>
-
-It is important to note that the relation holds only as long as the entities involved are valid. As soon as one attribute changes value in one of them, new correspondences need to be found amongst the new entities. Thus, the relation has a validity span that can be expressed in terms of the event lines of the thing.
-
-<!--
-The "IVP of" relationship is designed to represent pairs of entities that correspond to each other. By their own nature, an entity remains valid only as long as all of its attributes do not change their value. It follows that the correspondence "B IVP of A" is only valid within the time interval during which such invariance property holds for both A and B. When any of the property values change in either A or B, those entities are replaced by new ones, and a new correspondence may be established. Thus, "IVP of" is defined relative to the intersection of the temporal intervals for which A and B are valid.
--->
-</p>
-
-<p>An wasComplementOf assertion is denoted <span class="name">wasComplementOf(B,A)</span>, where A and B are two entities.
-
-<p>
-<pre class="example">
-entity(rs,[created: "1870"])
-
-entity(rs_l1,[location: "loc2"])
-entity(rs_l2,[location: "The Mall"])
-
-entity(rs_m1,[membership: "250", year: "1900"])
-entity(rs_m2,[membership: "300", year: "1945"])
-entity(rs_m3,[membership: "270",  year: "2010"])
-
-wasComplementOf(rs_m3, rs_l2)
-wasComplementOf(rs_m2, rs_l1)
-wasComplementOf(rs_m2, rs_l2)
-wasComplementOf(rs_m1, rs_l1)
-
-wasComplementOf(rs_l1, rs)
-wasComplementOf(rs_l2, rs)
-</pre>
-</p>
-
-<div class='constraint' id='wasComplementOf-necessary-cond'>
- <a name="PIL:0013">An assertion "wasComplementOf(B,A)" holds over the temporal intersection of A and B, <span class='conditional'>only if</span>: 
-<ol>
-<li> if a mapping can be established from an attribute X of B to an attribute Y of A, then the values of A and B must be consistent with that mapping</em>  </li>
-  <li>B has some attribute that A does not have
-</li></ol></a>
-  [<a href="../ontology/ProvenanceFormalModel.html#PIL:0013">PIL:0013</a>]
- </div>
-
-<div class='issue'>Mutual ivpOf each other should be agreed. This is <a href="http://www.w3.org/2011/prov/track/issues/29">ISSUE-29</a></div>
-
-<div class='issue'>Do we need a sameAsEntity relation. This is <a href="http://www.w3.org/2011/prov/track/issues/35">ISSUE-35</a></div>
-
-<div class='issue'>Is ivpOf transitive? This is <a href="http://www.w3.org/2011/prov/track/issues/45">ISSUE-45</a></div>
-
-<div class='issue'> Comments on ivpof in <a href="http://www.w3.org/2011/prov/track/issues/57">ISSUE-57</a>.</div>
-
-
-</section>
-
-<section id="expression-Time">
-<h3>Time</h3>
-
-<p><dfn id="dfn-time">Time instants</dfn> are defined according to xsd:dateTime [[!XMLSCHEMA-2]].</p> 
-
-
-
-<p>It is OPTIONAL to assert time in use, generation, and process execution.</p>
-
-<div class='resolved'> Is it appropriate to refer to ISO8601. Point in Time, Interval? This is  <a href="http://www.w3.org/2011/prov/track/issues/58">ISSUE-58</a>.</div>
-
-<section>
-<h4>Temporal Events</h4>
-Four kinds of discrete events underpin the PIDM data model. They are:
-<ol>
-<li>Generation of an entity by a process execution:  identifies the final instant of an entity's creation timespan, after which the characterized thing represented by an entity becomes available for use.</li>
-<li>Use of an entity by a process execution:  identifies the first instant of an entity's consumption timespan.</li>
-<li>Start of a process execution: identifies the instant an activity represented by a process execution starts</li>
-<li>End of a process execution: identifies the instant an activity represented by a process execution ends</li>
-</ol>
-</section>
-
-<section>
-<h4>Event Ordering</h4>
-
-
-<p><dfn id="dfn-follows">Follows</dfn> is a partial order between events, indicating that an event occurs after another.  For convenience, <dfn id="dfn-follows">precedes</dfn> is defined as the symmetric of follows. </p>
-
-<p>This specification introduces inference rules allowing such event ordering to be inferred from provenance constructs.</p>
-</section>
-
-
-</section>
-
-<section id="expression-RecipeLink">
-<h3>Recipe Link</h3>
-
-
-<p>A <dfn id="dfn-RecipeLink">recipe link</dfn> is an association between a process execution and a process specification that underpins the process execution.
-</p>
-
-<p>
-It is OPTIONAL to assert recipe links in process executions.
-</p>
-
-
-<p>
-Process specifications, as referred to by recipe links, are out of scope of this specification.
-</p>
-
-</section>
-
-<section id="expression-Role">
-<h3>Role</h3>
-
-
-<p>A <dfn id="dfn-Role">role</dfn> is a label that names the function assumed by an entity or
-an agent with respect to a specific process execution.</p> 
-
-<div class='note'>It may be useful to distinguish between a role name and a role type, similarly to 
- parameter names and parameter types in a programming language procedure.
-Currently, all the constraints and definitions pertaining to roles in the
-specification should be understood as role names.</div>
-
-
-
-<p>Use, Generation, and Control assertions MUST contain a role.  Roles
-are mandatory since they allow for uniform data structures.  To facilitate
-the writing of these assertions when a role is unknown by the
-asserter, syntactic notations MAY allow these to be written without a role. In such a case, a default, uniquely named role from the set
-'unspecified role' will be assumed. A countable set of unique labels can be used to denote unspecified roles, as in:
-<span class="name">unspecified0</span>, <span class="name">unspecified1</span>, <span class="name">unspecified2</span>, ....
-
-<pre class="example">
-   used(pe,e)   expands to    used(pe,e,unspecified1)
-</pre>
-where unspecified1 is an unspecified role.
-</p>
-
-<p> The set of all Use (resp. Generation, Control) assertions that refer to a given process execution MUST contain at most one occurrence of a given role.  The rationale for this requirement is that when provenance is used to replay execution, roles are used to determine which values must be associated with which input (resp. output, control channel) of a process execution.</p>
-
-<div class='resolved'>Decide the level of requirements: MUST/SHOULD and justify. This is <a href="http://www.w3.org/2011/prov/track/issues/40">ISSUE-40</a> and <a href="http://www.w3.org/2011/prov/track/issues/41">ISSUE-41</a>. MUST is confirmed. </div>
-
-
-<p>The interpretation of a  role is specific to the process execution it relates
-to, which means that a same role may appear in relation to two different process executions with different interpretations.  
-From this specification's viewpoint, a role's interpretation is out of
-scope.</p>
-
-
-
-
-
-</section>
-
-<section id="expression-Location">
-<h3>Location</h3>
-
-<p><dfn id="dfn-Location">Location</dfn> is an identifiable geographic place (ISO 19112). As such, there are numerous ways in which location can be specified, such as by a coordinate, address, landmark, row, column, and so forth.</p> 
-
-
-<p>
-Location is an OPTIONAL characteristics of 
-entity, process execution, and agent.
-</p>
-
-
-
-</section>
-
-<section id="expression-OrderingOfProcesses">
-<h3>Ordering of Process Executions</h3>
-</section>
-
-
-<p>PIDM allows two forms of temporal relationships between process executions to be expressed.
-<dfn id="InformationOrdering">Information flow ordering</dfn> states that a characterized thing was generated by a process execution before it was used by another process execution.
-<dfn id="ControlOrdering">Control ordering</dfn> states that the end of
-a process execution precedes the start of another process execution,
-by a same agent.
-</p>
-
-
-<p>
-An instance of a <span class="name">wasInformedBy</span> construct, written as 
-<span class="name">wasInformedBy(pe2,pe1)</span> in the Provenance Abstract Syntax Notation: 
-<ul>
-<li> refers to a process execution <span class="name">pe2</span>;
-<li> refers to a process execution <span class="name">pe1</span>
-</ul>
-and expresses information flow ordering between <span class="name">pe2</span> and <span class="name">pe1</span>.
-The meaning of the <span class="name">wasInformedBy</span> construct is specified as follows.
-
-<div class='constraint' id='wasInformedBy'>Given two process executions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>, 
- the construct <span class="name">wasInformedBy(pe2,pe1)</span>
-holds, <span class='conditional'>if and only if</span>
- there is an entity denoted by <span class="name">e</span> and roles <span class="name">r1</span> and <span class="name">r2</span>,
-such that <span class="name">wasGeneratedBy(e,pe1,r1)</span> and <span class="name">used(pe2,e,r2)</span> hold.
-</div>
-
-
-
-<p>
-An instance of an <span class="name">wasScheduledAfter</span> construct, written as 
-<span class="name">wasScheduledAfter(pe2,pe1)</span> in the Provenance Abstract Syntax Notation: 
-<ul>
-<li> refers to a process execution <span class="name">pe2</span>;
-<li> refers to a process execution <span class="name">pe1</span>,
-</ul>
-and expresses control ordering between <span class="name">pe2</span> and <span class="name">pe1</span>.
-The meaning of the <span class="name">wasScheduledAfter</span> construct is as follows.
-
-<div class='constraint' id='wasScheduledAfter'>Given two process executions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>, 
- the construct <span class="name">wasScheduledAfter(pe2,pe1)</span>
-holds, <span class='conditional'>if and only if</span>
- there are two entities denoted by <span class="name">e1</span> and <span class="name">e2</span> and roles <span class="name">r1</span> and <span class="name">r2</span>,
-such that <span class="name">wasControlledBy(pe1,e1,r1)</span> and <span class="name">wasControlledBy(pe2,e2,r2)</span> and <span class="name">wasDerivedFrom(e2,e1)</span>.
-</div>
-
-
-
-<div class='issue'>Suggested definition for process ordering. This is <a href="http://www.w3.org/2011/prov/track/issues/50">ISSUE-50</a>.</div>
-</p>
-
-
-<section id="expression-Revision">
-<h3>Revision</h3>
-
-<p> <dfn id="dfn-Revision">Revision</dfn> represents the creation of a characterized thing considered to be a variant of another. Deciding whether something is made available as a revision of something else usually involves an agent who is responsible for declaring that the former is variant of the latter. </p>
-
-<p>An assertion wasRevisionOf, noted <span class="name">wasRevisionOf(e2,e1,ag)</span>:
-<ul>
-<li> refers to an entity <span class="name">e2</span>, denoting a newer version of a thing;
-<li> refers to an entity <span class="name">e1</span>, denoting a older version of a thing;
-<li> MAY refer to a responsible agent <span class="name">ag</span>.
-</ul>
-</p>
-
-
-<p>
-From an assertion <span class="name">wasRevisionOf(new,old,ag)</span>, one can infer that: 
-<ul>
-<li> The characterized thing denoted by <span class="name">new</span> is derived from the characterized thing denoted by <span class="name">old</span>
-<li> There exists an entity <span class="name">X</span>, such that:
-<ul> 
-<li> <span class="name">new</span> wasComplementOf <span class="name">X</span>;
-<li> <span class="name">old</span> wasComplementOf <span class="name">X</span>;
-<li> <span class="name">X</span> MAY have been asserted.
-</ul>
-</ul>
-</p>
-
-<p><span class="name">wasRevisionOf</span> is a strict sub-relation
- of <span class="name">wasDerivedFrom</span> since two entities <span class="name">e2</span> and <span class="name">e1</span>
- may satisfy <span class="name">wasDerivedFrom(e2,e1)</span> without being a variant of
- each other.
-</p>
-
-<div class='pending'>Revision should be a class not a  property. This is <a href="http://www.w3.org/2011/prov/track/issues/48">ISSUE-48</a>.</div>
-
-<div class='resolved'> What's the difference with derivation? Is it necessary? This is <a href="http://www.w3.org/2011/prov/track/issues/61">ISSUE-61</a>.</div>
-
-</section>
-
-<section id="expression-Participation">
-<h3>Participation</h3>
-
-<p> <dfn id="dfn-Participation">Participation</dfn> represents the involvment of a thing in an activity. It can be asserted or inferred.</p>
-
-
-<p>The construct <dfn id="dfn-hadParticipant">hadParticipant</dfn>, noted  <span class="name">hadParticipant(pe,e)</span>, 
-<ul> 
-<li> refers to a process execution <span class="name">pe</span>;
-<li> refers to an entity <span class="name">e</span>;
-</ul>
-
-<div class='constraint' id='participation'>
-<a name="PIL:0014">
-Given a process execution <span class="name">pe</span> and entity <span class="name">e</span>, <span class="name">hadParticipant(pe,e)</span> holds <span class='conditional'>if and only if</span>:
-<ul> 
-<li> <span class="name">used(pe,e)</span> holds, or</li>
-<li> <span class="name">wasControlledBy(pe,e)</span> holds, or</li>
-<li>  <span class="name">wasComplementOf(e1,e)</span> holds for some entities <span class="name">e1</span>, and 
- <span class="name">hadParticipant(pe,e1)</span>  some process execution <span class="name">pe</span>.</li>
-</ul>
-</a>  [<a
-href="../ontology/ProvenanceFormalModel.html#PIL:0014">PIL:0014</a>]
-</div>
-
-
-
-<div class='note'>Is there a need for a similar concept that includes generated entities?</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>
-
-</section>
-
-
-<section id="expression-ProvenanceContainer">
-<h3>Provenance Container</h3>
-
-<p>A <dfn id="dfn-ProvenanceContainer">Provenance Container</dfn> is an identifiable wrapper for a set of PIDM constructs, which allows for additional meta-information pertaining to these constructs to be expressed. A provenance container MAY contain other provenance containers.</p> 
-
-<p>Such meta-information may be asserter, date of creation, justification for assertions, and cryptographic signature. </p>
-
-
-<p>A provenance container construct, noted <span class="name">provenanceContainer(id, constructs)</span>:
-<ul>
-<li> contains an identifier <span class="name">id</span>;</li>
-<li> contains a set of provenance constructs <span class="name">constructs</span>.</li>
-</ul>
-
-<p>How general meta-information is expressed is beyond the scope of this specification, except for a few key metatypes specified in the <a href="#expression-Account">Account</a> construct.</p>
-
-
-<div class='pending'>Asserter needs to be defined. This is <a href="http://www.w3.org/2011/prov/track/issues/51">ISSUE-51</a>.</div>
-
-</p>
-
-</section>
-
-<section id="expression-Account">
-<h3>Account</h3>
-
-<p>An <dfn id="dfn-Account">Account</dfn> is a special kind of provenance container forming a perspective on the world. </p> 
-
-<p>An account has a mandatory asserter.</p> 
-
-<p>An account provides a scope for some constraints associated with the constructs it wraps, such as the uniqueness of generation for a given entity.</p> 
-
-
-
-<p>An account construct, noted <span class="name">account(id, asserter, constructs)</span>:
-<ul>
-<li> contains an identifier <span class="name">id</span>;</li>
-<li> refers to an agent <span class="name">asserter</span>;</li>
-<li> contains a set of provenance constructs <span class="name">constructs</span>.</li>
-</ul>
-</p>
-
-<p> The union of two accounts can be defined by forming a container
-containing the unions of their respective constructs. Accounts are not
-closed under union because the constraints may no longer be satisfied
-in the resulting union.  </p>
-
-</section>
-
-<section id="expression-Collection">
-<h3>Collection</h3>
-
-<div class='note'>To be written in september.</div>
-
-This section is a placeholder for a specification of relations used to express structuring of entities into collections. That is:
-<ul>
-  <li>By introducing "entity collection" as a specialization of Entity (this will be a recursive definition: a collection is a type of Entity that contains other Entities, which may be collections).  The proposal is to initially introduce nested ordered lists, possibly labelled, as a kind of collection that is grounded in a well-defined theory and is used in practice (i.e., as a model of XML documents)
-
-  <li> part-of relations to express current and past membership of Entities as part of a collection.
-
-  </ul>
-
-Specifically, the following relations are envisioned (to be made precise later):
-  <ul>
-    <li> current containment:  <strong>wasMemberOf(&lt;entity&gt;, &lt;collection&gt;, &lt;position&gt;)</strong>
-    <li> former containment:   <strong>wasRemovedFRom(&lt;entity&gt;, &lt;collection&gt;, &lt;position&gt;)</strong>
-    <li> new containment:      <strong>wasAddedTo(&lt;entity&gt;, &lt;collection&gt;, &lt;position&gt;)</strong>
-    </ul>
-  
-</section>
-
-
-
-    </section> 
-
-    <section> 
-<h2>Shortcuts and extensions</h2>
-
-<div class='issue'>There are a number of commonly used provenance relations in particular for the web that are not in the model. For practical use and uptake, it would be good to have definitions of these in the provenance model. These concepts should be defined in terms of the already existing "core" concepts. This is  <a href="http://www.w3.org/2011/prov/track/issues/44">ISSUE-44</a>.</div>
-
-<section>
-<h3>Quotation</h3>
-
-Quotation represents the repeating or copying of some part of a characterized thing. 
-
-<p> An assertion wasQuoteOf, noted <span class="name"> wasQuoteOf(e2,e1,ag,ag2)</span>:
-<ul>
-<li>refers to an entity <span class="name">e2</span>, denoting the quote; 
-<li>refers to an entity <span class="name">e1</span>, denoting the entity being quoted;
-<li>MAY refer to an agent who is doing the quoting <span class="name">ag</span>;
-<li>MAY refer to the agent that is quoted <span class="name">ag</span>
-</ul>
-</p>
-<p>
-<span class="name">wasQuoteOf</span> is a sub-relation of <span class="name">wasRevisionOf</span>
-</p>
-
-</section>
-
-<section>
-<h3>Attribution</h3> 
-
-Attribution represents that a characterized thing is ascribed to an agent.
-
-<p> An assertion wasAttributedTo, noted <span class="name"> wasAttributedTo(e1,ag)</span>:
-<ul>
-<li>refers to an entity <span class="name">e2</span>, denoting the entity; 
-<li>refers to an agent who the entity is attributed to <span class="name">ag</span>.
-</ul>
-</p>
-<p>
-<span class="name">wasQuoteOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
-</p>
-
-
-</section>
-
-<section>
-<h3>Summary</h3>
-Represents a characterized thing that is a synopsis or abbreviation of another entity.
-
-<p> An assertion wasSummaryOf, noted <span class="name"> wasSummaryOf(e2,e1)</span>:
-<ul>
-<li>refers to an entity <span class="name">e2</span>, denoting the summary; 
-<li>refers to an entity <span class="name">e1</span>, denoting the entity being summarized. 
-</ul>
-</p>
-<p>
-<span class="name">wasSummaryOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
-</p>
-
-
-</section>
-
-<section>
-<h3>Original Source</h3>
-
-Represents a characterized thing in which another characterized thing first appeared. 
-
-<p> An assertion hasOriginalSource, noted <span class="name"> hasOriginalSource(e2,e1)</span>:
-<ul>
-<li>refers to an entity <span class="name">e2</span>, denoting the entity that first appeared; 
-<li>refers to an entity <span class="name">e1</span>, denoting the entity where that entity first appeared. 
-</ul>
-</p>
-<p>
-<span class="name">hasOriginalSource</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
-</p>
-
-
-</section>
-    </section> 
-
-
-<section class="appendix"> 
-      <h2>Illustration and Notation Conventions</h2> 
-
-      <p> In this section, we summarize the conventions adopted for the graphical illustration and the abstract syntax notation appearing in this specification. 
-      </p> 
-
-<div class='note'>Should we formalize the graphical illustration and abstract syntax notation. Where? Should they become normative?</div>
-
-<section id='illustration-convention'>
-      <h3>Illustration Conventions</h3> 
-<ul>
-<li>The graphical illustration aims to <em>illustrate</em> the provenance model. It is not intended to represent all the details of the model, and therefore, cannot be seen as a alternate notation for expressing provenance.</li>
-
-<li>The graphical illustration is a graph. </li>
-
-<li>entities, process executions and agents are represented as nodes, with oval, rectangular, and half-hexagonal shapes, respectively.  </li>
-
-<li>Use, Generation, Derivation, IVPof are represented as directed edges.</li>
-
-<li>entities are layed out according to temporal order (the temporal event at which they are generated).  Time SHOULD progress from left to right or from top to bottom.  This means that edges for Use, Generation and Derivation typically point from right to left or from bottom to top.</li>
-
-</ul>
-
-
-</section> 
-
-
-<section id='PASN-convention'>
-      <h3>Provenance Abstract Syntax Notation Conventions</h3> 
-<ul>
-<li>Constructs are expressed as <span class="name">name(arg0, arg1, ...)</span>, where the name of the construct occurs first, and is followed by its arguments.</li>
-<li>For use, generation, and derivation event, the first argument is the 'effect' (i.e. most recent item) and the second argument is the 'cause' (i.e. least recent item). This order is compatible with the temporal layout of the graphical notation.
-</li>
-<li> Preliminary BNF grammar for the Provenance Abstract Syntax Notation
-<pre data-include='grammar.html'></pre> 
-
-<div class='grammar'>
-<span class="nonterminal">expression</span>&nbsp;:=  
-<span class="nonterminal">node</span>   <!-- better name than node?? -->
-| <span class="nonterminal">relation</span> 
-| <span class="nonterminal">assertionBundle</span> 
-<br/>
-<!-- -->
-<span class="nonterminal">node</span>&nbsp;:=  
-<span class="nonterminal">entity</span> 
-|<span class="nonterminal">processExecution</span> 
-|<span class="nonterminal">agent</span> <br/>
-<!-- -->
-<span class="nonterminal">relation</span>&nbsp;:=  
-<span class="nonterminal">generation</span> 
-|<span class="nonterminal">use</span> 
-|<span class="nonterminal">derivation</span> 
-|<span class="nonterminal">control</span> 
-|<span class="nonterminal">complement</span> 
-|<span class="nonterminal">peOrdering</span> 
-|<span class="nonterminal">revision</span> 
-|<span class="nonterminal">participation</span> <br/>
-<!-- -->
-<span class="nonterminal">assertionBundles</span>&nbsp;:=  
-|<span class="nonterminal">container</span> 
-|<span class="nonterminal">account</span>  <br/>
-<!-- -->
-<br/>
-<span class="nonterminal">entity</span>&nbsp;:=  
-<span class="name">entity</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="name">[</span>
-<span class="nonterminal">attribute-values</span>
-<span class="name">]</span>
-<span class="name">)</span><br/>
-<!-- -->
-<span class="nonterminal">attribute-values</span>&nbsp;:=  
-<span class="nonterminal">attribute-value</span>
-|<span class="nonterminal">attribute-value</span> <span class="name">,</span> <span class="nonterminal">attribute-values</span>
-<br/>
-<span class="nonterminal">attribute-value</span>&nbsp;:=  
-<span class="nonterminal">attribute</span>
-<span class="name">:</span>
-<span class="nonterminal">Literal</span>
-<br/>
-<br/>
-
-<!-- -->
-<span class="nonterminal">generation</span>&nbsp;:=  
-<span class="name">wasGeneratedBy</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">role</span>
-<span class="name">)</span><br/>
-<br/>
-
-<!-- -->
-<span class="nonterminal">use</span>&nbsp;:=  
-<span class="name">used</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">role</span>
-<span class="name">)</span><br/>
-<br/>
-
-<!-- -->
-<span class="nonterminal">derivation</span>&nbsp;:=  <br/>
-<span class="name">wasDerivedFrom</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">processExecution</span>
-<span class="name">,</span>
-<span class="nonterminal">role</span>
-<span class="name">,</span>
-<span class="nonterminal">role</span>
-<span class="name">)</span><br/>
-| <span class="name">wasDerivedFrom</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">)</span><br/>
-| <span class="name">wasEventuallyDerivedFrom</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">)</span><br/>
-| <span class="name">dependedOn</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="nonterminal">identifier</span>
-<span class="name">)</span><br/>
-<!-- -->
-<br/>
-<span class="nonterminal">identifier</span>&nbsp;:=  <span class="nonterminal">token</span><br/>
-<span class="nonterminal">role</span>&nbsp;:=  <span class="nonterminal">token</span><br/>
-<span class="nonterminal">attribute</span>&nbsp;:=  <span class="nonterminal">token</span><br/>
-<span class="nonterminal">Literal</span>&nbsp;:=  <span class="nonterminal">string</span> <!-- to be revisited -->
-|<span class="nonterminal">number</span>
-|<span class="nonterminal">time</span><br/>
-<br/>
-</div>
-</li>
-</ul>
-</section> 
-
-    </section> 
-
-<section class="appendix"> 
-      <h2>Acknowledgements</h2> 
-      <p> 
-        WG membership to be listed here.
-      </p> 
-    </section> 
-   
- </body></html>