--- a/model/all-divs.js Mon Apr 23 09:06:03 2012 +0200
+++ b/model/all-divs.js Mon Apr 23 09:15:54 2012 +0200
@@ -3,7 +3,7 @@
// with <script src="all-divs.js" class="remove"></script>
//Insert glossary definitions with the following
// <div class="glossary-ref" ref="glossary-generation"></div>
-divs_hg='http://dvcs.w3.org/hg/prov/file/4482fa5dd39f/model/prov-dm.html';
+divs_hg='http://dvcs.w3.org/hg/prov/file/688471c687ae/model/prov-dm.html';
divs_string=
'<html> \n' +
'<div style="text-align: left;"> \n' +
@@ -13,13 +13,13 @@
' </caption> \n' +
' <tr> \n' +
' <td> \n' +
-' <a>prefix</a> \n' +
+' <a><b>prefix</b></a> \n' +
' </td> \n' +
' <td> \n' +
-' namespace uri \n' +
+' <b>namespace uri</b> \n' +
' </td> \n' +
' <td> \n' +
-' definition \n' +
+' <b>definition</b> \n' +
' </td> \n' +
' </tr> \n' +
' <tr> \n' +
@@ -99,7 +99,7 @@
' a configuration file, or the point at which an ingredient, such as eggs, \n' +
' is being added in a baking activity. Usage may entirely consume an \n' +
' entity (e.g. eggs are no longer available after being added to the mix); \n' +
-' alternatively, the same entity may be used multiple times, possibly by \n' +
+' in contrast, the same entity may be used multiple times, possibly by \n' +
' different activities (e.g. a file on a file system can be read \n' +
' indefinitely). \n' +
' </p> \n' +
@@ -373,7 +373,7 @@
' </div> \n' +
' </td> \n' +
' <td class="component1-color"> \n' +
-' <a title="wasGeneratedBy">wasGeneratedBy</a> \n' +
+' <a title="wasGeneratedBy">wasGeneratedBy</a><br /><a title="wasInvalidatedBy">wasInvalidatedBy</a> \n' +
' </td> \n' +
' <td class="component2-color"> \n' +
' <a>wasAttributedTo</a> \n' +
@@ -437,9 +437,9 @@
' <a>alternateOf</a><br /><a>specializationOf</a> \n' +
' </div><div class="component1-color"> \n' +
' <a>used</a><br /><a>wasStartedBy</a><br /><a>wasEndedBy</a> \n' +
-' </div><div id="prov-dm-types-and-relations" style="text-align: left;"> \n' +
+' </div><div id="prov-dm-types-and-relations-fig" style="text-align: left;"> \n' +
' <table border="1" style="margin-left: auto; margin-right: auto;"> \n' +
-' <caption id="prov-dm-types-and-relations_"> \n' +
+' <caption id="prov-dm-types-and-relations"> \n' +
' Table 4: PROV-DM Types and Relations \n' +
' </caption> \n' +
' <tr> \n' +
@@ -500,6 +500,14 @@
' </tr> \n' +
' <tr class="component1-color"> \n' +
' <td> \n' +
+' <a>Invalidation</a> \n' +
+' </td> \n' +
+' <td> \n' +
+' <a title="wasInvalidatedBy">wasInvalidatedBy(id,e,a,t,attrs)</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr class="component1-color"> \n' +
+' <td> \n' +
' <a>Communication</a> \n' +
' </td> \n' +
' <td> \n' +
@@ -582,7 +590,7 @@
' </tr> \n' +
' <tr class="component3-color"> \n' +
' <td> \n' +
-' <a>Traceability</a> \n' +
+' <a>Trace</a> \n' +
' </td> \n' +
' <td> \n' +
' <a title="tracedTo">tracedTo(id,e2,e1,attrs)</a> \n' +
@@ -614,6 +622,14 @@
' </tr> \n' +
' <tr class="component5-color"> \n' +
' <td> \n' +
+' <a>Dictionary</a> \n' +
+' </td> \n' +
+' <td> \n' +
+' <a>Dictionary</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr class="component5-color"> \n' +
+' <td> \n' +
' <a>Insertion</a> \n' +
' </td> \n' +
' <td> \n' +
@@ -794,9 +810,6 @@
'<pre class="codeexample" xml:space="preserve"> \n' +
' wasGeneratedBy(e,-,2001-10-26T21:32:52) \n' +
'</pre> \n' +
-' </div><div class="issue"> \n' +
-' A construct that marks the "end of life" of an entity may be introduced. \n' +
-' This is <a href="http://www.w3.org/2011/prov/track/issues/204">ISSUE-204</a>. \n' +
' </div><div class="glossary-ref" /><div class="attributes" id="attributes-usage"> \n' +
' <dfn title="used">Usage</dfn><span class="withPn">, written <span class="pnExpression">used(id,a,e,t,attrs)</span> in PROV-N,</span> has: \n' +
' <ul> \n' +
@@ -886,7 +899,7 @@
' </div><div class="anexample"> \n' +
' <p> \n' +
' In the following example, a race is started by a bang, and \n' +
-' responsibility for this trigger is attributed to an agent <span class="name">ex:DarthVader</span>. \n' +
+' responsibility for this trigger is attributed to an agent <span class="name">ex:Bob</span>. \n' +
' </p> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
'activity(ex:foot_race) \n' +
@@ -895,7 +908,34 @@
'agent(ex:Bob) \n' +
'wasAttributedTo(ex:bang,ex:Bob) \n' +
'</pre> \n' +
-' </div><div class="glossary-ref" /><div class="anexample"> \n' +
+' </div><div class="glossary-ref" /><div class="attributes" id="attributes-end"> \n' +
+' An activity <dfn title="wasEndedBy">end</dfn><span class="withAsn">, \n' +
+' written <span class="pnExpression">wasEndedBy(id,a,e,t,attrs)</span> in \n' +
+' PROV-N,</span> has: \n' +
+' <ul> \n' +
+' <li> \n' +
+' <span class="attribute" id="end.id">id</span>: an OPTIONAL identifier \n' +
+' for the activity end; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute" id="end.activity">activity</span>: an \n' +
+' identifier (<span class="name">a</span>) for the ended activity; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute" id="end.trigger">trigger</span>: an OPTIONAL \n' +
+' identifier (<span class="name">e</span>) for the entity triggering the \n' +
+' activity ending; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute" id="end.time">time</span>: the OPTIONAL time (<span class="name">t</span>) at which the activity was ended; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute" id="end.attributes">attributes</span>: an \n' +
+' OPTIONAL set (<span class="name">attrs</span>) of attribute-value \n' +
+' pairs representing additional information about this activity end. \n' +
+' </li> \n' +
+' </ul> \n' +
+' </div><div class="anexample"> \n' +
' <p> \n' +
' The following example is a description of an activity <span class="name">a1</span> \n' +
' (editing) that was ended following an approval document <span class="name">e1</span>. \n' +
@@ -905,6 +945,93 @@
'activity(a1,[prov:type="Editing"]) \n' +
'wasEndedBy(a1,e1) \n' +
'</pre> \n' +
+' </div><div class="glossary-ref" /><div class="attributes" id="attributes-invalidation"> \n' +
+' <dfn title="wasInvalidatedBy">Invalidation</dfn><span class="withPn">, \n' +
+' written <span class="pnExpression">wasInvalidatedBy(id,e,a,t,attrs)</span> \n' +
+' in PROV-N,</span> has: \n' +
+' <ul> \n' +
+' <li> \n' +
+' <span class="attribute">id</span>: an OPTIONAL identifier for a \n' +
+' invalidation; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute">entity</span>: an identifier for the \n' +
+' invalidated entity; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute">activity</span>: an OPTIONAL identifier for \n' +
+' the activity that invalidated the entity; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute">time</span>: an OPTIONAL "invalidation time", \n' +
+' the time at which the entity began to be invalidated; \n' +
+' </li> \n' +
+' <li> \n' +
+' <span class="attribute">attributes</span>: an OPTIONAL set of \n' +
+' attribute-value pairs representing additional information about this \n' +
+' invalidation. \n' +
+' </li> \n' +
+' </ul> \n' +
+' </div><div class="anexample" id="anexample-invalidation1"> \n' +
+' <p> \n' +
+' The Painter, a Picasso painting, is known to have been destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane \n' +
+' accident</a>. \n' +
+' </p> \n' +
+'<pre class="codeexample" xml:space="preserve"> \n' +
+'entity(ex:The-Painter) \n' +
+'agent(ex:Picasso) \n' +
+'wasAttributedTo(ex:The-Painter, ex:Picasso) \n' +
+'activity(ex:crash) \n' +
+'wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-02, [ex:circumstances="plane accident"]) \n' +
+'</pre> \n' +
+' </div><div class="anexample" id="anexample-invalidation2"> \n' +
+' <p> \n' +
+' The BBC news home page on 2012-04-03 <span class="name">ex:bbcNews2012-04-03</span> \n' +
+' contained a reference to a given news item <a href="http://www.bbc.co.uk/news/uk-17595024">bbc:news/uk-17595024</a>, \n' +
+' but the BBC news home page on the next day did not. \n' +
+' </p> \n' +
+'<pre class="codeexample" xml:space="preserve"> \n' +
+'entity(ex:bbcNews2012-04-03) \n' +
+'memberOf(ex:bbcNews2012-04-03,{("item1", bbc:news/uk-17595024)}) \n' +
+'wasGeneratedBy (ex:bbcNews2012-04-03,-,2012-04-03T00:00:01) \n' +
+'wasInvalidatedBy(ex:bbcNews2012-04-03,-,2012-04-03T23:59:59) \n' +
+'</pre> \n' +
+' We refer to example <a href="#anexample-specialization">anexample-specialization</a> \n' +
+' for further descriptions of the BBC Web site, and to Section <a>Membership</a> \n' +
+' for a description of the relation <a>memberOf</a>. \n' +
+' </div><div class="anexample" id="anexample-invalidation3"> \n' +
+' <p> \n' +
+' In this example, the "buy one beer, get one free" offer expired at the \n' +
+' end of the happy hour. \n' +
+' </p> \n' +
+'<pre class="codeexample" xml:space="preserve"> \n' +
+'entity(buy_one_beer_get_one_free_offer_during_happy_hour) \n' +
+'wasAttributedTo(proprietor) \n' +
+'wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour, \n' +
+' -,2012-03-10T18:00:00) \n' +
+'</pre> \n' +
+' <p> \n' +
+' In contrast, in the following descriptions, Bob redeemed the offer 45 \n' +
+' minutes before it expired, and got two beers. \n' +
+' </p> \n' +
+'<pre class="codeexample" xml:space="preserve"> \n' +
+'entity(buy_one_beer_get_one_free_offer_during_happy_hour) \n' +
+'wasAttributedTo(proprietor) \n' +
+'activity(redeemOffer) \n' +
+'entity(twoBeers) \n' +
+' \n' +
+'wasAssociatedWith(redeemOffer,bob) \n' +
+'used(buy_one_beer_get_one_free_offer_during_happy_hour, \n' +
+' redeemOffer, 2012-03-10T17:15:00) \n' +
+'wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour, \n' +
+' redeemOffer, 2012-03-10T17:15:00) \n' +
+'wasGeneratedBy(twoBeers,redeemOffer) \n' +
+'</pre> \n' +
+' <p> \n' +
+' We see that the offer was both used to be converted into <span class="name">twoBeers</span> and invalidated by the <span class="name">redeemOffer</span> \n' +
+' activity: in other words, the combined usage and invalidation indicate \n' +
+' consumption of the offer. \n' +
+' </p> \n' +
' </div><div class="glossary-ref" /><div class="attributes" id="attributes-wasInformedBy"> \n' +
' A <dfn title="wasInformedBy">communication</dfn><span class="withPn">, \n' +
' written as <span class="pnExpression">wasInformedBy(id,a2,a1,attrs)</span> \n' +
@@ -937,7 +1064,7 @@
' </p> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
'activity(a1, [prov:type="traffic regulations enforcing"]) \n' +
-'activity(a2, [prov:type="fine paying; check writing; mailing"]) \n' +
+'activity(a2, [prov:type="fine paying, check writing, and mailing"]) \n' +
'wasInformedBy(a2,a1) \n' +
'</pre> \n' +
' The last line indicates that some implicit entity was generated by <span class="name">a1</span> and used by <span class="name">a2</span>; this \n' +
@@ -1309,7 +1436,7 @@
' User Alice writes an article. In its provenance, she wishes to refer to \n' +
' the precise version of the article with a date-specific URI, as she \n' +
' might edit the article later. Alternatively, user Bob refers to the \n' +
-' article in general, indepedently of its variants over time. \n' +
+' article in general, independently of its variants over time. \n' +
' </p> \n' +
' </div><div class="attributes" id="attributes-specialization"> \n' +
' A <dfn title="specializationOf">specialization</dfn> relation<span class="withPn">, written <span class="pnExpression">specializationOf(sub, \n' +
@@ -1335,8 +1462,9 @@
'<pre class="codeexample" xml:space="preserve"> \n' +
'specializationOf(ex:bbcNews2012-03-23, bbc:news/) \n' +
'</pre> \n' +
-' Given that the BBC news does not define a URI for this day\'s news page, we \n' +
-' are creating a qualified name in the namespace <span class="name">ex</span>. \n' +
+' We have created a new qualified name, <span class="name">ex:bbcNews2012-03-23</span>, \n' +
+' in the namespace <span class="name">ex</span>, to identify the specific \n' +
+' page carrying this day\'s news, which would otherwise be the generic <span class="name">bbc:news/</span> page. \n' +
' </div><div class="attributes" id="attributes-alternate"> \n' +
' An <dfn title="alternateOf">alternate</dfn> relation<span class="withPn">, \n' +
' written <span class="pnExpression">alternateOf(e1, e2)</span> in PROV-N,</span> \n' +
@@ -1382,17 +1510,17 @@
' They are both specialization of the page <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a>. \n' +
' </p> \n' +
' </div><div style="text-align: center;"> \n' +
-' <img src="images/Collections.png" alt="collections" /> Figure 9: \n' +
+' <img src="images/Dictionaries.png" alt="dictionaries" /> Figure 9: \n' +
' Collections Component Overview \n' +
' </div><div class="anexample"> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
-'entity(c0, [prov:type="prov:EmptyCollection" %% xsd:QName]) // c0 is an empty collection \n' +
-'entity(c1, [prov:type="prov:Collection" %% xsd:QName]) // c1 is a collection, with unknown content \n' +
+'entity(d0, [prov:type="prov:EmptyDictionary" %% xsd:QName]) // d0 is an empty dictionary \n' +
+'entity(d1, [prov:type="prov:Dictionary" %% xsd:QName]) // d1 is a dictionary, with unknown content \n' +
'</pre> \n' +
' </div><div class="attributes" id="attributes-derivedByInsertionFrom"> \n' +
' <p> \n' +
' An <dfn title="derivedByInsertionFrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression">derivedByInsertionFrom(id, \n' +
-' c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has: \n' +
+' d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has: \n' +
' </p> \n' +
' <ul> \n' +
' <li> \n' +
@@ -1401,12 +1529,12 @@
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="derivedByInsertionFrom.after">after</span>: \n' +
-' an identifier (<span class="name">c2</span>) for the collection <em>after</em> \n' +
+' an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> \n' +
' insertion; \n' +
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="derivedByInsertionFrom.before">before</span>: \n' +
-' an identifier (<span class="name">c1</span>) for the collection <em>before</em> \n' +
+' an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> \n' +
' insertion; \n' +
' </li> \n' +
' <li> \n' +
@@ -1425,61 +1553,61 @@
' </ul> \n' +
' </div><div class="anexample"> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
-'entity(c0, [prov:type="prov:EmptyCollection" %% xsd:QName]) // c0 is an empty collection \n' +
+'entity(d0, [prov:type="prov:EmptyDictionary" %% xsd:QName]) // d0 is an empty dictionary \n' +
'entity(e1) \n' +
'entity(e2) \n' +
'entity(e3) \n' +
-'entity(c1, [prov:type="prov:Collection" %% xsd:QName]) \n' +
-'entity(c2, [prov:type="prov:Collection" %% xsd:QName]) \n' +
+'entity(d1, [prov:type="prov:Dictionary" %% xsd:QName]) \n' +
+'entity(d2, [prov:type="prov:Dictionary" %% xsd:QName]) \n' +
' \n' +
-'derivedByInsertionFrom(c1, c0, {("k1", e1), ("k2", e2)}) \n' +
-'derivedByInsertionFrom(c2, c1, {("k3", e3)}) \n' +
+'derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)}) \n' +
+'derivedByInsertionFrom(d2, d1, {("k3", e3)}) \n' +
'</pre> \n' +
' From this set of descriptions, we conclude: \n' +
' <ul> \n' +
' <li> \n' +
-' <span class="name">c0</span> is the set <span class="name">{ }</span> \n' +
+' <span class="name">d0</span> is the set <span class="name">{ }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c1</span> is the set <span class="name">{ ("k1", \n' +
+' <span class="name">d1</span> is the set <span class="name">{ ("k1", \n' +
' e1), ("k2", e2) }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c2</span> is the set <span class="name">{ ("k1", \n' +
+' <span class="name">d2</span> is the set <span class="name">{ ("k1", \n' +
' e1), ("k2", e2), ("k3", e3) }</span> \n' +
' </li> \n' +
' </ul> \n' +
' </div><div class="anexample"> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
-'entity(c0, [prov:type="prov:EmptyCollection" %% xsd:QName]) // c0 is an empty collection \n' +
+'entity(d0, [prov:type="prov:EmptyDictionary" %% xsd:QName]) // d0 is an empty dictionary \n' +
'entity(e1) \n' +
'entity(e2) \n' +
'entity(e3) \n' +
-'entity(c1, [prov:type="prov:Collection" %% xsd:QName]) \n' +
-'entity(c2, [prov:type="prov:Collection" %% xsd:QName]) \n' +
+'entity(d1, [prov:type="prov:Dictionary" %% xsd:QName]) \n' +
+'entity(d2, [prov:type="prov:Dictionary" %% xsd:QName]) \n' +
' \n' +
-'derivedByInsertionFrom(c1, c0, {("k1", e1), ("k2", e2)}) \n' +
-'derivedByInsertionFrom(c2, c1, {("k1", e3)}) \n' +
+'derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)}) \n' +
+'derivedByInsertionFrom(d2, d1, {("k1", e3)}) \n' +
'</pre> \n' +
' This is a case of <em>update</em> of <span class="name">e1</span> to <span class="name">e3</span> for the same key, <span class="name">"k1"</span>. \n' +
' <br /> From this set of descriptions, we conclude: \n' +
' <ul> \n' +
' <li> \n' +
-' <span class="name">c0</span> is the set <span class="name">{ }</span> \n' +
+' <span class="name">d0</span> is the set <span class="name">{ }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c1</span> is the set <span class="name">{ ("k1", \n' +
+' <span class="name">d1</span> is the set <span class="name">{ ("k1", \n' +
' e1), ("k2", e2) }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c2</span> is the set <span class="name">{ ("k1", \n' +
+' <span class="name">d2</span> is the set <span class="name">{ ("k1", \n' +
' e3), ("k2", e2) }</span> \n' +
' </li> \n' +
' </ul> \n' +
' </div><div class="attributes" id="attributes-derivedByRemovalFrom"> \n' +
' <p> \n' +
' A <dfn title="derivedByRemovalFrom">Removal</dfn> relation, written \n' +
-' <span class="pnExpression">derivedByRemovalFrom(id, c2, c1, {key_1, ... \n' +
+' <span class="pnExpression">derivedByRemovalFrom(id, d2, d1, {key_1, ... \n' +
' key_n}, attrs)</span>, has: \n' +
' </p> \n' +
' <ul> \n' +
@@ -1489,12 +1617,12 @@
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="derivedByRemovalFrom.after">after</span>: \n' +
-' an identifier (<span class="name">c2</span>) for the collection <em>after</em> \n' +
+' an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> \n' +
' the deletion; \n' +
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="derivedByRemovalFrom.before">before</span>: \n' +
-' an identifier (<span class="name">c1</span>) for the collection <em>before</em> \n' +
+' an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> \n' +
' the deletion; \n' +
' </li> \n' +
' <li> \n' +
@@ -1510,38 +1638,38 @@
' </ul> \n' +
' </div><div class="anexample"> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
-'entity(c0, [prov:type="prov:EmptyCollection"]) // c0 is an empty collection \n' +
+'entity(d0, [prov:type="prov:EmptyDictionary"]) // d0 is an empty dictionary \n' +
'entity(e1) \n' +
'entity(e2) \n' +
'entity(e3) \n' +
-'entity(c1, [prov:type="prov:Collection"]) \n' +
-'entity(c2, [prov:type="prov:Collection"]) \n' +
+'entity(d1, [prov:type="prov:Dictionary"]) \n' +
+'entity(d2, [prov:type="prov:Dictionary"]) \n' +
' \n' +
-'derivedByInsertionFrom(c1, c0, {("k1", e1), ("k2",e2)}) \n' +
-'derivedByInsertionFrom(c2, c1, {("k3", e3)}) \n' +
-'derivedByRemovalFrom(c3, c2, {"k1", "k3"}) \n' +
+'derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2",e2)}) \n' +
+'derivedByInsertionFrom(d2, d1, {("k3", e3)}) \n' +
+'derivedByRemovalFrom(d3, d2, {"k1", "k3"}) \n' +
'</pre> \n' +
' From this set of descriptions, we conclude: \n' +
' <ul> \n' +
' <li> \n' +
-' <span class="name">c0</span> is the set <span class="name">{ }</span> \n' +
+' <span class="name">d0</span> is the set <span class="name">{ }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c1</span> is the set <span class="name">{ ("k1", \n' +
+' <span class="name">d1</span> is the set <span class="name">{ ("k1", \n' +
' e1), ("k2", e2) }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c2</span> is the set <span class="name">{ ("k1", \n' +
+' <span class="name">d2</span> is the set <span class="name">{ ("k1", \n' +
' e1), ("k2", e2), ("k3", e3) }</span> \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c3</span> is the set <span class="name">{ ("k2", \n' +
+' <span class="name">d3</span> is the set <span class="name">{ ("k2", \n' +
' e2) }</span> \n' +
' </li> \n' +
' </ul> \n' +
' </div><div class="attributes" id="attributes-memberOf"> \n' +
' A <dfn title="memberOf">membership</dfn> relation, written <span class="pnExpression">memberOf(id, c, {(key_1, e_1), ..., (key_n, e_n)}, \n' +
-' attrs)</span>, has: \n' +
+' cplt, attrs)</span>, has: \n' +
' <ul> \n' +
' <li> \n' +
' <span class="attribute" id="memberOf.id">id</span>: an OPTIONAL \n' +
@@ -1549,19 +1677,21 @@
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="memberOf.after">after</span>: an \n' +
-' identifier (<span class="name">c</span>) for the collection whose \n' +
+' identifier (<span class="name">c</span>) for the dictionary whose \n' +
' members are asserted; \n' +
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="memberOf.key-entity-set">key-entity-set</span>: \n' +
' a set of key-entity pairs <span class="name">(key_1, e_1)</span>, ..., \n' +
' <span class="name">(key_n, e_n)</span> that are members of the \n' +
-' collection; \n' +
+' dictionary; \n' +
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="memberOf.complete">complete</span>: an \n' +
-' OPTIONAL boolean <a title="value">Value</a>; if true, it indicates \n' +
-' that no other member belongs to the collection; \n' +
+' OPTIONAL boolean <a title="value">Value</a> (<span class="name">cplt</span>); \n' +
+' if true, it indicates that no other member belongs to the dictionary; \n' +
+' if false, it indicates that other members belong to the dictionary; if \n' +
+' unspecified, other members MAY belong to the dictionary. \n' +
' </li> \n' +
' <li> \n' +
' <span class="attribute" id="memberOf.attributes">attributes</span>: an \n' +
@@ -1571,37 +1701,37 @@
' </ul> \n' +
' </div><div class="anexample"> \n' +
'<pre class="codeexample" xml:space="preserve"> \n' +
-'entity(c1, [prov:type="prov:Collection" %% xsd:QName]) // c1 is a collection, with unknown content \n' +
-'entity(c2, [prov:type="prov:Collection" %% xsd:QName]) // c2 is a collection, with unknown content \n' +
+'entity(d1, [prov:type="prov:Dictionary" %% xsd:QName]) // d1 is a dictionary, with unknown content \n' +
+'entity(d2, [prov:type="prov:Dictionary" %% xsd:QName]) // d2 is a dictionary, with unknown content \n' +
' \n' +
'entity(e1) \n' +
'entity(e2) \n' +
' \n' +
-'memberOf(c1, {("k1", e1), ("k2", e2)} ) \n' +
-'memberOf(c2, {("k1", e1), ("k2", e2)}, true) \n' +
+'memberOf(d1, {("k1", e1), ("k2", e2)} ) \n' +
+'memberOf(d2, {("k1", e1), ("k2", e2)}, true) \n' +
' \n' +
'entity(e3) \n' +
-'entity(c3, [prov:type="prov:Collection" %% xsd:QName]) \n' +
+'entity(d3, [prov:type="prov:Dictionary" %% xsd:QName]) \n' +
' \n' +
-'derivedByInsertionFrom(c3, c1, {("k3", e3)}) \n' +
+'derivedByInsertionFrom(d3, d1, {("k3", e3)}) \n' +
'</pre> \n' +
' From these descriptions, we conclude: \n' +
' <ul> \n' +
' <li> \n' +
-' <span class="name">c1</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and may contain others. \n' +
+' <span class="name">d1</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and may contain others. \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c2</span> exactly has the following pairs as \n' +
+' <span class="name">d2</span> exactly has the following pairs as \n' +
' members: <span class="name">("k1", e1), ("k2", e2)</span>, and does \n' +
' not contain any other. \n' +
' </li> \n' +
' <li> \n' +
-' <span class="name">c3</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2), ("k3", v3)</span>, and may \n' +
+' <span class="name">d3</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2), ("k3", v3)</span>, and may \n' +
' contain others. \n' +
' </li> \n' +
' </ul> \n' +
' <p> \n' +
-' Thus, the states of <span class="name">c1</span> and <span class="name">c3</span> \n' +
+' Thus, the states of <span class="name">d1</span> and <span class="name">d3</span> \n' +
' are only partially known. \n' +
' </p> \n' +
' </div><div class="attributes" id="attributes-note"> \n' +
@@ -1638,7 +1768,7 @@
' </p> \n' +
' </div><div class="anexample" id="anexample-note2"> \n' +
' <p> \n' +
-' Alternatively, a reputation service may enrich an existing provenance \n' +
+' In contrast, a reputation service may enrich an existing provenance \n' +
' record with notes providing reputation ratings about agents. In the \n' +
' following fragment, both agents <span class="name">ex2:Simon</span> and \n' +
' <span class="name">ex2:Paolo</span> are rated "excellent". \n' +
@@ -1696,6 +1826,78 @@
' provided with an identifier <span class="name">u1</span>, which was then \n' +
' referred to in <span class="name">hasAnnotation(u1,n2)</span>. \n' +
' </p> \n' +
+' </div><div id="attributes-at-a-glance-div" style="text-align: left;"> \n' +
+' <table border="1" style="margin-left: auto; margin-right: auto;"> \n' +
+' <caption id="attributes-at-a-glance"> \n' +
+' Table 5: PROV-DM Attributes At a Glance \n' +
+' </caption> \n' +
+' <tr> \n' +
+' <td> \n' +
+' <b>Attribute</b> \n' +
+' </td> \n' +
+' <td> \n' +
+' <b>value</b> \n' +
+' </td> \n' +
+' <td> \n' +
+' <b>Section</b> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr> \n' +
+' <td> \n' +
+' prov:label \n' +
+' </td> \n' +
+' <td> \n' +
+' xsd:string \n' +
+' </td> \n' +
+' <td> \n' +
+' Section <a href="#term-attribute-label">4.7.4.1</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr> \n' +
+' <td> \n' +
+' prov:location \n' +
+' </td> \n' +
+' <td> \n' +
+' <a title="value">Value</a> \n' +
+' </td> \n' +
+' <td> \n' +
+' Section <a href="#term-attribute-location">4.7.4.2</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr> \n' +
+' <td> \n' +
+' prov:role \n' +
+' </td> \n' +
+' <td> \n' +
+' <a title="value">Value</a> \n' +
+' </td> \n' +
+' <td> \n' +
+' Section <a href="#term-attribute-role">4.7.4.3</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr> \n' +
+' <td> \n' +
+' prov:type \n' +
+' </td> \n' +
+' <td> \n' +
+' <a title="value">Value</a> \n' +
+' </td> \n' +
+' <td> \n' +
+' Section <a href="#term-attribute-type">4.7.4.4</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' <tr> \n' +
+' <td> \n' +
+' prov:value \n' +
+' </td> \n' +
+' <td> \n' +
+' <a title="value">Value</a> \n' +
+' </td> \n' +
+' <td> \n' +
+' Section <a href="#term-attribute-value">4.7.4.5</a> \n' +
+' </td> \n' +
+' </tr> \n' +
+' </table> \n' +
' </div><div class="anexample"> \n' +
' <p> \n' +
' The following entity is provided with a label attribute. \n' +