prov-n edits -- added explanations for each example
authorPaolo Missier <pmissier@acm.org>
Tue, 17 Apr 2012 22:45:52 +0100
changeset 2359 d7ffac689c72
parent 2358 b739eba15e36
child 2362 4509064b6e5f
prov-n edits -- added explanations for each example
model/prov-n.html
--- a/model/prov-n.html	Tue Apr 17 22:08:36 2012 +0100
+++ b/model/prov-n.html	Tue Apr 17 22:45:52 2012 +0100
@@ -523,7 +523,7 @@
 <section id="prov-n-expressions"> 
 <h2>PROV-N Productions per Component</h2>
 
-This section introduces grammar productions for each expression type, followed by small examples illustrating the use of expressions in PROV-N. </p> 
+This section  introduces grammar productions for each expression type, followed by small examples illustrating the use of expressions in PROV-N. Strings conforming to the grammar are valid expressions in the PROV-N language.<p/>
 
 <section id="component1"> 
 <h3>Component 1: Entities and Activities</h3>
@@ -534,9 +534,6 @@
 <div class="withPn">
 <p>
 
-<p> The <span class="nonterminal">entityExpression</span> production encodes entity predicates.</p>
-
-</p>
 
 <div class='grammar'>
 <span class="nonterminal">entityExpression</span>&nbsp;::=  
@@ -582,9 +579,6 @@
 <section id="expression-Activity"> 
 <h4>Activity</h4>
 
-   <p>The <span class="nonterminal">activityExpression</span> production encodes activity predicates.</p>
-
-
 <div class='grammar'>
 <span class="nonterminal">activityExpression</span>&nbsp;::=  
 <span class="name">activity</span>
@@ -623,7 +617,6 @@
 
 
 <div class="withPn">
-     <p>The <span class="nonterminal">generationExpression</span> production encodes generation predicates.</p>
 
 <div class='grammar'>
 <span class="nonterminal">generationExpression</span>&nbsp;::=  
@@ -645,7 +638,7 @@
 wasGeneratedBy(ex:g1, tr:WD-prov-dm-20111215, ex:edit1, 2011-11-16T16:00:00,  [ex:fct="save"])
 </pre>
   Here <span class="name">ex:g1</span> is the optional generation identifier, <span class="name">tr:WD-prov-dm-20111215</span> is the identifier of the entity being generated,
-  <span class="name">ex:edit1</span> is the optional identifier of the generating activity, <span class="name">2011-11-16T16:00:00</span> is the generation time, and <span class="name"> [ex:fct="save"]</span> are optional attributes. <br/>
+  <span class="name">ex:edit1</span> is the optional identifier of the generating activity, <span class="name">2011-11-16T16:00:00</span> is the optional generation time, and <span class="name"> [ex:fct="save"]</span> are optional attributes. <br/>
 The remaining examples show cases where some of the optionals are omitted.
   
 <pre class="codeexample">
@@ -667,8 +660,6 @@
 <section id="expression-Usage">
 <h4>Usage</h4>
 
-     <p>The <span class="nonterminal">usageExpression</span> production encodes usage predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">usageExpression</span>&nbsp;::=  
 <span class="name">used</span>
@@ -684,7 +675,16 @@
 
 
 <div class="anexample">
+  
 <pre class="codeexample">
