introduced semi-colon for optional identifiers
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Mon, 14 May 2012 11:47:50 +0100
changeset 2782 43c1a3e59489
parent 2781 22c8eb61ae3a
child 2783 8709e28b8c37
introduced semi-colon for optional identifiers
model/prov-dm.html
--- a/model/prov-dm.html	Mon May 14 11:37:20 2012 +0100
+++ b/model/prov-dm.html	Mon May 14 11:47:50 2012 +0100
@@ -723,8 +723,8 @@
 </pre>
 The same description, but with an explicit identifier <span class="name">u1</span> for the usage, and the syntactic marker <span class="name">-</span> to mark the absence of identifier in the generation.
 <pre class="codeexample" >
-used(u1,a1,e1)
-wasGeneratedBy(-,e2,a1)
+used(u1;a1,e1)
+wasGeneratedBy(-;e2,a1)
 </pre>
 </div>
 
@@ -998,27 +998,27 @@
 <tr><td><a><b>Type or Relation Name</b></a></td><td><b>Representation in the PROV-N notation</b></td></tr>
 <tr class="component1-color"><td><a>Entity</a></td><td><a title="dfn-Entity">entity(id, [ attr1=val1, ...])</a></td></tr>
 <tr class="component1-color"><td><a>Activity</a></td><td><a title="dfn-Activity">activity(id, st, et, [ attr1=val1, ...])</a></td></tr>
