Add TODO for producer/consumer roles, add note about multiple links, add reference to RFC3986 for %-escaping
--- a/paq/prov-aq.html Tue Nov 06 15:17:06 2012 +0000
+++ b/paq/prov-aq.html Tue Nov 06 17:04:18 2012 +0000
@@ -240,14 +240,16 @@
<p>In defining the specification below, we make use of the following concepts. </p>
<dl>
+ <dt><dfn>Resource</dfn></dt>
+ <dd>a resource in the general sense of "whatever might be identified by a URI", as described by the Architecture of the World Wide Web [[WEBARCH]], <a href="http://www.w3.org/TR/webarch/#id-resources">section 2.2</a>. A resource may be associated with multiple instances or views (<a class="internalDFN">constrained resource</a>s) with differing provenance.</dd>
+ <dt><dfn>Constrained resource</dfn></dt>
+ <dd>an aspect, version or instance of a <a class="internalDFN">resource</a>, about which one may wish to present some <a class="internalDFN">provenance information</a>. For example, a weather report for a given date may be an aspect of a resource that is maintained as the current weather report. A constrained resource is itself a <a class="internalDFN">resource</a>, and may have it's own URI different from that of the original. See also [[PROV-DM]], and [[WEBARCH]] <a href="http://www.w3.org/TR/webarch/#representation-reuse">section 2.3.2</a>.</dd>
+ <dt><dfn>Target-URI</dfn></dt>
+ <dd>a URI denoting a <a class="internalDFN">resource</a> (including any <a class="internalDFN">constrained resource</a>), which identifies that resource for the purpose of finding and expressing <a class="internalDFN">provenance information</a> associated with it (see <a href="#provenance-entities-resources" class="sectionRef"></a> for discussion)</dd>
<dt><dfn>Provenance information</dfn></dt>
<dd>refers to provenance represented in some fashion.</dd>
<dt><dfn>Provenance-URI</dfn></dt>
<dd>a URI denoting some <a class="internalDFN">provenance information</a>.</dd>
- <dt><dfn>Constrained resource</dfn></dt>
- <dd>an aspect, version or instance of a <a class="internalDFN">resource</a>, about which one may wish to present some <a class="internalDFN">provenance information</a>. For example, a weather report for a given date may be an aspect of a resource that is maintained as the current weather report. A constrained resource is itself a <a class="internalDFN">resource</a>, and may have it's own URI different from that of the original. See also [[PROV-DM]], and [[WEBARCH]] <a href="http://www.w3.org/TR/webarch/#representation-reuse">section 2.3.2</a>.</dd>
- <dt><dfn>Target-URI</dfn></dt>
- <dd>a URI denoting a <a class="internalDFN">resource</a> (including any <a class="internalDFN">constrained resource</a>), which identifies that resource for the purpose of finding and expressing <a class="internalDFN">provenance information</a> associated with it (see <a href="#provenance-entities-resources" class="sectionRef"></a> for discussion)</dd>
<dt><dfn>Provenance service</dfn></dt>
<dd>a service that provides <a class="internalDFN">provenance information</a> given a <a class="internalDFN">target-URI</a>.</dd>
<dt><dfn>Service-URI</dfn></dt>
@@ -256,10 +258,7 @@
<dt><dfn>Resource</dfn></dt>
<dd>also referred to as <dfn>resource on the Web</dfn>: a resource as described by the Architecture of the World Wide Web [[WEBARCH]], <a href="http://www.w3.org/TR/webarch/#id-resources">section 2.2</a>. A resource may be associated with multiple instances or views (<a class="internalDFN">constrained resource</a>s) with differing provenance.</dd>
-->
- <dt><dfn>Resource</dfn></dt>
- <dd>a resource in the general sense of "whatever might be identified by a URI", as described by the Architecture of the World Wide Web [[WEBARCH]], <a href="http://www.w3.org/TR/webarch/#id-resources">section 2.2</a>. A resource may be associated with multiple instances or views (<a class="internalDFN">constrained resource</a>s) with differing provenance.</dd>
</dl>
-
</section>
@@ -318,6 +317,9 @@
<section>
<h2>Locating provenance information</h2>
+ <p class="TODO">
+ @@TODO: introduce producer/consumer roles to cover cases of HTTP and non-HTTP transfer of provenance discovery information.
+ </p>
<p>
When <a class="internalDFN">provenance information</a> is a resource that can be accessed using web retrieval, one needs to know its <a class="internalDFN">provenance-URI</a> to dereference. If this is known in advance, there is nothing more to specify. If a provenance-URI is not known then a mechanism to discover one must be based on information that is available to the would-be accessor. Likewise, provenance information may be exposed by a service. In this case, the <a class="internalDFN">service-URI</a> needs to be known.
</p>
@@ -339,6 +341,9 @@
These particular cases are selected as corresponding to primary current web protocol and data formats. Finally, in <a href="#arbitrary-data" class="sectionRef"></a>, we discuss the case of a resource in an unspecified format which has been provided by some means other than HTTP.
</p>
<p>
+ The mechanisms described here are intended to allow a server or data publisher to provide information that may assist a client in finding related provenance information. While a server should try not to provide spurious information, there are no fixed semantics, particularly when multiple values are provided, and a client should not assume that a specific given provenance-uri will yield information about a specific given target-uri. In the general case, a client presented with multiple provenance-uris and multiple targe-uris may look for provenance information about any or all of the target-uris in provenance information obtained from all of the provenance-uris.
+ </p>
+ <p>
The mechanisms specified for use with HTTP and HTML are similar to those proposed by POWDER [[POWDER-DR]] (sections <a href="http://www.w3.org/TR/2009/REC-powder-dr-20090901/#assoc-markup">4.1.1</a> and <a href="http://www.w3.org/TR/2009/REC-powder-dr-20090901/#httplink">4.1.3</a>).
</p>
@@ -521,7 +526,7 @@
GET /provenance/service?<b>target</b>=http://www.example.com/entity HTTP/1.1
Host: example.com</pre>
</div>
- <div>The embedded target-URI (<code>http://www.example.com/entity</code>) identifies the resource for which provenance information is to be returned. Any server that implements this protocol and receives a request URI in this form SHOULD return provenance information for the resource-URI embedded in the query component where that URI is the result of percent-decoding the value associated with the provenance-resource key. The embedded URI MUST be an absolute URI and the server MUST respond with a 400 Bad Request if it is not. If the supplied resource-URI includes a fragment identifier, the '#' MUST be %-encoded as <code>%23</code> when constructing the provenance-URI value; similarly, any '&' character in the resource-URI must be %-encoded as <code>%26</code>.
+ <div>The embedded target-URI (<code>http://www.example.com/entity</code>) identifies the resource for which provenance information is to be returned. Any server that implements this protocol and receives a request URI in this form SHOULD return provenance information for the resource-URI embedded in the query component where that URI is the result of percent-decoding the value associated with the provenance-resource key. The embedded URI MUST be an absolute URI and the server MUST respond with a 400 Bad Request if it is not. If the supplied resource-URI includes a fragment identifier, the '#' MUST be %-encoded as <code>%23</code> when constructing the provenance-URI value; similarly, any '&' character in the resource-URI must be %-encoded as <code>%26</code> [[RFC3986]].
</div>
<p>If the provenance information identified in the request does not exist in the server, a 404 Not Found response code SHOULD be returned.
</p>