--- a/model/prov-n.html Wed Apr 18 09:24:17 2012 +0100
+++ b/model/prov-n.html Wed Apr 18 09:24:33 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> ::=
@@ -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> ::=
<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> ::=
@@ -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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::=
<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> ::= <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> ::= <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/>