--- a/model/working-copy/wd5-prov-dm-collections.html Wed Mar 14 12:22:31 2012 +0000
+++ b/model/working-copy/wd5-prov-dm-collections.html Wed Mar 14 14:16:20 2012 +0000
@@ -411,11 +411,11 @@
entity(v1)
entity(v2)
- derivedByInsertionFrom(c1, c, {("k1", v1), ("k2", v2)})
+ derivedByBulkInsertionFrom(c1, c, {("k1", v1), ("k2", v2)})
derivedByInsertionFrom(c2, c1, "k3", v3)
- derivedByRemovalFrom(c3, c1, {"k1", "k3"})
+ derivedByBulkRemovalFrom(c3, c1, {"k1", "k3"})
- contained(c3, {("k4", v4), ("k5", v5)})
+ containedBulk(c3, {("k4", v4), ("k5", v5)})
</pre>
From this set of assertions, we conclude:
<pre class="codeexample">
--- a/model/working-copy/wd5-prov-n.html Wed Mar 14 12:22:31 2012 +0000
+++ b/model/working-copy/wd5-prov-n.html Wed Mar 14 14:16:20 2012 +0000
@@ -888,6 +888,7 @@
<span class="nonterminal">eIdentifier</span>
<span class="name">,</span>
<span class="nonterminal">eIdentifier</span>
+<span class="name">,</span>
<span class="nonterminal">optional-attribute-values</span>
<span class="name">)</span>
</div>
@@ -950,8 +951,228 @@
</section>
</section>
+
<section id="component5">
<h3>Component 5: Collections</h3>
+
+<section id="term-collection-insertion">
+<h3>Insertion</h3>
+
+A Derivation-by-Insertion relation's text matches the <span class="nonterminal">derivationByInsertionFromExpression</span> production.</p>
+
+<div class="grammar">
+ <span class="nonterminal">derivationByInsertionFromExpression</span> ::=
+<span class="name">derivedByInsertionFrom</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">identifier</span>
+ <span class="name">,</span></span>
+<span class="nonterminal">afterIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">beforeIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">keyidentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">validentifier</span>
+<span class="name">,</span>
+<span class="nonterminal">optional-attribute-values</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<div class="anexample">
+<pre class="codeexample">
+derivedByInsertionFrom(id, c1, c, "k1", v1)
+derivedByInsertionFrom(id, c1, c, "k1", v1, [])
+</pre>
+</div>
+
+
+</section>
+
+<section id="term-collection-removal">
+<h3>Removal</h3>
+
+A Derivation-by-Removal relation's text matches the <span class="nonterminal">derivationByRemovalFromExpression</span> production.</p>
+
+<div class="grammar">
+ <span class="nonterminal">derivationByRemovalFromExpression</span> ::=
+<span class="name">derivedByRemovalFrom</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">identifier</span>
+ <span class="name">,</span></span>
+<span class="nonterminal">afterIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">beforeIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">keyidentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">optional-attribute-values</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<div class="anexample">
+<pre class="codeexample">
+derivedByRemovalFrom(id, c1, c, "k1")
+derivedByRemovalFrom(id, c1, c, "k1", [])
+ </pre>
+</div>
+
+</section>
+
+
+<section id="term-collection-containment">
+<h3>Containment</h3>
+
+A Containment relation's text matches the <span class="nonterminal">containedExpression</span> production.</p>
+
+<div class="grammar">
+ <span class="nonterminal">containedExpression</span> ::=
+<span class="name">contained</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">identifier</span>
+ <span class="name">,</span></span>
+<span class="nonterminal">afterIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">keyidentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">validentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">optional-attribute-values</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<div class="anexample">
+<pre class="codeexample">
+contained(id, c, "k", v)
+contained(id, c, "k", v,[])
+</pre>
+</div>
+
+</section>
+
+<section id="collection-convenience-relations">
+<h3>Convenience relations</h3>
+
+A Derivation-by-Bulk-Insertion relation's text matches the <span class="nonterminal">derivationByBulkInsertionFromExpression</span> production.</p>
+
+<div class="grammar">
+ <span class="nonterminal">derivationByBulkInsertionFromExpression</span> ::=
+<span class="name">derivedByBulkInsertionFrom</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">identifier</span>
+ <span class="name">,</span></span>
+<span class="nonterminal">afterIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">beforeIdentifier</span>
+ <span class="name">,</span>
+ <span class="name">{</span>
+ <span class="nonterminal">keyValuePairs</span>
+ <span class="name">}</span>
+<span class="name">,</span>
+<span class="nonterminal">optional-attribute-values</span>
+ <span class="name">)</span>
+</div>
+
+<div class="anexample">
+ <pre class="codeexample">
+ derivedByBulkInsertionFrom(c1, c, {("k1", v1), ("k2", v2)})
+ derivedByBulkInsertionFrom(c1, c, {("k1", v1), ("k2", v2)}), []
+</pre>
+</div>
+
+<p> A Derivation-by-Bulk-Removal relation's text matches the <span class="nonterminal">derivationByBulkRemovalFromExpression</span> production.</p>
+
+
+<div class="grammar">
+ <span class="nonterminal">derivationByBulkRemovalFromExpression</span> ::=
+<span class="name">derivedByRemovalFrom</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">identifier</span>
+ <span class="name">,</span></span>
+<span class="nonterminal">afterIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">beforeIdentifier</span>
+ <span class="name">,</span>
+ <span class="name">{</span>
+ <span class="nonterminal">keySet</span>
+ <span class="name">}</span>
+ <span class="name">,</span>
+<span class="nonterminal">optional-attribute-values</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<div class="anexample">
+<pre class="codeexample">
+ derivedByBulkRemovalFrom(c3, c1, {"k1", "k3"})
+ derivedByBulkRemovalFrom(c3, c1, {"k1", "k3"}, [])
+
+</pre>
+ </div>
+
+
+<p> A Bulk-Containment relation's text matches the <span class="nonterminal">containedBulkExpression</span> production.</p>
+
+<div class="grammar">
+ <span class="nonterminal">containedBulkExpression</span> ::=
+<span class="name">contained</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">identifier</span>
+ <span class="name">,</span></span>
+<span class="nonterminal">afterIdentifier</span>
+ <span class="name">,</span>
+ <span class="name">{</span>
+ <span class="nonterminal">keyValuePairs</span>
+ <span class="name">}</span>
+<span class="nonterminal">validentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">optional-attribute-values</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<div class="anexample">
+ <pre class="codeexample">
+ containedBulk(c3, {("k4", v4), ("k5", v5)})
+ containedBulk(c3, {("k4", v4), ("k5", v5)},[])
+</pre>
+</div>
+
+ In the productions above, nonterminals <span class="nonterminal">keyValuePairs</span> and <span class="nonterminal">keySet</span> are defined as follows.
+
+
+ <div class="grammar">
+<span class="nonterminal">keyValuePairs</span> ::=
+<span class="name">(</span>
+ <span class="nonterminal">keyidentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">validentifier</span>
+ <span class="name">)</span>
+|
+<span class="name">(</span>
+ <span class="nonterminal">keyidentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">validentifier</span>
+<span class="name">)</span>
+ <span class="name">,</span>
+<span class="nonterminal">keyValuePairs</span>
+</div>
+
+ <div class="grammar">
+<span class="nonterminal">keySet</span> ::=
+ <span class="nonterminal">keyidentifier</span>
+|
+ <span class="nonterminal">keyidentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">keySet</span>
+</div>
+
+
+</section>
+
+
</section> <!-- end collections-->
<section id="component6">
<h3>Component 6: Annotations</h3>