Add TODO for producer/consumer roles, add note about multiple links, add reference to RFC3986 for %-escaping
authorGraham Klyne
Tue, 06 Nov 2012 17:04:18 +0000
changeset 4648 96247e20c8b4
parent 4647 4fbe51a47591
child 4649 12b42521f2b6
Add TODO for producer/consumer roles, add note about multiple links, add reference to RFC3986 for %-escaping
paq/prov-aq.html
--- 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 '&amp;' 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 '&amp;' 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>