collections
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 28 Mar 2012 14:22:51 +0100
changeset 2050 70412d398aa9
parent 2049 ac0553656641
child 2051 8098b335db6d
child 2052 da6e42e07436
collections
model/glossary.html
model/glossary.js
model/prov-dm.html
--- a/model/glossary.html	Wed Mar 28 13:55:51 2012 +0100
+++ b/model/glossary.html	Wed Mar 28 14:22:51 2012 +0100
@@ -39,7 +39,7 @@
 </span>
 
 <span class="glossary" id="glossary-collection">  
-A <dfn id="concept-collection">collection</dfn> is an entity that provides  structure to some constituents, which are themselves entities. 
+A <dfn id="concept-collection">collection</dfn> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be <dfn>part of</dfn> the collections. 
 </span>
 
 <span class="glossary" id="glossary-account">  
--- a/model/glossary.js	Wed Mar 28 13:55:51 2012 +0100
+++ b/model/glossary.js	Wed Mar 28 14:22:51 2012 +0100
@@ -46,7 +46,7 @@
 '</span> ' + 
 ' ' + 
 '<span class="glossary" id="glossary-collection">   ' + 
-'A <dfn id="concept-collection">collection</dfn> is an entity that provides  structure to some constituents, which are themselves entities.  ' + 
+'A <dfn id="concept-collection">collection</dfn> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be <dfn>part of</dfn> the collections.  ' + 
 '</span> ' + 
 ' ' + 
 '<span class="glossary" id="glossary-account">   ' + 
--- a/model/prov-dm.html	Wed Mar 28 13:55:51 2012 +0100
+++ b/model/prov-dm.html	Wed Mar 28 14:22:51 2012 +0100
@@ -1947,7 +1947,6 @@
 
 <p>The intent of these relations and types is to express the <em>history of changes that occurred to a collection</em>. 
 Changes to collections are about the insertion of parts to collections and the removal of parts from collections.
- For the purpose of provenance, a collection entity is viewed as a snapshot of a collection. Insertion and removal operations result in new snapshots, each snapshot forming an identifiable collection entity.
 Indirectly, such history provides a way to reconstruct, the contents of a collection.</p>
 
 <section id="term-collection">
@@ -1956,7 +1955,11 @@
 <span class="glossary-ref" data-ref="glossary-collection"></span>
 
 
-<p>A collection is an entity that has a logical internal structure consisting of key-value pairs, often referred to as a <strong>map</strong>. This collection type is an abstraction of a generic indexing structure that can be used to model commonly used data structures, including associative lists (also known as "dictionaries" in some programming languages), relational tables, ordered lists, and more (the specification of such specialized structures in terms of key-value pairs is out of the scope of this document).,</p>
+<p>Conceptually, a collection has a logical structure consisting of key-entity pairs. This structure is often referred to as a <em>map</em>, and is a generic indexing mechanisms that can abstract commonly used data structures, including associative lists (also known as "dictionaries" in some programming languages), relational tables, ordered lists, and more (the specification of such specialized structures in terms of key-value pairs is out of the scope of this document).</p>
+
+<p>A given collection forms a given structure for its  parts.  A different structure (obtained either by insertion or removal parts) constitutes a different collection. Hence,
+ for the purpose of provenance, a collection entity is viewed as a snapshot of a structure. Insertion and removal operations result in new snapshots, each snapshot forming an identifiable collection entity.</p>
+
 
 <p>PROV-DM defines the following types related to collections:</p>
 
@@ -1976,7 +1979,7 @@
 
 <div class="anexample">
 <pre class="codeexample">
-entity(c,  [prov:type="EmptyCollection" %% xsd:QName])  // e is an empty collection
+entity(c,  [prov:type="EmptyCollection" %% xsd:QName])  // c is an empty collection
 entity(c1, [prov:type="Collection"  %% xsd:QName])      // c1 is a collection, with unknown content
 </pre>
 </div>
@@ -1992,16 +1995,17 @@
 <span class="glossary-ref" data-ref="glossary-insertion"></span>
 
 
