additional edits to 6.8
authorPaolo Missier <pmissier@acm.org>
Fri, 20 Jan 2012 12:20:55 +0000
changeset 1425 19b676b49051
parent 1424 5c78159bc626
child 1426 ccfd5a5a376f
additional edits to 6.8
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Fri Jan 20 12:07:27 2012 +0000
+++ b/model/ProvenanceModel.html	Fri Jan 20 12:20:55 2012 +0000
@@ -3585,7 +3585,7 @@
 one can infer: <span class="name">c1==c2, k1==k2, v1==v</span>.<p/>
 
 
-<li> The state of a collection is only known to the extent that a chain of derivations starting from an empty collection can be found. It is understood that a set of assertions regarding a collection's evolution may be incomplete, and therefore so is the reconstructed state obtained by querying those assertions. For example:
+<li> The state of a collection is only known to the extent that a chain of derivations starting from an empty collection can be found. It is understood that a set of assertions regarding a collection's evolution may be incomplete, and therefore so is the reconstructed state obtained by querying those assertions. In general, all assertions reflect the asserter's partial knowledge of a sequence of data transformation events. In the particular case of collection evolution, in which the asserter  <em>knows</em> that some of the state changes may have been missed, then the more generic <span class="name">wasDerivedFrom</span> relation should be used to signal that some updates may have occurred, which cannot be precisely asserted as insertions or removals. The following two examples illustrate this.
 
 <div class="anexample">
 <pre class="codeexample">
@@ -3599,7 +3599,22 @@
   <span class="name">CollectionAfterInsertion(c2, c1, k2, v2) </span>      // c2 includes { (k1,v1), (k2 v2) } where v2 is a collection with unknown state
 </pre>
 </div>
-  In the example, the state of <span class="name">c2</span> is only partially known.
+  In the example, the state of <span class="name">c2</span> is only partially known because the collection is constructed from partially known other collections.
+
+<div class="anexample">
+<pre class="codeexample">
+  <span class="name">entity(c, [prov:type="emptyCollection"])</span>    // <span class="name">e</span> is an empty collection
+  <span class="name">entity(k1).
+  <span class="name">entity(v1).
+  <span class="name">entity(k2).
+  <span class="name">entity(v2).
+
+  <span class="name">CollectionAfterInsertion(c1, c, k1, v1) </span>      // c1 = { (k1,v1) }
+  <span class="name">wasDerivedFrom(c2, c1) </span>                       // the asserted knows that c2 is somehow derived from c1, but cannot assert the precise sequence of updates
+    <span class="name">CollectionAfterInsertion(c3, c2, k2, v2) </span>      
+</pre>
+</div>
+Here  <span class="name">c3</span> includes <span class="name">{ (k2 v2) }</span> but the earlier "gap" leaves uncertainty regarding  <span class="name">(k1,v1)</span>  (it may have been removed) or any other pair that may have been added as part of the derivation activities.
 
 </ul>