--- a/model/prov-dm.html Sun May 27 14:20:48 2012 -0400
+++ b/model/prov-dm.html Mon May 28 11:09:10 2012 +0100
@@ -1313,7 +1313,7 @@
<tr class="component6-color"><td class="provType"><a>Collection</a></td><td><a title="collection">... prov:type='prov:Collection' ...</a></td><td rowspan="6"><a href="#component6">Component 6: Collections</a></td></tr>
<tr class="component6-color"><td class="provType"><a>Dictionary</a></td><td><a title="dictionary">... prov:type='prov:Dictionary' ...</a></td></tr>
-<tr class="component6-color"><td class="provType"><a title="empty collection">EmptyCollection</a></td><td><a title="empty collection">... prov:type='prov:EmptyCollection' ...</a></td></tr>
+<tr class="component6-color"><td class="provType"><a title="empty dictionary">EmptyDictionary</a></td><td><a title="empty dictionary">... prov:type='prov:EmptyDictionary' ...</a></td></tr>
<tr class="component6-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="component6-color"><td><a>Removal</a></td><td><a title="derivedByRemovalFrom">derivedByRemovalFrom(id; c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
<tr class="component6-color"><td><a>Membership</a></td><td><a title="memberOf">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</a></td></tr>
@@ -1345,7 +1345,7 @@
- <section id="term-Entity">
+ <section id="term-entity">
<h4>Entity</h4>
@@ -1782,7 +1782,7 @@
</figure>
</div>
-<section id="term-Agent">
+<section id="term-agent">
<h3>Agent</h3>
<div class="glossary-ref" data-ref="glossary-agent"></div>
@@ -1995,7 +1995,7 @@
</figure>
</div>
-<section id="Derivation-Relation">
+<section id="term-derivation">
<h4>Derivation</h4>
@@ -2665,7 +2665,7 @@
</section>
-<section id="term-dictinonary">
+<section id="term-dictionary">
<h3>Dictionary</h3>
@@ -2677,7 +2677,10 @@
<p>Conceptually, a dictionary has a logical structure consisting of key-entity pairs. This structure is often referred to as a <em>map</em>, and is a generic indexing mechanism that can abstract commonly used data structures, including associative lists (also known as "dictionaries" in some programming languages), relational tables, ordered lists, and more. The specification of such specialized structures in terms of key-value pairs is out of the scope of this document.</p>
<p>A given dictionary forms a given structure for its members. A different structure (obtained either by insertion or removal of members) constitutes a different dictionary. Hence,
- for the purpose of provenance, a dictionary entity is viewed as a snapshot of a structure. Insertion and removal operations result in new snapshots, each snapshot forming an identifiable dictionary entity.</p>
+ for the purpose of provenance, a dictionary entity is viewed as a snapshot of a structure. Insertion and removal operations result in new snapshots, each snapshot forming an identifiable dictionary entity. It is also useful to describe a dictionary as empty.</p>
+
+
+<span class="glossary-ref" data-ref="glossary-empty-dictionary"></span>
<p>PROV-DM defines the following types related to dictionaries:</p>
@@ -2982,14 +2985,14 @@
<caption id="attributes-at-a-glance">Table 6: PROV-DM Attributes At a Glance</caption>
<tr><td><b>Attribute</b></td><td><b>Allowed In</b></td><td><b>value</b></td><td><b>Section</b></td></tr>
<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "><td style="border-width: 0px; "></td></tr>
-<tr><td>prov:label</td><td><em>any construct</em></td><td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td><td>Section <a href="#term-attribute-label">5.7.4.1</a> </td></tr>
-<tr><td>prov:location</td><td><a>Entity</a>, <a>Activity</a>, <br> <a>Usage</a>, and <a>Generation</a>.</td><td><a title="value">Value</a></td><td>Section <a href="#term-attribute-location">5.7.4.2</a> </td></tr>
-<tr><td>prov:role</td><td><a>Usage</a>, <a>Generation</a>, <br> <a>Association</a>, <a>Start</a>, and <a>End</a></td><td><a title="value">Value</a></td><td>Section <a href="#term-attribute-role">5.7.4.3</a> </td></tr>
-<tr><td>prov:type</td><td><em>any construct</em></td><td><a title="value">Value</a></td><td>Section <a href="#term-attribute-type">5.7.4.4</a> </td></tr>
-<tr><td>prov:value</td><td><a>Entity</a></td><td><a title="value">Value</a></td><td>Section <a href="#term-attribute-value">5.7.4.5</a> </td></tr>
-
-<tr><td>prov:provenance-uri</td><td><a>Provenance Locator</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td><td>Section <a href="#term-attribute-provenance-uri">5.7.4.6</a> </td></tr>
-<tr><td>prov:service-uri</td><td><a>Provenance Locator</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td><td>Section <a href="#term-attribute-service-uri">5.7.4.7</a> </td></tr>
+<tr><td><a title="label">prov:label</a></td><td><em>any construct</em></td><td>A <a>Value</a> of type <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td><td>Section <a href="#term-attribute-label">5.7.4.1</a> </td></tr>
+<tr><td><a title="location">prov:location</a></td><td><a>Entity</a>, <a>Activity</a>, <a>Usage</a>, and <a>Generation</a>.</td><td>A <a title="value">Value</a></td><td>Section <a href="#term-attribute-location">5.7.4.2</a> </td></tr>
+<tr><td><a title="role">prov:role</a></td><td><a>Usage</a>, <a>Generation</a>, <a>Association</a>, <a>Start</a>, and <a>End</a></td><td>A <a title="value">Value</a></td><td>Section <a href="#term-attribute-role">5.7.4.3</a> </td></tr>
+<tr><td><a title="type">prov:type</a></td><td><em>any construct</em></td><td>A <a title="value">Value</a></td><td>Section <a href="#term-attribute-type">5.7.4.4</a> </td></tr>
+<tr><td><a title="value-attribute">prov:value</a></td><td><a>Entity</a></td><td>A <a title="value">Value</a></td><td>Section <a href="#term-attribute-value">5.7.4.5</a> </td></tr>
+
+<tr><td><a title="provenance-uri-attribute">prov:provenance-uri</a></td><td><a>Provenance Locator</a></td><td>A <a>Value</a> of type <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td><td>Section <a href="#term-attribute-provenance-uri">5.7.4.6</a> </td></tr>
+<tr><td><a title="service-uri-attribute">prov:service-uri</a></td><td><a>Provenance Locator</a></td><td>A <a>Value</a> of type <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td><td>Section <a href="#term-attribute-service-uri">5.7.4.7</a> </td></tr>
</table>
</div>
@@ -3000,23 +3003,25 @@
<section id="term-attribute-label">
<h4>prov:label</h4>
-<p> The attribute <dfn title="dfn-label"><span class="name">prov:label</span></dfn> provides a human-readable representation of a PROV-DM element or relation. The value associated with the attribute <span class="name">prov:label</span> MUST be a string.</p>
+
+<p>
+<span class="glossary-ref" data-ref="glossary-label"></span>
+The value associated with the attribute <span class="name">prov:label</span> MUST be a string.</p>
<div class="anexample">
<p>The following entity is provided with a label attribute.</p>
<pre class="codeexample">
- entity(ex:e1, [prov:label="This is a label"])
+ entity(ex:e1, [ prov:label="This is a human-readable label" ])
</pre>
</div>
-
-
</section>
<section id="term-attribute-location">
<h4>prov:location</h4>
-<p>A <dfn title="dfn-Location">location</dfn> can be an identifiable geographic place (ISO 19112), but it can also be a non-geographic place such as a directory, row, or column. As such, there are numerous ways in which location can be expressed, such as by a coordinate,
+<p><span class="glossary-ref" data-ref="glossary-location"></span>
+As such, there are numerous ways in which location can be expressed, such as by a coordinate,
address, landmark, and so forth. This document does not specify how to concretely express locations, but instead provide a mechanism to introduce locations, by means of a reserved attribute. </p>
@@ -3024,10 +3029,14 @@
The attribute <span class="name">prov:location</span> is an OPTIONAL attribute of entity, activity, usage, and generation. The value associated with the attribute <span class="name">prov:location</span> MUST be a PROV-DM <a title="value">Value</a>, expected to denote a location.
</p>
-<div class="anexample">
+<div class="anexample" id="example-location">
<p>The following expression describes entity Mona Lisa, a painting, with a location attribute. </p>
<pre class="codeexample">
- entity(ex:MonaLisa, [prov:location="Le Louvres, Paris", prov:type="StillImage"])
+ entity(ex:MonaLisa, [ prov:location="Le Louvres, Paris", prov:type="StillImage" ])
+</pre>
+<p>The following expression describes a cell, at coordinates (5,5), with value 10. </p>
+<pre class="codeexample">
+ entity(ex:cell, [ prov:location="(5,5)", prov:value="10" %% xsd:integer ])
</pre>
</div>
</section>
@@ -3037,14 +3046,18 @@
<section id="term-attribute-role">
<h4>prov:role</h4>
-<p>The attribute <dfn title="dfn-role"><span class="name">prov:role</span></dfn> denotes the function of an entity with respect to an activity, in the context of a <a>usage</a>, <a>generation</a>,
- <a>association</a>, <a>start</a>, and <a>end</a>. The attribute <span class="name">prov:role</span> is allowed to occur multiple times in a list of attribute-value pairs. The value associated with a <span
-class="name">prov:role</span> attribute MUST be a PROV-DM <a title="value">Value</a>.</p>
-
-<div class="anexample">
+
+<p><span class="glossary-ref" data-ref="glossary-role"></span>
+The attribute <span class="name">prov:role</span> is allowed to occur multiple times in a list of attribute-value pairs. The value associated with a <span class="name">prov:role</span> attribute MUST be a PROV-DM <a title="value">Value</a>.</p>
+
+<div class="anexample" id="anexample-role">
<p>The following activity is associated with an agent acting as the operator. </p>
<pre class="codeexample">
- wasAssociatedWith(a, ag, [prov:role="operator"])
+ wasAssociatedWith(a, ag, [ prov:role="operator" ])
+</pre>
+<p>In the following expression, the activity <span class="name">ex:div01</span> used entity <span class="name">ex:cell</span> in the role of divisor.</p>
+<pre class="codeexample">
+used(ex:div01, ex:cell, [ prov:role="divisor" ])
</pre>
</div>
</section>
@@ -3052,7 +3065,10 @@
<section id="term-attribute-type">
<h4>prov:type</h4>
-<p>The attribute <dfn title="dfn-type"><span class="name">prov:type</span></dfn> provides further typing information for an element or relation. PROV-DM liberally
+<p><span class="glossary-ref" data-ref="glossary-type"></span></p>
+
+<p>
+PROV-DM liberally
defines a type as a category of things having common characteristics. PROV-DM is agnostic about the representation of types, and only states that
the value associated with a <span class="name">prov:type</span> attribute MUST be a PROV-DM <a title="value">Value.</a> The attribute <span class="name">prov:type</span>
is allowed to occur multiple times.</p>
@@ -3060,7 +3076,7 @@
<div class="anexample">
<p>The following describes an agent of type software agent.</p>
<pre class="codeexample">
- agent(ag, [prov:type='prov:SoftwareAgent' ])
+ agent(ag, [ prov:type='prov:SoftwareAgent' ])
</pre>
</div>
@@ -3071,17 +3087,17 @@
<caption id="prov-dm-predefined-types">Table 7: PROV-DM Predefined Types</caption>
<tr><td><b>Type</b></td><td><b>Specification</b></td><td><b>Core concept</b></td></tr>
<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
-<tr><td><span class="name">prov:Bundle</span></td><td><a title="bundle">Section 5.5.1</a></td><td><a>Entity</a></td></tr>
-<tr><td><span class="name">prov:Collection</span></td><td><a title="collection">Section 5.6.1</a></td><td><a>Entity</a></td></tr>
-<tr><td><span class="name">prov:Dictionary</span></td><td><a title="dictionary">Section 5.6.2</a></td><td><a>Entity</a></td></tr>
-<tr><td><span class="name">prov:EmptyDictionary</span></td><td><a title="empty-dictionary">Section 5.6.2</a></td><td><a>Entity</a></td></tr>
-<tr><td><span class="name">prov:HadOriginalSource</span></td><td><a title="original source">Section 5.3.4</a></td><td><a>Derivation</a></td></tr>
-<tr><td><span class="name">prov:Organization</span></td><td><a title="organization">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
-<tr><td><span class="name">prov:Person</span></td><td><a title="person">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
-<tr><td><span class="name">prov:Plan</span></td> <td><a title="plan">Section 5.2.3</a></td><td><a>Entity</a></td></tr>
-<tr><td><span class="name">prov:SoftwareAgent</span></td><td><a title="software-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
-<tr><td><span class="name">prov:WasQuotedFrom</span></td><td><a title="Quotation">Section 5.3.3</a></td><td><a>Derivation</a></td></tr>
-<tr><td><span class="name">prov:WasRevisionOf</span></td><td><a title="Revision">Section 5.3.2</a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="bundle"><span class="name">prov:Bundle</span></a></td><td><a href="#term-bundle">Section 5.5.1</a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="collection"><span class="name">prov:Collection</span></a></td><td><a href="#term-collection">Section 5.6.1</a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="dictionary"><span class="name">prov:Dictionary</span></a></td><td><a href="#term-dictionary">Section 5.6.2</a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="empty dictionary"><span class="name">prov:EmptyDictionary</span></a></td><td><a href="#term-dictionary">Section 5.6.2</a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="original source"><span class="name">prov:HadOriginalSource</span></a></td><td><a href="#term-original-source">Section 5.3.4</a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="organization"><span class="name">prov:Organization</span></a></td><td><a href="#term-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="person"><span class="name">prov:Person</span></a></td><td><a href="#term-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="plan"><span class="name">prov:Plan</span></a></td> <td><a href="#term-entity">Section 5.2.3</a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="software-agent"><span class="name">prov:SoftwareAgent</span></a></td><td><a href="#term-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="Quotation"><span class="name">prov:WasQuotedFrom</span></a></td><td><a href="#term-quotation">Section 5.3.3</a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="Revision"><span class="name">prov:WasRevisionOf</span></a></td><td><a href="#term-revision">Section 5.3.2</a></td><td><a>Derivation</a></td></tr>
</table>
</section>
@@ -3090,7 +3106,8 @@
<section id="term-attribute-value">
<h4>prov:value</h4>
-<p>The attribute <dfn title="dfn-value"><span class="name">prov:value</span></dfn> provides a <a title="value">Value</a> associated with an entity.</p>
+<p><span class="glossary-ref" data-ref="glossary-value-attribute"></span></p>
+
<p>The attribute <span class="name">prov:value</span> is an OPTIONAL attribute of entity. The value associated with the attribute <span class="name">prov:value</span> MUST be a PROV-DM <a title="value">Value</a>. The attribute <span class="name">prov:value</span> MAY occur at most once in a set of attribute-value pairs.</p>
@@ -3100,12 +3117,12 @@
The input and the output are expressed as entities <span class="name">ex:in</span> and <span class="name">ex:out</span>, respectively. They each have a <span class="name">prov:value</span> attribute associated with the corresponding value.
</p>
<pre class="codeexample">
-entity(ex:in, [prov:value="abcd"])
-entity(ex:out, [prov:value=4])
-activity(ex:len, [prov:type="string-length"])
-used(ex:len,ex:in)
-wasGeneratedBy(ex:out,ex:len)
-wasDerivedFrom(ex:out,ex:in)
+entity(ex:in, [ prov:value="abcd" ])
+entity(ex:out, [ prov:value=4 ])
+activity(ex:len, [ prov:type="string-length" ])
+used(ex:len, ex:in)
+wasGeneratedBy(ex:out, ex:len)
+wasDerivedFrom(ex:out, ex:in)
</pre>
</div>
@@ -3116,9 +3133,10 @@
<section id="term-attribute-provenance-uri">
<h4>prov:provenance-uri</h4>
-
-<p> The attribute <dfn title="dfn-provenance-uri"><span class="name">prov:provenance-uri</span></dfn> provides
- an OPTIONAL IRI in the context of a <a>Provenance Locator</a>; when this IRI is dereferenced, it allows access to provenance descriptions. It is referred to as <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-uri">Provenance-URI</a> in [[PROV-AQ]]. </p>
+<p><span class="glossary-ref" data-ref="glossary-provenance-uri"></span> (See <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-uri">Provenance-URI</a> in [[PROV-AQ]].) </p>
+
+<p> The attribute <dfn title="provenance-uri-attribute"><span class="name">prov:provenance-uri</span></dfn> provides
+ an OPTIONAL <a>provenance-URI</a>.</p>
<p>The attributes <a href="#term-attribute-service-uri"><span class="name">prov:service-uri</span></a>
@@ -3141,8 +3159,13 @@
<section id="term-attribute-service-uri">
<h4>prov:service-uri</h4>
-<p> The attribute <dfn title="dfn-service-uri"><span class="name">prov:service-uri</span></dfn> provides
- an OPTIONAL IRI in the context of a <a>Provenance Locator</a>; this IRI denotes a <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-service">provenance service</a> from which provenance can be retrieved. It is referred to as <a href="http://www.w3.org/TR/prov-aq/#dfn-service-uri">Service-URI</a> in [[PROV-AQ]].</p>
+<p><span class="glossary-ref" data-ref="glossary-provenance-service"></span> (See <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-service">provenance service</a> in [[PROV-AQ]].)</p>
+
+<p><span class="glossary-ref" data-ref="glossary-service-uri"></span> (See <a href="http://www.w3.org/TR/prov-aq/#dfn-service-uri">Service-URI</a> in [[PROV-AQ]].)</p>
+
+
+<p> The attribute <dfn title="service-uri-attribute"><span class="name">prov:service-uri</span></dfn> provides
+ an OPTIONAL <a>service-URI</a> </p>
<p>The attributes <a href="#term-attribute-service-uri"><span class="name">prov:service-uri</span></a>
@@ -3167,9 +3190,10 @@
<section id="term-value">
<h4>Value</h4>
+<p><span class="glossary-ref" data-ref="glossary-value"></span></p>
+
<p>
-By means of attribute-value pairs, the PROV data model can refer to <dfn title="value">values</dfn> such as strings, numbers, time, qualified names, and IRIs.
-The interpretation of such values is outside the scope of PROV-DM.</p>
+By means of attribute-value pairs, the PROV data model can refer to <a title="value">values</a> such as strings, numbers, time, qualified names, and IRIs. </p>
<p>Each kind of such values is called a <em>datatype</em>. The datatypes are taken from
the set of XML Schema Datatypes, version 1.1 [[!XMLSCHEMA-2]] and the RDF specification [[!RDF-CONCEPTS]]. The normative definitions of these datatypes are provided by the respective specifications.
Each datatype is identified by its XML <a href="http://www.w3.org/TR/xmlschema-2/#QName">xsd:QName</a>.</p>