+used(ex:u1, ex:act2, ar3:0111, 2011-11-16T16:00:00, [ex:fct="load"])
+ </pre>
+  Here <span class="name">ex:u1</span> is the optional usage identifier,  <span class="name">ex:act2</span> is the identifier of the using activity,
+  <span class="name">ar3:0111</span> is the identifier of the entity being used,
+ <span class="name">2011-11-16T16:00:00</span> is the optional usage time, and <span class="name"> [ex:fct="load"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+  <pre class="codeexample">
 used(ex:act2, ar3:0111, -)
 used(ex:act2, ar3:0111, 2011-11-16T16:00:00)
 used(a1,e1, -, [ex:fct="load"])
@@ -698,9 +698,6 @@
 <section id="expression-Start">
 <h4>Start</h4>
 
-
-     <p>The <span class="nonterminal">startExpression</span> production encodes activity start predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">startExpression</span>&nbsp;::= 
 <span class="name">wasStartedBy</span>
@@ -715,7 +712,16 @@
 </div>
 
 <div class="anexample">
-<pre class="codeexample">
+
+  <pre class="codeexample">
+wasStartedBy(s, ex:act2, ar3:0111, 2011-11-16T16:00:00, [ex:param="a"])
+  </pre>
+  Here <span class="name">s</span> is the optional start identifier,  <span class="name">ex:act2</span> is the identifier of the starting activity,
+  <span class="name">ar3:0111</span> is the identifier of the entity that triggered the activity start,
+ <span class="name">2011-11-16T16:00:00</span> is the optional usage time, and <span class="name"> [ex:param="a"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+  
+  <pre class="codeexample">
 wasStartedBy(ex:act2, ar3:0111, -)
 wasStartedBy(ex:act2, ar3:0111, 2011-11-16T16:00:00)
 wasStartedBy(ex:act2, -, 2011-11-16T16:00:00)
@@ -726,7 +732,7 @@
 </pre>
 </div>
 
-<p>Even though the production <span class="nonterminal">startExpression</span> allows for expressions <span class="name">wasStartedBy(e2, -, -)</span>  and <span class="name">wasStartedBy(-, e2, -, -)</span>, these expressions are not valid in PROV-N,
+<p><strong>Note:</strong> Even though the production <span class="nonterminal">startExpression</span> allows for expressions <span class="name">wasStartedBy(e2, -, -)</span>  and <span class="name">wasStartedBy(-, e2, -, -)</span>, these expressions are not valid in PROV-N,
 since 
 at least  one of <span class='attribute'>trigger</span>, <span class='attribute'>time</span>, or  <span class='attribute'>attributes</span>  MUST be present.</p>
 
@@ -735,8 +741,6 @@
 <section id="expression-End">
 <h4>End</h4>
 
-     <p>The <span class="nonterminal">endExpression</span> production encodes activity end predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">endExpression</span>&nbsp;::= 
 <span class="name">wasEndedBy</span>
@@ -751,6 +755,16 @@
 </div>
 
 <div class="anexample">
+
+    <pre class="codeexample">
+wasEndedBy(s, ex:act2, ex:trigger, 2011-11-16T16:00:00, [ex:param="a"])
+  </pre>
+  Here <span class="name">s</span> is the optional start identifier,  <span class="name">ex:act2</span> is the identifier of the ending activity,
+  <span class="name">ex:trigger</span> is the identifier of the entity that triggered the activity end,
+ <span class="name">2011-11-16T16:00:00</span> is the optional usage time, and <span class="name"> [ex:param="a"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+  
 <pre class="codeexample">
 wasEndedBy(ex:act2, ex:trigger, -)
 wasEndedBy(ex:act2, ex:trigger, 2011-11-16T16:00:00)
@@ -762,7 +776,7 @@
 </pre>
 </div>
 
-<p>Even though the production <span class="nonterminal">endExpression</span> allows for expressions <span class="name">wasEndedBy(e2, -, -)</span>  and <span class="name">wasEndedBy(-, e2, -, -)</span>, these expressions are not valid in PROV-N,
+<p><strong>Note:</strong>Even though the production <span class="nonterminal">endExpression</span> allows for expressions <span class="name">wasEndedBy(e2, -, -)</span>  and <span class="name">wasEndedBy(-, e2, -, -)</span>, these expressions are not valid in PROV-N,
 since 
 at least  one of <span class='attribute'>trigger</span>, <span class='attribute'>time</span>, and  <span class='attribute'>attributes</span> MUST be present.</p>
 </section>
@@ -770,10 +784,6 @@
 <section id="expression-wasInformedBy">
 <h4>Communication</h4>
 
-     <p>The <span class="nonterminal">communicationExpression</span> production encodes communication predicates.</p>
-
-
-
 <div class="grammar">
 <span class="nonterminal">communicationExpression</span> &nbsp;::= 
 <span class="name">wasInformedBy</span>
@@ -788,6 +798,14 @@
 
 <div class="anexample">
 <pre class="codeexample">
+wasInformedBy(ex:inf1, ex:a1, ex:a2, [ex:param1="a", ex:param2="b"])
+</pre>
+  Here <span class="name">ex:inf1</span> is the optional communication identifier,  <span class="name">ex:a1</span> is the identifier of the informed activity,
+  <span class="name">ex:a2</span> is the identifier of the informant activity,
+and <span class="name">[ex:param1="a", ex:param2="b"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+<pre class="codeexample">
 wasInformedBy(ex:a1, ex:a2)
 wasInformedBy(ex:a1, ex:a2, [ex:param1="a", ex:param2="b"])
 wasInformedBy(i, ex:a1, ex:a2)
@@ -801,8 +819,6 @@
 <section id="expression-startByActivity">
 <h4>Start by Activity</h4>
 
-     <p>The <span class="nonterminal">startByActivityExpression</span> production encodes Start-by-Activity predicates.</p>
-
 <div class="grammar">
 <span class="nonterminal">startByActivityExpression</span> &nbsp;::= 
 <span class="name">wasStartedByActivity</span>
@@ -818,10 +834,17 @@
 
 <div class="anexample">
 <pre class="codeexample">
+wasStartedByActivity(s,ex:a1, ex:a2, [ex:param1="a", ex:param2="b"])
+  </pre>
+  Here <span class="name">s</span> is the optional start-by-activity identifier,  <span class="name">ex:a1</span> is the identifier of the starting activity,
+  <span class="name">ex:a2</span> is the identifier of the activity that started  <span class="name">ex:a1</span>,
+and <span class="name"> [ex:param1="a", ex:param2="b"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+  
+  <pre class="codeexample">
 wasStartedByActivity(ex:a1, ex:a2)
 wasStartedByActivity(ex:a1, ex:a2, [ex:param1="a", ex:param2="b"])
 wasStartedByActivity(s,ex:a1, ex:a2)
-wasStartedByActivity(s,ex:a1, ex:a2, [ex:param1="a", ex:param2="b"])
 wasStartedByActivity(-,ex:a1, ex:a2)
 wasStartedByActivity(-,ex:a1, ex:a2, [ex:param1="a", ex:param2="b"])
 </pre>
@@ -835,9 +858,6 @@
 <section id="expression-Agent">
 <h4>Agent</h4>
 
-     <p>The <span class="nonterminal">agentExpression</span> production encodes Agent predicates.</p>
-
-
 <div class='grammar'>
 <span class="nonterminal">agentExpression</span>&nbsp;::= 
 <span class="name">agent</span>
@@ -850,8 +870,14 @@
 
 <div class="anexample">
 <pre class="codeexample">
+agent(ag4, [ prov:type="prov:Person", ex:name="David" ])
+</pre>
+Here <span class="name">ag</span> is the agent identifier, and
+   <span class="name">[ prov:type="prov:Person", ex:name="David" ]</span> are optional attributes. <br/>
+In the next example, the optional attributes are omitted.
+
+<pre class="codeexample">
 agent(ag4)
-agent(ag4, [ prov:type="prov:Person" %% xsd:QName, ex:name="David" ])
 </pre>
 </div>
 
@@ -860,8 +886,6 @@
 <section id="expression-attribution">
 <h4>Attribution</h4>
 
-     <p>The <span class="nonterminal">attributionExpression</span> production encodes Attribution predicates.</p>
-
 <div class="grammar">
 <span class="nonterminal">attributionExpression</span>&nbsp;::=  
 <span class="name">wasAttributedTo</span> 
@@ -875,10 +899,18 @@
 </div>
 
 <div class="anexample">
+
+<pre class="codeexample">
+wasAttributedTo(id, e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
+  </pre>
+    Here <span class="name">id</span> is the optional attribution identifier,  <span class="name">e</span> is an entity identifier,
+  <span class="name">ag</span> is the identifier of the agent to whom the entity is abscribed, 
+and <span class="name">[ex:license="cc:attributionURL" %% "xsd:QName"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
 <pre class="codeexample">
 wasAttributedTo(e, ag)
 wasAttributedTo(e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
-wasAttributedTo(id, e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
 wasAttributedTo(-,  e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
 </pre>
 </div>
@@ -889,9 +921,6 @@
 <section id="expression-Association">
 <h4>Association</h4>
 
-     <p>The <span class="nonterminal">associationExpression</span> production encodes Association predicates.</p>
-
-
 <div class='grammar'>
 <span class="nonterminal">associationExpression</span>&nbsp;::= 
 <span class="name">wasAssociatedWith</span>
@@ -910,6 +939,19 @@
 
 <div class="anexample">
 <pre class="codeexample">
+wasAssociatedWith(ex:agas, ex:a1, ex:ag1, ex:e1, [ex:param1="a", ex:param2="b"])
+  </pre>
+
+  Here <span class="name">ex:agas</span> is the optional attribution identifier,
+  <span class="name">ex:a1</span> is an activity identifier,
+  <span class="name">ex:ag1</span> is the optional identifier of the agent associated to the activity,
+  <span class="name">ex:e1</span> is the optional identifier of the plan used by the agent in the context of the activity,
+  and <span class="name"> [ex:param1="a", ex:param2="b"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+  
+  
+<pre class="codeexample">
 wasAssociatedWith(ex:a1, -, ex:e1)
 wasAssociatedWith(ex:a1, ex:ag1, -)
 wasAssociatedWith(ex:a1, ex:ag1, ex:e1)
@@ -920,16 +962,13 @@
 </pre>
 </div>
 
-<p>Even though the production <span class="nonterminal">associationExpression</span> allows for expressions <span class="name">wasAssociatedWith(a, -, -)</span>  and <span class="name">wasAssociatiedWith(-, a, -, -)</span>, these expressions are not valid in PROV-N, 
-since 
-at least  one of <span class='attribute'>agent</span> or <span class='attribute'>plan</span> MUST be present.</p>
+<p><strong>Note:</strong>The production <span class="nonterminal">associationExpression</span> allows for expressions <span class="name">wasAssociatedWith(a, -, -)</span>  and <span class="name">wasAssociatiedWith(-, a, -, -)</span>. However, these expressions are not valid in PROV-N, 
+because at least  one of <span class='attribute'>agent</span> or <span class='attribute'>plan</span> MUST be present.</p>
 
 </section>
 <section id="expression-responsibility">
 <h4>Responsibility</h4>
 
-     <p>The <span class="nonterminal">responsibilityExpression</span> production encodes Responsibility predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">responsibilityExpression</span>&nbsp;::= 
 <span class="name">actedOnBehalfOf</span>
@@ -945,6 +984,18 @@
 </div>
 
 <div class="anexample">
+
+  <pre class="codeexample">
+actedOnBehalfOf(act1, ag1, ag2, a, [prov:type="contract"])
+  </pre>
+  Here <span class="name">act1</span> is the optional attribution identifier,
+  <span class="name">ag1</span> is the identifier for the subordinate agent,
+  <span class="name">ag2</span> is the  identifier of the responsible agent,
+  <span class="name">a</span> is the optional identifier of the activity for which the responsibility link holds,
+  and <span class="name"> [prov:type="contract"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+
 <pre class="codeexample">
 actedOnBehalfOf(ag1, ag2, -)
 actedOnBehalfOf(ag1, ag2, a)
@@ -963,8 +1014,6 @@
 <section id="Derivation-Relation">
 <h4>Derivation</h4>
 
-     <p>The <span class="nonterminal">derivationExpression</span> production encodes Derivation predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">derivationExpression</span>&nbsp;::= 
 <span class="name">wasDerivedFrom</span>
@@ -987,6 +1036,20 @@
 
 
 <div class="anexample">
+    <pre class="codeexample">
+wasDerivedFrom(d, e2, e1, a, g2, u1, [prov:comment="a righteous derivation"])
+  </pre>
+  Here
+    <span class="name">d</span> is the optional derivation identifier,
+  <span class="name">e2</span> is the identifier for the entity being derived,
+  <span class="name">e1</span> is the  identifier of the entity from which <span class="name">e2</span> is derived,
+  <span class="name">a</span> is the optional identifier of the activity which used/generated the entities,
+  <span class="name">g2</span> is the optional identifier of the generation,
+  <span class="name">u1</span> is the optional identifier of the usage,
+  and <span class="name">[prov:comment="a righteous derivation"]</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+  
 <pre class="codeexample">
 wasDerivedFrom(e2, e1)
 wasDerivedFrom(e2, e1, a, g2, u1)
@@ -1005,9 +1068,6 @@
 <section id="expression-Revision">
 <h4>Revision</h4>
 
-     <p>The <span class="nonterminal">revisionExpression</span> production encodes Revision predicates.</p>
-
-
 <div class="grammar">
 <span class="nonterminal">revisionExpression</span>&nbsp;::= 
 <span class="name">wasRevisionOf</span>
@@ -1024,7 +1084,19 @@
 
 
 <div class="anexample">
-<pre class="codeexample">
+    <pre class="codeexample">
+wasRevisionOf(rev1, tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, w3:Consortium, [prov:comment="??"] )
+  </pre>
+  Here
+    <span class="name">rev1</span> is the optional revision identifier,
+  <span class="name">tr:WD-prov-dm-20111215</span> is the identifier of the revised entity,
+  <span class="name">tr:WD-prov-dm-20111018</span> is the identifier of the original entity,
+  <span class="name">w3:Consortium</span> is the optional identifier of the agent involved in the revision,
+  and <span class="name"> [prov:comment="??"] )</span> are optional attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+
+  <pre class="codeexample">
 wasRevisionOf(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, -)
 wasRevisionOf(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, w3:Consortium)
 wasRevisionOf(id,tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, w3:Consortium)
@@ -1039,8 +1111,6 @@
 <section id="expression-quotation">
 <h4>Quotation</h4>
 
-     <p>The <span class="nonterminal">quotationExpression</span> production encodes Quotation predicates.</p>
-
 <div class="grammar">
 <span class="nonterminal">quotationExpression</span>&nbsp;::=  
 <span class="name">wasQuotedFrom</span> 
@@ -1061,7 +1131,20 @@
 
 
 <div class="anexample">
-<pre class="codeexample">
+    <pre class="codeexample">
+wasQuotedFrom(quoteId1, ex:blockQuote,ex:blog,ex:Luc,ex:Paul,[])
+  </pre>
+  Here
+    <span class="name">quoteId1</span> is the optional revision identifier,
+  <span class="name">ex:blockQuote</span> is the identifier of the entity that represents the quote (the partial copy)
+  <span class="name">ex:blog</span> is the identifier of the original entity being quoted,
+  <span class="name">ex:Luc</span> is the optional identifier of the agent who performs the quoting,
+  <span class="name">ex:Paul</span> is the optional identifier of the agent to whom the original entity is attributed,
+  and <span class="name">[]</span> is the (empty) optional set of attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+
+  <pre class="codeexample">
 wasQuotedFrom(ex:blockQuote,ex:blog)
 wasQuotedFrom(ex:blockQuote,ex:blog,ex:Luc,ex:Paul)
 wasQuotedFrom(ex:blockQuote,ex:blog,-,ex:Paul)
@@ -1079,8 +1162,6 @@
 <section id="expression-original-source">
 <h4>Original Source</h4>
 
-     <p>The <span class="nonterminal">quotationExpression</span> production encodes Original Source predicates.</p>
-
 <div class="grammar">
 <span class="nonterminal">originalSourceExpression</span>&nbsp;::=  
 <span class="name">hadOriginalSource</span> 
@@ -1095,7 +1176,18 @@
 
 
 <div class="anexample">
-<pre class="codeexample">
+    <pre class="codeexample">
+hadOriginalSource(src1, ex:e1, ex:e2,[ex:param="a"])
+  </pre>
+  Here
+    <span class="name">src1</span> is the optional original source identifier,
+  <span class="name">ex:e1</span> is the identifier of the derived entity,
+  <span class="name">ex:e2</span> is the identifier of the original source entity,
+  and <span class="name">[ex:param="a"]</span> is the optional set of attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+
+  <pre class="codeexample">
 hadOriginalSource(ex:e1, ex:e2)
 hadOriginalSource(ex:e1, ex:e2,[ex:param="a"])
 hadOriginalSource(-,ex:e1, ex:e2,[ex:param="a"])
@@ -1107,8 +1199,6 @@
 <section id="expression-traceability">
 <h4>Traceability</h4>
 
-     <p>The <span class="nonterminal">traceabilityExpression</span> production encodes Traceability predicates.</p>
-
 <div class="grammar">
 <span class="nonterminal">traceabilityExpression</span>&nbsp;::= 
 <span class="name">tracedTo</span>
@@ -1123,10 +1213,20 @@
 
 
 <div class="anexample">
-<pre class="codeexample">
+    <pre class="codeexample">
+tracedTo(id,e2,e1,[ex:param="a"])
+  </pre>
+  Here
+    <span class="name">id</span> is the optional traceability identifier,
+  <span class="name">e2</span> is an entity identifier,
+  <span class="name">e1</span> is the identifier for an ancestor entity that   <span class="name">e2</span> depends on,
+  and <span class="name">[ex:param="a"]</span> is the optional set of attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
+
+  <pre class="codeexample">
 tracedTo(e2,e1)
 tracedTo(e2,e1,[ex:param="a"])
-tracedTo(id,e2,e1,[ex:param="a"])
 tracedTo(-,e2,e1)
 </pre>
 </div>
@@ -1138,8 +1238,6 @@
 <section id="expression-alternate">
 <h4>Alternate</h4>
 
-     <p>The <span class="nonterminal">alternateExpression</span> production encodes Alternate predicates.</p>
-
 <div class='grammar'>
    <span class="nonterminal">alternateExpression</span>&nbsp;::=
   <span class="name">alternateOf</span> 
@@ -1154,6 +1252,7 @@
 <pre class="codeexample">
 alternateOf(tr:WD-prov-dm-20111215,ex:alternate-20111215)
 </pre>
+  Here  <span class="name">tr:WD-prov-dm-20111215</span> is alternate for   <span class="name">ex:alternate-20111215</span>.
 </div>
 
 
@@ -1161,8 +1260,6 @@
 <section id="expression-specialization">
 <h4>Specialization</h4>
 
-     <p>The <span class="nonterminal">specializationExpression</span> production encodes Specialization predicates.</p>
-
 <div class='grammar'>
    <span class="nonterminal">specializationExpression</span>&nbsp;::=
   <span class="name">specializationOf</span> 
@@ -1177,6 +1274,7 @@
 <pre class="codeexample">
 specializationOf(tr:WD-prov-dm-20111215,tr:prov-dm)
 </pre>
+    Here  <span class="name">tr:WD-prov-dm-20111215</span> is a specialization of <span class="name">tr:prov-dm</span>.
 </div>
 
 </section>
@@ -1219,8 +1317,6 @@
 <section id="expression-collection-insertion">
 <h3>Insertion</h3>
 
-     <p>The <span class="nonterminal">derivationByInsertionFromExpression</span> production encodes Insertion-into-collection predicates.</p>
-
 <div class="grammar">
  <span class="nonterminal">derivationByInsertionFromExpression</span>&nbsp;::=  
 <span class="name">derivedByInsertionFrom</span> 
@@ -1239,6 +1335,18 @@
 </div>
 
 <div class="anexample">
+    <pre class="codeexample">
+ derivedByInsertionFrom(id, c1, c, {("k1", v1), ("k2", v2)}, [])  
+  </pre>
+  Here
+    <span class="name">id</span> is the optional insertion identifier,
+  <span class="name">c1</span> is the  identifier for the collection after the insertion,
+  <span class="name">c</span> is the  identifier for the collection before the insertion,
+  <span class="name"> {("k1", v1), ("k2", v2)}</span> is the set of key-value pairs that have been inserted in
+  <span class="name">c</span>,
+    and <span class="name">[]</span> is the optional (empty) set of attributes. <br/>
+The remaining examples show cases where some of the optionals are omitted.
+
   <pre class="codeexample">
  derivedByInsertionFrom(c1, c, {("k1", v1), ("k2", v2)})  
  derivedByInsertionFrom(c1, c, {("k1", v1)})  
@@ -1252,8 +1360,6 @@
 <section id="expression-collection-removal">
 <h3>Removal</h3>
 
-     <p>The <span class="nonterminal">derivationByRemovalFromExpression</span> production encodes Removal-from-collection predicates.</p>
-
 <div class="grammar">
  <span class="nonterminal">derivationByRemovalFromExpression</span>&nbsp;::=  
 <span class="name">derivedByRemovalFrom</span> 
@@ -1273,7 +1379,19 @@
 </div>
 
 <div class="anexample">
-<pre class="codeexample">
+    <pre class="codeexample">
+ derivedByRemovalFrom(id, c3, c, {"k1", "k3"}, [])  
+  </pre>
+  Here
+    <span class="name">id</span> is the optional removal identifier,
+  <span class="name">c1</span> is the  identifier for the collection after the removal,
+  <span class="name">c</span> is the  identifier for the collection before the removal,
+  <span class="name"> {("k1", v1), ("k2", v2)}</span> is the set of key-value pairs that have been removed from
+  <span class="name">c</span>,
+    and <span class="name">[]</span> is the optional (empty) set of attributes. <br/>
+  The remaining examples show cases where some of the optionals are omitted.
+
+  <pre class="codeexample">
    derivedByRemovalFrom(c3, c1, {"k1", "k3"})               
    derivedByRemovalFrom(c3, c1, {"k1"})               
    derivedByRemovalFrom(c3, c1, {"k1", "k3"}, [])               
@@ -1285,8 +1403,6 @@
 <section id="expression-collection-membership">
 <h3>Membership</h3>
 
-       <p>The <span class="nonterminal">membershipExpression</span> production encodes collection Membership predicates.</p>
-
 <div class="grammar">
  <span class="nonterminal">membershipExpression</span>&nbsp;::=  
 <span class="name">isMemberOf</span> 
@@ -1305,6 +1421,18 @@
 
 
 <div class="anexample">
+    <pre class="codeexample">
+   memberOf(mid, c, {("k4", v4), ("k5", v5)}, [])
+  </pre>
+  Here
+    <span class="name">mid</span> is the optional membership identifier,
+  <span class="name">c</span> is the  identifier for the collection whose membership is stated,
+  <span class="name"> {("k4", v4), ("k5", v5)}</span> is the set of key-value pairs that are members of 
+  <span class="name">c</span>,
+    and <span class="name">[]</span> is the optional (empty) set of attributes. <br/>  
+The remaining examples show cases where some of the optionals are omitted.
+
+
   <pre class="codeexample">
    memberOf(c3, {("k4", v4), ("k5", v5)})
    memberOf(c3, {("k4", v4)})
@@ -1321,8 +1449,6 @@
    <section id="expression-note"> 
 <h4>Note</h4>
 
-       <p>The <span class="nonterminal">noteExpression</span> production encodes  Note predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">noteExpression</span>&nbsp;::= 
 <span class="name">note</span>
@@ -1344,8 +1470,6 @@
 <section id="expression-annotation">
 <h4>Annotation</h4>
 
-       <p>The <span class="nonterminal">annotationExpression</span> production encodes  Annotation predicates.</p>
-
 <div class='grammar'>
 <span class="nonterminal">annotationExpression</span>&nbsp;::=  
 <span class="name">hasAnnotation</span>
@@ -1361,6 +1485,9 @@
 <pre class="codeexample">
 hasAnnotation(tr:WD-prov-dm-20111215,ex2:n1)
 </pre>
+  Here
+   <span class="name">ex2:n1</span> is the  identifier for a note of the entity identified by 
+  <span class="name">(tr:WD-prov-dm-20111215</span>.
 </div>
 
 
@@ -1518,9 +1645,6 @@
 <section id="expression-attribute">
 <h4>Attribute</h4>
 
-
-<p>An attribute's text matches the <span class="nonterminal">attribute</span> production.</p>
-
 <div class='grammar'>
 <span class="nonterminal">attribute</span>&nbsp;::=  <span class="nonterminal">qualifiedName</span><br/>
 </div>
@@ -1544,8 +1668,6 @@
 <section id="expression-literal">
 <h4>Literal</h4>
 
-<p>A Literal's text matches the <span class="nonterminal">Literal</span> production.</p>
-
 <div class='grammar'>
 <span class="nonterminal">Literal</span> &nbsp;::= <span class="nonterminal">typedLiteral</span> | <span class="nonterminal">convenienceNotation</span> <br/>
 <span class="nonterminal">typedLiteral</span> ::= <span class="nonterminal">quotedString</span> <span class="name">%%</span> <span class="nonterminal">datatype</span><br/>