-<tr class="component1-color"><td><a>Generation</a></td><td><a title="wasGeneratedBy">wasGeneratedBy(id,e,a,t,attrs)</a></td></tr>
-<tr class="component1-color"><td><a>Usage</a></td><td><a title="used">used(id,a,e,t,attrs)</a></td></tr>
-<tr class="component1-color"><td><a>Start</a></td><td><a title="wasStartedBy">wasStartedBy(id,a2,e,a1,t,attrs)</a></td></tr>
-<tr class="component1-color"><td><a>End</a></td><td><a title="wasEndedBy">wasEndedBy(id,a2,e,a1,t,attrs)</a></td></tr>
-<tr class="component1-color"><td><a>Invalidation</a></td><td><a title="wasInvalidatedBy">wasInvalidatedBy(id,e,a,t,attrs)</a></td></tr>
-<tr class="component1-color"><td><a>Communication</a></td><td><a title="wasInformedBy">wasInformedBy(id,a2,a1,attrs)</a></td></tr>
+<tr class="component1-color"><td><a>Generation</a></td><td><a title="wasGeneratedBy">wasGeneratedBy(id;e,a,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a>Usage</a></td><td><a title="used">used(id;a,e,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a>Start</a></td><td><a title="wasStartedBy">wasStartedBy(id;a2,e,a1,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a>End</a></td><td><a title="wasEndedBy">wasEndedBy(id;a2,e,a1,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a>Invalidation</a></td><td><a title="wasInvalidatedBy">wasInvalidatedBy(id;e,a,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a>Communication</a></td><td><a title="wasInformedBy">wasInformedBy(id;a2,a1,attrs)</a></td></tr>
 <tr class="component2-color"><td><a>Agent</a></td><td><a title="dfn-agent">agent(id, [ attr1=val1, ...])</a></td></tr>
-<tr class="component2-color"><td><a>Attribution</a></td><td><a title="wasAttributedTo">wasAttributedTo(id,e,ag,attr)</a></td></tr>
-<tr class="component2-color"><td><a>Association</a></td><td><a title="wasAssociatedWith">wasAssociatedWith(id,a,ag,pl,attrs)</a></td></tr>
-<tr class="component2-color"><td><a>Responsibility</a></td><td><a title="actedOnBehalfOf">actedOnBehalfOf(id,ag2,ag1,a,attrs)</a></td></tr>
-<tr class="component3-color"><td><a>Derivation</a></td><td><a title="wasDerivedFrom">wasDerivedFrom(id, e2, e1, a, g2, u1, attrs)</a></td></tr>
-<tr class="component3-color"><td><a>Revision</a></td><td><a title="wasRevisionOf">wasRevisionOf(id, e2, e1, a, g2, u1, attrs)</a></td></tr>
-<tr class="component3-color"><td><a>Quotation</a></td><td><a title="wasQuotedFrom">wasQuotedFrom(id, e2, e1, a, g2, u1, attrs)</a></td></tr>
-<tr class="component3-color"><td><a>Original Source</a></td><td><a title="hadOriginalSource">hadOriginalSource(id, e2, e1, a, g2, u1, attrs)</a></td></tr>
-<tr class="component3-color"><td><a>Trace</a></td><td><a title="tracedTo">tracedTo(id,e2,e1,attrs)</a></td></tr>
+<tr class="component2-color"><td><a>Attribution</a></td><td><a title="wasAttributedTo">wasAttributedTo(id;e,ag,attr)</a></td></tr>
+<tr class="component2-color"><td><a>Association</a></td><td><a title="wasAssociatedWith">wasAssociatedWith(id;a,ag,pl,attrs)</a></td></tr>
+<tr class="component2-color"><td><a>Responsibility</a></td><td><a title="actedOnBehalfOf">actedOnBehalfOf(id;ag2,ag1,a,attrs)</a></td></tr>
+<tr class="component3-color"><td><a>Derivation</a></td><td><a title="wasDerivedFrom">wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</a></td></tr>
+<tr class="component3-color"><td><a>Revision</a></td><td><a title="wasRevisionOf">wasRevisionOf(id; e2, e1, a, g2, u1, attrs)</a></td></tr>
+<tr class="component3-color"><td><a>Quotation</a></td><td><a title="wasQuotedFrom">wasQuotedFrom(id; e2, e1, a, g2, u1, attrs)</a></td></tr>
+<tr class="component3-color"><td><a>Original Source</a></td><td><a title="hadOriginalSource">hadOriginalSource(id; e2, e1, a, g2, u1, attrs)</a></td></tr>
+<tr class="component3-color"><td><a>Trace</a></td><td><a title="tracedTo">tracedTo(id;e2,e1,attrs)</a></td></tr>
 <tr class="component4-color"><td><a>Alternate</a></td><td><a title="alternateOf">alternateOf(alt1, alt2)</a></td></tr>
 <tr class="component4-color"><td><a>Specialization</a></td><td><a title="specializationOf">specializationOf(sub, super)</a></td></tr>
 <tr class="component5-color"><td><a>Collection</a></td><td><a>Collection</a></td></tr>
 <tr class="component5-color"><td><a>Dictionary</a></td><td><a>Dictionary</a></td></tr>
-<tr class="component5-color"><td><a>Insertion</a></td><td><a title="derivedByInsertionFrom">derivedByInsertionFrom(id, c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
-<tr class="component5-color"><td><a>Removal</a></td><td><a title="derivedByRemovalFrom">derivedByRemovalFrom(id, c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
+<tr class="component5-color"><td><a>Insertion</a></td><td><a title="derivedByInsertionFrom">derivedByInsertionFrom(id; c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
+<tr class="component5-color"><td><a>Removal</a></td><td><a title="derivedByRemovalFrom">derivedByRemovalFrom(id; c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
 <tr class="component5-color"><td><a>Membership</a></td><td><a title="memberOf">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</a></td></tr>
 <tr class="component6-color"><td><a>Note</a></td><td><a title="dfn-note">note(id, [ attr1=val1, ...])</a></td></tr>
 <tr class="component6-color"><td><a>Annotation</a></td><td><a title="hasAnnotation">hasAnnotation(r,n)</a></td></tr>
@@ -1130,7 +1130,7 @@
 <div class="glossary-ref" data-ref="glossary-generation"></div>
 
 <p>
-<div class="attributes" id="attributes-generation"><dfn title="wasGeneratedBy">Generation</dfn><span class="withPn">, written <span class="pnExpression">wasGeneratedBy(id,e,a,t,attrs)</span> in PROV-N,</span> has:
+<div class="attributes" id="attributes-generation"><dfn title="wasGeneratedBy">Generation</dfn><span class="withPn">, written <span class="pnExpression">wasGeneratedBy(id;e,a,t,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="generation.id">id</span>:  an OPTIONAL identifier for a generation;</li> 
 <li><span class='attribute' id="generation.entity">entity</span>:  an identifier (<span class="name">e</span>) for a created entity; </li>
@@ -1179,7 +1179,7 @@
 <div class="glossary-ref" data-ref="glossary-usage"></div>
 
 
-<p><div class="attributes" id="attributes-usage"><dfn title="used">Usage</dfn><span class="withPn">, written <span class="pnExpression">used(id,a,e,t,attrs)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-usage"><dfn title="used">Usage</dfn><span class="withPn">, written <span class="pnExpression">used(id;a,e,t,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="usage.id">id</span>:  an OPTIONAL identifier for a usage;</li> 
 <li><span class='attribute' id="usage.activity">activity</span>: an identifier (<span class="name">a</span>) for the consuming activity;</li>
@@ -1220,7 +1220,7 @@
 <div class="glossary-ref" data-ref="glossary-start"></div>
 
 
-<p><div class="attributes" id="attributes-start">An activity <dfn title="wasStartedBy">start</dfn><span class="withPn">, written <span class="pnExpression">wasStartedBy(id, a2, e, a1, t, attrs)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-start">An activity <dfn title="wasStartedBy">start</dfn><span class="withPn">, written <span class="pnExpression">wasStartedBy(id; a2, e, a1, t, attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="start.id">id</span>:  an OPTIONAL identifier for the activity start;</li> 
 <li><span class='attribute' id="start.activity">activity</span>: an identifier (<span class="name">a2</span>) for the started activity;</li> 
@@ -1294,7 +1294,7 @@
 <div class="glossary-ref" data-ref="glossary-end"></div>
 
 
-<p><div class="attributes" id="attributes-end">An activity <dfn title="wasEndedBy">end</dfn><span class="withAsn">, written <span class="pnExpression">wasEndedBy(id,a2,e,a1,t,attrs)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-end">An activity <dfn title="wasEndedBy">end</dfn><span class="withAsn">, written <span class="pnExpression">wasEndedBy(id;a2,e,a1,t,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="end.id">id</span>:  an OPTIONAL identifier for the activity end;</li> 
 <li><span class='attribute' id="end.activity">activity</span>: an identifier (<span class="name">a2</span>) for the ended activity;
@@ -1341,7 +1341,7 @@
 
 
 <p>
-<div class="attributes" id="attributes-invalidation"><dfn title="wasInvalidatedBy">Invalidation</dfn><span class="withPn">, written <span class="pnExpression">wasInvalidatedBy(id,e,a,t,attrs)</span> in PROV-N,</span> has:
+<div class="attributes" id="attributes-invalidation"><dfn title="wasInvalidatedBy">Invalidation</dfn><span class="withPn">, written <span class="pnExpression">wasInvalidatedBy(id;e,a,t,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute'>id</span>:  an OPTIONAL identifier for a invalidation;</li> 
 <li><span class='attribute'>entity</span>:  an identifier for the invalidated entity; </li>
@@ -1428,7 +1428,7 @@
 
 <p><div class="attributes" id="attributes-wasInformedBy">
 A <dfn title="wasInformedBy">communication</dfn><span class="withPn">, written as 
-<span class="pnExpression">wasInformedBy(id,a2,a1,attrs)</span> in PROV-N,</span> has: 
+<span class="pnExpression">wasInformedBy(id;a2,a1,attrs)</span> in PROV-N,</span> has: 
 <ul>
 <li><span class='attribute' id="wasInformedBy.id">id</span>:  an OPTIONAL identifier  identifying the relation;</li> 
 <li><span class='attribute' id="wasInformedBy.informed">informed</span>: the identifier (<span class="name">a2</span>) of the informed activity;
@@ -1527,7 +1527,7 @@
 
 <p>When an entity  <span class="name">e</span> is attributed to agent  <span class="name">ag</span>, entity <span class="name">e</span> was generated by some unspecified activity that in turn was associated to agent  <span class="name">ag</span>. Thus, this relation is useful when the activity is not known, or irrelevant.</p>
 
-<p><div class="attributes" id="attributes-attribution">An <dfn title="wasAttributedTo">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression">wasAttributedTo(id,e,ag,attrs)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-attribution">An <dfn title="wasAttributedTo">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression">wasAttributedTo(id;e,ag,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="attribution.id">id</span>: an OPTIONAL identifier for the relation;</li> 
 <li><span class='attribute' id="attribution.entity">entity</span>: an entity identifier (<span class="name">e</span>);</li>
@@ -1561,7 +1561,7 @@
 <div class="glossary-ref" data-ref="glossary-plan"></div>
 
 
-<p><div class="attributes" id="attributes-activity-association">An <dfn title="wasAssociatedWith">activity association</dfn><span class="withPn">, written <span class="pnExpression">wasAssociatedWith(id,a,ag,pl,attrs)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-activity-association">An <dfn title="wasAssociatedWith">activity association</dfn><span class="withPn">, written <span class="pnExpression">wasAssociatedWith(id;a,ag,pl,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="association.id">id</span>:  an OPTIONAL identifier for the association between an activity and an agent;</li> 
 <li><span class='attribute' id="association.activity">activity</span>: an identifier (<span class="name">a</span>) for the activity;</li>
@@ -1622,7 +1622,7 @@
 
 <p>
 <div class="attributes" id="attributes-responsibility">
-A <dfn title="actedOnBehalfOf">responsibility</dfn> link<span class="withPn">, written <span class="pnExpression">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span> in PROV-N,</span> has:
+A <dfn title="actedOnBehalfOf">responsibility</dfn> link<span class="withPn">, written <span class="pnExpression">actedOnBehalfOf(id;ag2,ag1,a,attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="responsibility.id">id</span>:  an OPTIONAL identifier for the responsibility link between subordinate and responsible;</li> 
 <li><span class='attribute' id="responsibility.subordinate">subordinate</span>: an identifier (<span class="name">ag2</span>) for the agent associated with an activity, acting on behalf of the responsible
@@ -1699,7 +1699,7 @@
 A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation.  If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be provided.  Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
 
 
-<p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id, e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
 <ul>
 <li><span class='attribute' id="derivation.id">id</span>:  an OPTIONAL identifier  for a derivation;</li> 
 <li><span class='attribute' id="derivation.generatedEntity">generatedEntity</span>: the identifier (<span class="name">ee</span>) of the entity generated by the derivation;</li>
@@ -1726,8 +1726,8 @@
  <span class="name">g2</span>. It is followed by descriptions for generation <span class="name">g2</span> and usage <span class="name">u1</span>.</p>
 <pre class="codeexample">
 wasDerivedFrom(e2, e1, a, g2, u1)
-wasGeneratedBy(g2, e2, a, -)
-used(u1, a, e1, -)
+wasGeneratedBy(g2; e2, a, -)
+used(u1; a, e1, -)
 </pre>
 <p>With such a comprehensive description of derivation, a program that analyzes provenance can identify the activity underpinning the derivation, it can identify how the original entity <span class="name">e1</span> was used by  the activity (e.g. for instance, which argument it was passed as, if the activity is the result of a function invocation), and which output the derived entity <span class="name">e2</span> was obtained from (say, for a function returning multiple results).</p>
 </div>
@@ -1744,7 +1744,7 @@
 
 <p>Revision is a particular case of <a>derivation</a> of an entity into its revised version.</p>
 
-<p> A <dfn title="wasRevisionOf">revision</dfn> relation<span class="withPn">, written <span class="pnExpression">wasRevisionOf(id, e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
+<p> A <dfn title="wasRevisionOf">revision</dfn> relation<span class="withPn">, written <span class="pnExpression">wasRevisionOf(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
 <ul>
 <li><span class='attribute' id="revision.id">id</span>: an OPTIONAL identifier for the relation;</li> 
 <li><span class='attribute' id="revision.newer">newer</span>: the identifier (<span class="name">e2</span>) of the revised  entity;
@@ -1783,7 +1783,7 @@
 
 <p>Quotation
  is a particular case of  <a>derivation</a> in which entity <span class="name">e2</span> is derived from an original entity <span class="name">e1</span> by copying, or "quoting", some or all of it.
-  A <dfn title="wasQuotedFrom">quotation</dfn> relation<span class="withPn">, written <span class="pnExpression">wasQuotedFrom(id, e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
+  A <dfn title="wasQuotedFrom">quotation</dfn> relation<span class="withPn">, written <span class="pnExpression">wasQuotedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
 <ul>
 <li><span class='attribute' id="quotation.id">id</span>: an OPTIONAL identifier for the relation;</li> 
 <li><span class='attribute' id="quotation.quote">quote</span>:  an identifier (<span class="name">e2</span>) for the entity that represents the quote (the partial copy);
@@ -1833,7 +1833,7 @@
 <a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html">http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html</a>.</p>
 
 
-<p> An <dfn title="hadOriginalSource">original source</dfn> relation<span class="withPn">, written <span class="pnExpression">hadOriginalSource(id, e2, e1, a, g2, u1, attrs)</span>,</span> has:</p>
+<p> An <dfn title="hadOriginalSource">original source</dfn> relation<span class="withPn">, written <span class="pnExpression">hadOriginalSource(id; e2, e1, a, g2, u1, attrs)</span>,</span> has:</p>
 <ul>
 <li><span class='attribute' id="originalSource.id">id</span>:  an OPTIONAL identifier for the relation;</li> 
 <li><span class='attribute' id="originalSource.derived">derived</span>: an identifier (<span class="name">e2</span>) for the derived entity; </li>
@@ -1871,7 +1871,7 @@
 some responsibility for  <span class="name">e2</span>'s existence.
 
 
-<p>A <dfn title="tracedTo">Trace</dfn> relation <span class="withPn">, written <span class="pnExpression">tracedTo(id,e2,e1,attrs)</span> in PROV-N,</span> has:</p>
+<p>A <dfn title="tracedTo">Trace</dfn> relation <span class="withPn">, written <span class="pnExpression">tracedTo(id;e2,e1,attrs)</span> in PROV-N,</span> has:</p>
 <ul>
 <li><span class='attribute' id="trace.id">id</span>:  an OPTIONAL identifier identifying the relation;</li> 
 <li><span class='attribute' id="trace.entity">entity</span>:  an identifier (<span class="name">e2</span>) for an entity;
@@ -2109,7 +2109,7 @@
 
 
 <p><div class="attributes" id="attributes-derivedByInsertionFrom">
-<p>An <dfn title="derivedByInsertionFrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression">derivedByInsertionFrom(id, d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
+<p>An <dfn title="derivedByInsertionFrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression">derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
 <ul>
 <li><span class='attribute' id="derivedByInsertionFrom.id">id</span>:  an OPTIONAL identifier identifying the relation;</li>
 <li><span class='attribute' id="derivedByInsertionFrom.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> insertion; </li>
@@ -2122,7 +2122,7 @@
 </div>
 
 <p>
-An Insertion relation <span class="name">derivedByInsertionFrom(id, d2, d1,  {(key_1, e_1), ..., (key_n, e_n)})</span> states that  <span class="name">d2</span> is the state of the dictionary
+An Insertion relation <span class="name">derivedByInsertionFrom(id; d2, d1,  {(key_1, e_1), ..., (key_n, e_n)})</span> states that  <span class="name">d2</span> is the state of the dictionary
 following the insertion of pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> into dictionary  <span class="name">d1</span>.</p>
 
 
@@ -2187,7 +2187,7 @@
 
 <p>
 <div class="attributes" id="attributes-derivedByRemovalFrom">
-<p> A <dfn title="derivedByRemovalFrom">Removal</dfn> relation, written <span class="pnExpression">derivedByRemovalFrom(id, d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
+<p> A <dfn title="derivedByRemovalFrom">Removal</dfn> relation, written <span class="pnExpression">derivedByRemovalFrom(id; d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
 <ul>
 <li><span class='attribute' id="derivedByRemovalFrom.id">id</span>:  an OPTIONAL identifier identifying the relation;</li>
 <li><span class='attribute' id="derivedByRemovalFrom.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary  <em>after</em> the deletion; </li>
@@ -2197,7 +2197,7 @@
 </ul>
 </div>
 
-<p>A Removal relation <span class="name">derivedByRemovalFrom(id, d2,d1, {key_1, ..., key_n})</span> states that  <span class="name">d2</span> is  the  state of the dictionary following the removal of the set of pairs corresponding to keys  <span class="name">key_1...key_n</span> from  <span class="name">d1</span>.
+<p>A Removal relation <span class="name">derivedByRemovalFrom(id; d2,d1, {key_1, ..., key_n})</span> states that  <span class="name">d2</span> is  the  state of the dictionary following the removal of the set of pairs corresponding to keys  <span class="name">key_1...key_n</span> from  <span class="name">d1</span>.
 
 <div class="anexample">
 <pre class="codeexample">
@@ -2237,7 +2237,7 @@
 
 <p>
 <div class="attributes" id="attributes-memberOf">
- A <dfn title="memberOf">membership</dfn> relation, written <span class="pnExpression">memberOf(id, c, {(key_1, e_1), ..., (key_n, e_n)}, cplt, attrs)</span>, has:
+ A <dfn title="memberOf">membership</dfn> relation, written <span class="pnExpression">memberOf(id; c, {(key_1, e_1), ..., (key_n, e_n)}, cplt, attrs)</span>, has:
 <ul>
 <li><span class='attribute' id="memberOf.id">id</span>:  an OPTIONAL identifier identifying the relation;</li>
 <li><span class='attribute' id="memberOf.after">after</span>: an identifier (<span class="name">c</span>) for the dictionary whose members are asserted; </li>