--- a/model/ProvenanceModel.html Tue Dec 20 11:21:26 2011 +0000
+++ b/model/ProvenanceModel.html Wed Dec 21 07:54:59 2011 +0000
@@ -1460,7 +1460,7 @@
-<p>In the context of PROV-DM, a <dfn>plan</dfn> should be understood as the descriptioni of a set of
+<p>In the context of PROV-DM, a <dfn>plan</dfn> should be understood as the description of a set of
actions or steps intended by one or more agents to achieve some goal. PROV-DM is not
prescriptive about the nature of plans, their representation, the
actions and steps they consist of, and their intended goals. Hence,
@@ -2860,111 +2860,6 @@
</div>
-<section id="record-Collection">
-<h3>Collections</h3>
-
-The purpose of this section is to enable modelling of part-of relationships amongst entities. In particular, a form of <strong>collection</strong> entity type is introduced, consisting of a set of key-value pairs. Key-value pairs provide 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.<br/>
-
-The relations introduced here are all specializations of the <a href="#record-Derivation"><strong>wasDerivedFrom</strong></a> relation, specifically precise-1 or imprecise-1. They are designed to model:
-
-<ul>
- <li><strong>insertion</strong>: a collection entity c' is obtained from collection entity c, by adding entity e having key k to c;
- <li><strong>removal</strong>: a collection entity c' is obtained from collection entity c, by removing entity e having key k from c;
- <li><strong>selection</strong>: an entity e was selected from collection c using key k.
- </ul>
-
- A collection record is defined as follows.
-<div class='grammar'>
- <span class="nonterminal">collectionRecord</span> ::=
-<span class="nonterminal">collectionDerivationRecord</span>
-| <span class="nonterminal">keyDerivationRecord</span>
-| <span class="nonterminal">entityMembershipRecord</span>
-<br/>
-
- <span class="nonterminal">collectionDerivationRecord</span> ::=
-<span class="name">wasAddedTo_Coll</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="name">wasRemovedFrom_Coll</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="nonterminal">keyDerivationRecord</span> ::=
-<span class="name">wasAddedTo_Key</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="name">wasRemovedFrom_Key</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="nonterminal">entityMembershipRecord</span> ::=
-<span class="name">wasAddedTo_Entity</span>
- <span class="name">(</span>
- <span class="nonterminal">identifier</span>
- <span class="name">,</span>
-<span class="nonterminal">identifier</span>
- <span class="name">)</span>
-<br/>
- </div>
-
-<p> Record: <span class="name">wasAddedTo_Coll(c2,c1)</span> (resp. <span class="name">wasRemovedFrom_Coll(c2,c1)</span>) denotes that collection <span class="name">c2</span> is an updated version of collection <span class="name">c1</span>, following an insertion (resp. deletion) operation.</p>
-
-<p> Record: <span class="name">wasAddedTo_Key(c,k)</span> (resp. <span class="name">wasRemovedFrom_Key(c,k)</span>) denotes that collection <span class="name">c</span> had
- a new value with key <span class="name">k</span> added to (resp. removed from) it.</p>
-
-<p> Record: <span class="name">wasAddedTo_Entity(c,e)</span> denotes that collection <span class="name">c</span> had entity
- <span class="name">e</span> added to it.
-</p>
-
-
-<div class="anexample">
-<p>Consider the following assertions:</p>
-<pre class="codeexample">
-
-
- <span class="name">wasAddedTo_Coll(c2,c1)</span>
- <span class="name">wasAddedTo_Key(c2,k1)</span>
- <span class="name">wasAddedTo_Entity(c2,e1)</span>
-
- <span class="name">wasAddedTo_Coll(c3,c2)</span>
- <span class="name">wasAddedTo_Key(c3,k2)</span>
- <span class="name">wasAddedTo_Entity(c3,e2)</span>
-
- <span class="name">wasRemovedFrom_Coll(c4,c3)</span>
- <span class="name">wasRemovedFrom_Key(c4,k1)</span>
-</pre>
-<p>The corresponding graphical representation is shown below.</p>
-
-<div style="text-align: center;">
-<img src="collections.png" alt="collections"/>
-</div>
-
-
-<p> With these assertions:</p>
- <ul>
- <li><span class="name">c2</span> is known to contain the key-value pair <span class="name">(k1,e1)</span>
- <li><span class="name">c3</span> is known to contain pairs <span class="name">(k1,e1)</span> and <span class="name">(k2,e2)</span>.
- <li><span class="name">c4</span> is known <em>not</em> to contain pair <span class="name">(k1,e1)</span> and to contain pair <span class="name">(k2,e2)</span>.
- </ul>
-</div>
-
- </section>
<section id="record-traceability">
<h3>Traceability Record</h3>
@@ -3425,6 +3320,113 @@
</div>
</section>
+
+<section id="record-Collection">
+<h3>Collections</h3>
+
+The purpose of this section is to enable modelling of part-of relationships amongst entities. In particular, a form of <strong>collection</strong> entity type is introduced, consisting of a set of key-value pairs. Key-value pairs provide 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.<br/>
+
+The relations introduced here are all specializations of the <a href="#record-Derivation"><strong>wasDerivedFrom</strong></a> relation, specifically precise-1 or imprecise-1. They are designed to model:
+
+<ul>
+ <li><strong>insertion</strong>: a collection entity c' is obtained from collection entity c, by adding entity e having key k to c;
+ <li><strong>removal</strong>: a collection entity c' is obtained from collection entity c, by removing entity e having key k from c;
+ <li><strong>selection</strong>: an entity e was selected from collection c using key k.
+ </ul>
+
+ A collection record is defined as follows.
+<div class='grammar'>
+ <span class="nonterminal">collectionRecord</span> ::=
+<span class="nonterminal">collectionDerivationRecord</span>
+| <span class="nonterminal">keyDerivationRecord</span>
+| <span class="nonterminal">entityMembershipRecord</span>
+<br/>
+
+ <span class="nonterminal">collectionDerivationRecord</span> ::=
+<span class="name">wasAddedTo_Coll</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="name">wasRemovedFrom_Coll</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="nonterminal">keyDerivationRecord</span> ::=
+<span class="name">wasAddedTo_Key</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="name">wasRemovedFrom_Key</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="nonterminal">entityMembershipRecord</span> ::=
+<span class="name">wasAddedTo_Entity</span>
+ <span class="name">(</span>
+ <span class="nonterminal">identifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">identifier</span>
+ <span class="name">)</span>
+<br/>
+ </div>
+
+<p> Record: <span class="name">wasAddedTo_Coll(c2,c1)</span> (resp. <span class="name">wasRemovedFrom_Coll(c2,c1)</span>) denotes that collection <span class="name">c2</span> is an updated version of collection <span class="name">c1</span>, following an insertion (resp. deletion) operation.</p>
+
+<p> Record: <span class="name">wasAddedTo_Key(c,k)</span> (resp. <span class="name">wasRemovedFrom_Key(c,k)</span>) denotes that collection <span class="name">c</span> had
+ a new value with key <span class="name">k</span> added to (resp. removed from) it.</p>
+
+<p> Record: <span class="name">wasAddedTo_Entity(c,e)</span> denotes that collection <span class="name">c</span> had entity
+ <span class="name">e</span> added to it.
+</p>
+
+
+<div class="anexample">
+<p>Consider the following assertions:</p>
+<pre class="codeexample">
+
+
+ <span class="name">wasAddedTo_Coll(c2,c1)</span>
+ <span class="name">wasAddedTo_Key(c2,k1)</span>
+ <span class="name">wasAddedTo_Entity(c2,e1)</span>
+
+ <span class="name">wasAddedTo_Coll(c3,c2)</span>
+ <span class="name">wasAddedTo_Key(c3,k2)</span>
+ <span class="name">wasAddedTo_Entity(c3,e2)</span>
+
+ <span class="name">wasRemovedFrom_Coll(c4,c3)</span>
+ <span class="name">wasRemovedFrom_Key(c4,k1)</span>
+</pre>
+<p>The corresponding graphical representation is shown below.</p>
+
+<div style="text-align: center;">
+<img src="collections.png" alt="collections"/>
+</div>
+
+
+<p> With these assertions:</p>
+ <ul>
+ <li><span class="name">c2</span> is known to contain the key-value pair <span class="name">(k1,e1)</span>
+ <li><span class="name">c3</span> is known to contain pairs <span class="name">(k1,e1)</span> and <span class="name">(k2,e2)</span>.
+ <li><span class="name">c4</span> is known <em>not</em> to contain pair <span class="name">(k1,e1)</span> and to contain pair <span class="name">(k2,e2)</span>.
+ </ul>
+</div>
+
+ </section>
+
</section>
<section id="constraints">
@@ -3778,6 +3780,10 @@
<section class="appendix">
<h2>Changes Since Second Public Working Draft</h2>
<ul>
+<li>12/21/11: Moved Collections from 6.1 to 6.8. </li>
+<li>12/20/11: Created a section on structural constraints. </li>
+<li>12/19/11: Made plan entity and added extra parameter to wasAssociatedWith. </li>
+<li>12/17/11: Replaced wasComplementOf with viewOf and [foobar] </li>
<li>12/13/11: Introduced hadPlan as a specialization of wasAssociatedWith. </li>
<li>12/12/11: Section 7 on interpretation. </li>
<li>12/08/11: Restructuring of Constraints. </li>