-<p>
-<strong>Derivation-by-Insertion</strong> relation <span class="name">derivedByInsertionFrom(id, c2, c1,  {(key_1, value_1), ..., (key_n, value_n)})</span> states that  <span class="name">c2</span> is the state of the collection
-following the insertion of pairs <span class="name"> {(key_1, value_1), ..., (key_n, value_n)}</span> into collection  <span class="name">c1</span>, with the provision that each <span class="name">key_i</span> is unique.
-
-<p> A Derivation-by-Insertion relation<span class="withPn">, written <span class="pnExpression"> derivedByInsertionFrom(id, collAfter, collBefore, key-value-set, attrs)</span>,</span> contains:</p>
+
+<p><div class="attributes" id="attributes-derivedByInsertionFrom">
+A <dfn title="derivedByInsertionFrom">Derivation-by-Insertion</dfn> relation <span class="name">derivedByInsertionFrom(id, c2, c1,  {(key_1, e_1), ..., (key_n, e_n)})</span> states that  <span class="name">c2</span> is the state of the collection
+following the insertion of pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> into collection  <span class="name">c1</span>, with the provision that each <span class="name">key_i</span> is unique.
+
+<p> A Derivation-by-Insertion relation<span class="withPn">, written <span class="pnExpression"> derivedByInsertionFrom(id, c2, c1, key-value-set, attrs)</span>,</span> contains:</p>
 <ul>
 <li><span class='attribute'>id</span>:  an OPTIONAL identifier identifying the relation;</li>
-<li><span class='attribute'>after</span>: an identifier for the collection <em>after</em> insertion; </li>
-<li><span class='attribute'>before</span>: an identifier for the collection <em>before</em> insertion;</li>
-<li><span class='attribute'>key-value-set</span>: the inserted key-value pairs, of the form {(key_1, value_1), ..., (key_n, value_n)} where each key_i is a value, and value_i is an identifier  for the value that has been inserted with the key. This may be an entity identifier;</li>
+<li><span class='attribute'>after</span>: an identifier (<span class="name">c2</span>) for the collection <em>after</em> insertion; </li>
+<li><span class='attribute'>before</span>: an identifier (<span class="name">c1</span>) for the collection <em>before</em> insertion;</li>
+<li><span class='attribute'>key-value-set</span>: the inserted key-value pairs, of the form {(key_1, e_1), ..., (key_n, e_n)} where each key_i is a value, and e_i is an identifier  for the value that has been inserted with the key. This may be an entity identifier;</li>
 <li><span class='attribute'>attributes</span>: an OPTIONAL set of attribute-value pairs to further describe the properties of the relation.</li>
 </ul>
 
@@ -2100,13 +2104,13 @@
 
 <p>
 The insertion and removal relations make insertions and removals explicit as part of the history of a collection. This, however, requires explicit mention of the state of the collection prior to each insertion. The membership relation removes this needs, allowing the state of a collection <span class="name">c</span> to be asserted without having to introduce a prior state. This allows for the natural expression of a collection state, for instance in cases where a program or workflow block produces a new collection <span class="name">c</span>  with known content. In such cases, 
-<span class="name">memberOf(id, c,{(key_1, value_1), ..., (key_n, value_n)})</span> asserts that  <span class="name">c</span> is known to include <span class="name">{(key_1, value_1), ..., (key_n, value_n)}</span>, without having to introduce an initial state. <br/>
+<span class="name">memberOf(id, c,{(key_1, e_1), ..., (key_n, e_n)})</span> asserts that  <span class="name">c</span> is known to include <span class="name">{(key_1, e_1), ..., (key_n, e_n)}</span>, without having to introduce an initial state. <br/>
 
 <p> A <strong>Membership</strong> relation, written <span class="pnExpression"> memberOf(id, coll, key-value-set, attrs)</span>, contains:</p>
 <ul>
 <li><span class='attribute'>id</span>:  an OPTIONAL identifier identifying the relation;</li>
 <li><span class='attribute'>after</span>: an identifier  for the collection whose members are asserted; </li>
-<li><span class='attribute'>key-value-set</span>: a set of key-value pairs that are members of the collection, of the form {(key_1, value_1), ..., (key_n, value_n)}</li>
+<li><span class='attribute'>key-value-set</span>: a set of key-value pairs that are members of the collection, of the form {(key_1, e_1), ..., (key_n, e_n)}</li>
 <li><span class='attribute'>attributes</span>: an OPTIONAL set of attribute-value pairs to further describe the properties of the relation.</li>
 
 </ul>