--- a/model/working-copy/prov-dm-constraints.html Wed Feb 15 09:58:44 2012 +0000
+++ b/model/working-copy/prov-dm-constraints.html Wed Feb 15 10:02:39 2012 +0000
@@ -1074,94 +1074,7 @@
<section id="term-Collection">
<h3>Collections</h3>
-<div class='issue'>
-Section in flux to address
-various comments about collections:
-<a href="http://www.w3.org/2011/prov/track/issues/135">ISSUE-135</a>,
-<a href="http://www.w3.org/2011/prov/track/issues/135">ISSUE-136</a>,
-<a href="http://www.w3.org/2011/prov/track/issues/135">ISSUE-137</a>,
-<a href="http://www.w3.org/2011/prov/track/issues/135">ISSUE-138</a>
-<a href="http://www.w3.org/2011/prov/track/issues/135">ISSUE-139</a>
-</div>
-
-<ul>
-
- <li> One can have multiple assertions regarding the state of a collection following a <em>set</em> of insertions, for example:<br/>
-<span class="name">CollectionAfterInsertion(c2,c1, k1, v1)</span><br/>
-<span class="name">CollectionAfterInsertion(c2,c1, k2, v2)</span><br/>
- <span class="name">...</span><br/>
-This is interpreted as <em>" <span class="name">c2</span> is the state that results from inserting <span class="name">(k1, v1)</span>, <span class="name">(k2, v2)</span> etc. into <span class="name">c1</span></em></li>
-
-<li> It is possible to have multiple derivations from a single root collection, possibly by different asserters, as shown in the following example.
-
-<div class="anexample">
-<pre class="codeexample">
- entity(c, [prov:type="EmptyCollection"]) // e is an empty collection
- entity(k1)
- entity(v1)
- entity(k2)
- entity(v2)
- entity(k3)
- entity(v3)
- entity(c1, [prov:type="Collection"])
- entity(c2, [prov:type="Collection"])
- entity(c3, [prov:type="Collection"])
-
- CollectionAfterInsertion(c1, c, k1, v1) // c1 = { (k1,v1) }
- CollectionAfterInsertion(c2, c, k2, v2) // c2 = { (k2 v2) }
- CollectionAfterInsertion(c3, c1, k3,v3) // c3 = { (k1,v1), (k3,v3) }
-</pre>
-</div>
-</li>
-
-<li>Both relations are functional, in the sense that they represent a state change following a unique insertion/removal operation (or a unique set of them). Thus, from the pair of assertions:
-
-<span class="name">CollectionAfterInsertion(c, c1, k1, v1)</span><br/>
-<span class="name">CollectionAfterInsertion(c, c2, k2, v2)</span><br/>
-
-one can infer: <span class="name">c1==c2, k1==k2, v1==v2</span>, because one cannot have two different derivations for the same final collection state.</li>
-
-<li>The following set of insertions:<br/>
-
-<span class="name">CollectionAfterInsertion(c1, c, k, v1)</span><br/>
-<span class="name">CollectionAfterInsertion(c1, c, k, v2)</span><br/>
-
-entails <span class="name">v1==v2</span>.</li>
-
-
-<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">
- entity(c, [prov:type="collection"]) // e is a collection, possibly not empty
- entity(k1)
- entity(v1)
- entity(k2)
- entity(v2, [prov:type="collection"]) // v2 is a collection
-
- CollectionAfterInsertion(c1, c, k1, v1) // c1 <em>includes</em> { (k1,v1) } but may contain additional unknown pairs
- CollectionAfterInsertion(c2, c1, k2, v2) // 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 because the collection is constructed from partially known other collections.
-
-<div class="anexample">
-<pre class="codeexample">
- entity(c, [prov:type="emptyCollection"]) // e is an empty collection
- entity(k1)
- entity(v1)
- entity(k2)
- entity(v2)
-
- CollectionAfterInsertion(c1, c, k1, v1) // c1 = { (k1,v1) }
- wasDerivedFrom(c2, c1) // the asserted knows that c2 is somehow derived from c1, but cannot assert the precise sequence of updates
- CollectionAfterInsertion(c3, c2, k2, v2)
-</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>
-
+<p>Nothing specific, here, everything in Collection constraint section</p>
</section>