--- a/paq/prov-aq.html Thu Feb 07 17:43:15 2013 +0000
+++ b/paq/prov-aq.html Thu Feb 07 18:26:51 2013 +0000
@@ -443,7 +443,7 @@
<p>
These particular cases are selected as corresponding to primary current web protocol and data formats. Similar approaches may be possible for other protocols or resource formats.
</p>
- <p>
+ <p class="note">
The mechanisms described here are intended to allow a provider to supply information that may assist a client in finding related provenance records. The provenance records should themselves explicitly identify the target resources they describe. While a provider should avoid giving spurious information, there are no fixed semantics, particularly when multiple resources are indicated, 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 target-URIs should look at all of the provenance-URIs for information about any or all of the target-URIs.
</p>
@@ -469,6 +469,11 @@
<p>
The presence of a <code>hasProvenance</code> link in an HTTP response does not preclude the possibility that other publishers may offer provenance records about the same resource. In such cases, discovery of the additional provenance records must use other means (e.g. see <a href="#provenance-query-services" class="sectionRef"></a>).
</p>
+ <p class="TODO">
+ Tim comment (14): Should a reference to the forward provenance section be included, too?
+ <br/>
+ [GK] I don't see the need. Forward provenance is not primarily *about* the same resource, IMO, and I think mentioning it here could be more confusing than helpful.
+ </p>
<section>
<h2>Specifying Provenance Query Services</h2>
@@ -550,10 +555,10 @@
The <code><cite>target-URI</cite></code> given by the <code>hasAnchor</code> link element specifies an identifier for the document that may be used within the provenance record when referring to the document.
</p>
<p>
- An HTML document header MAY include multiple <code>hasProvenance</code> link elements, indicating a number of different provenance records that are known to the creator of the document, each of which may provide provenance about the document.
+ If no <code>hasAnchor</code> link element is provided then the <code><cite>target-URI</cite></code> is assumed to be the URI of the document. It is RECOMMENDED that this convention be used only when the document has a URI that is reasonably expected to be known or easily discoverable by a consumer of the document (e.g. when delivered from a web server, or as part of a MIME structure containing content identifiers [[RFC2392]]).
</p>
<p>
- If no <code>hasAnchor</code> link element is provided then the <code><cite>target-URI</cite></code> is assumed to be the URI of the document. It is RECOMMENDED that this convention be used only when the document is static and has a stable URI that is reasonably expected to be available to anyone accessing the document (e.g. when delivered from a web server, or as part of a MIME structure containing content identifiers [[RFC2392]]).
+ An HTML document header MAY include multiple <code>hasProvenance</code> link elements, indicating a number of different provenance records that are known to the creator of the document, each of which may provide provenance about the document (see also the note in <a href="#locating-provenance-records" class="sectionRef"></a>).
</p>
<section>
@@ -624,7 +629,7 @@
<li>the naming authority associated with the <a class="internalDFN">target-URI</a> is not the same as the service offering <a class="internalDFN">provenance record</a>s</li>
<li>multiple services have provenance records about the same resource</li>
<li>the service associated with the target-URI is not accessible for adding additional information when handling retrieval requests</li>
- <li>there is no known dereferencable <a class="internalDFN">provenance-URI</a> returning a provenance for a particular resource</li>
+ <li>there is no known dereferencable <a class="internalDFN">provenance-URI</a> returning a provenance record for a particular resource</li>
<li>query services may provide additional control over what provenance is returned.</li>
</ul>
<p>
@@ -657,6 +662,9 @@
<section>
<h2>Direct HTTP query service description</h2>
+ <p class="TODO">
+ Tim's point (20): I think this will be covered by Stian's proposal; leaving for now.
+ </p>
<p>A direct HTTP query service is described by an RDF resource of type <code>prov:DirectQueryService</code></p>
<p>It allows for accessing provenance about a specified <a class="internalDFN">target-URI</a>. The query URI to use is described by a URI Template [[URI-template]] (level 2 or above) in which which the variable <cite><code>uri</code></cite> stands for the target-URI; e.g.</p>
<pre class="pattern">
@@ -667,7 +675,7 @@
where <cite><code>service-URI</code></cite> is the URI of the provenance query service, and <code><cite>query_option_node</cite></code> is any distinct RDF subject node (i.e. a blank node or a URI).
</p>
<p>
- The URI template indicated by <code>prov:provenanceUriTemplate</code> may expand to an absolute or relative URI reference. A URI for the desired provenance record is obtained by expanding the URI template with the variable <cite><code>uri</code></cite> set to the target-URI for which provenance is required. In this example, if the target-URI contains '#' or '&' these must be %-escaped as <code>%23</code> or <code>%26</code> respectively before template expansion [[RFC3986]]. If the result is a relative reference, it is interpreted per [[RFC3986]] (section 5.2) using the URI of the service description as its base URI (which is generally the same as the query service-URI, unless HTTP redirection has been invoked).
+ The URI template indicated by <code>prov:provenanceUriTemplate</code> may expand to an absolute or relative URI reference. A URI for the desired provenance record is obtained by expanding the URI template with the variable <cite><code>uri</code></cite> set to the target-URI for which provenance is requested. In this example, if the target-URI contains '#' or '&' these must be %-escaped as <code>%23</code> or <code>%26</code> respectively before template expansion [[RFC3986]]. If the result is a relative reference, it is interpreted per [[RFC3986]] (section 5.2) using the URI of the service description as its base URI (which is generally the same as the query service-URI, unless HTTP redirection has been invoked).
</p>
<p>
A provenance query service MAY recognize additional parameters encoded as part of a URI for the provenance record. If it does, it SHOULD include these in the provenance URI template in the service description, so that clients may discover how a URI is formed using this additional information.
@@ -687,8 +695,12 @@
</p>
</section>
+
<section>
<h2>SPARQL query service description</h2>
+ <p class="TODO">
+ Tim's point (22): I think this will be covered by Stian's proposal; leaving for now.
+ </p>
<p>
A SPARQL query service is described by an RDF resource of type <code>sd:Service</code> [[SPARQL-SD]].
</p>
@@ -815,7 +827,7 @@
A resource may have an associated "ping-back" URI which can be presented with PROV assertions about the resource. The ping-back URI is associated with a resource using mechanisms similar to those used for presenting a <a class="internalDFN">provenance-URI</a>, but using a <code>provPingback</code> link relation instead of <code>hasProvenance</code>. A consumer of the resource, or some other system, may perform an HTTP POST operation to the pingback URI where the POST request body contains provenance in one of the recognized provenance formats. For interoperability, a ping-back receiving service SHOULD be able to accept at least PROV-O provenance presented as RDF/XML or Turtle.
</p>
<p>
- For example, consider a resource that is published by acme.example.com, and is subsequently used by wile-e.example.org in the construction of some new entity; we might see an exchange along the following lines. We start with wile-e.example.org retrieving a copy of acme.example.org's resource:
+ For example, consider a resource that is published by <code>acme.example.com</code>, and is subsequently used by <code>wile-e.example.org</code> in the construction of some new entity; we might see an exchange along the following lines. We start with wile-e.example.org retrieving a copy of acme.example.org's resource:
</p>
<pre class="pattern">
C: GET /super-widget HTTP/1.1
@@ -829,7 +841,7 @@
:
(super-widget resource data)</pre>
<p>
- The first of the links in the response is the provenance-URI that has been described previously. The second is a distinct resource that exists to receive provenance pingbacks. Later, when a new resource has been created or action performed based upon the acme.example.org/super-widget, new provenance may be submitted to the pingback thus:
+ The first of the links in the response is a <code>hasProvenance</code> link with a <a class="internalDfn">provenance-URI</a> that has been described previously (<a href="#resource-accessed-by-http" class="sectionRef"></a>). The second is a distinct resource that exists to receive provenance pingbacks. Later, when a new resource has been created or action performed based upon the <code>acme.example.org/super-widget</code>, new provenance may be submitted to the pingback thus:
</p>
<pre class="pattern">
C: POST /pingback/super-widget HTTP/1.1
@@ -847,6 +859,9 @@
S: Link: <http://acme.example.org/pingback/super-widget>;
rel=http://www.w3.org/ns/prov#provPingback;
anchor=http://acme.example.org/super-widget</pre>
+ <p class="TODO">
+ Details to change with Stian's proposal
+ </p>
<p>
There is no required information in the server response to a pingback POST request.
In this example the pingback service responds with links to provenance and pingback for the original resource (note that the <code>Link:</code> headers returned contain explicit <code>anchor</code> parameters with the URI of the original resource; without these, the links would relate the indicated URIs to the POST request URI <code>http://acme.example.org/pingback/super-widget</code>).
@@ -938,7 +953,7 @@
</tr>
<tr style="vertical-align: top;">
<td><code>provPingback</code></td>
- <td>Relates a resource to a provenance pingback service</td>
+ <td>Relates a resource to a provenance pingback service that may receive provenance about the resource.</td>
<td><a href="#forward-provenance" class="sectionRef"></a></td>
</tr>
</table>
@@ -948,8 +963,9 @@
<br/>
This is seen when one considers that a <code>prov:ProvenanceQueryService</code> may have multiple query mechanisms associated with it (e.g. a <code>prov:DirectQueryService</code> <em>and</em> an <code>sd:Service</code>). Also, they serve quite different purposes in the process of using provenance query services: look for <code>prov:ProvenanceQueryService</code> to discover query services of any kind, then for associated <code>prov:DirectQueryService</code> or <code>sd:Service</code> resources to get details of specific mechanisms to use to access the service.
</p>
-
-
+ <p class="TODO">
+ review provPingback in light of Stian's proposal
+ </p>
</section>
<!-- ===================================================================================== -->