--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paq/releases/WD-prov-aq-20130312/Overview.html Mon Mar 04 20:20:27 2013 +0100
@@ -0,0 +1,1455 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head>
+ <title>PROV-AQ: Provenance Access and Query</title>
+ <style>/* --- EXAMPLES --- */
+div.example-title {
+ min-width: 7.5em;
+ color: #b9ab2d;
+}
+div.example-title span {
+ text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+ padding: 0.5em;
+ margin: 1em 0;
+ position: relative;
+ clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+ padding: .5em;
+ border-left-width: .5em;
+ border-left-style: solid;
+ border-color: #e0cb52;
+ background: #fcfaee;
+}
+
+aside.example div.example {
+ border-left-width: .1em;
+ border-color: #999;
+ background: #fff;
+}
+aside.example div.example div.example-title {
+ color: #999;
+}
+</style><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+ padding-right: 1em;
+ min-width: 7.5em;
+ color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #52e052; }
+div.issue-title span, div.note-title span {
+ text-transform: uppercase;
+}
+div.note, div.issue {
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+ padding: .5em;
+ border-left-width: .5em;
+ border-left-style: solid;
+}
+div.issue, div.note {
+ padding: 0.5em;
+ margin: 1em 0;
+ position: relative;
+ clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+ border-color: #e05252;
+ background: #fbe9e9;
+}
+.note {
+ border-color: #52e052;
+ background: #e9fbe9;
+}
+
+
+</style><link rel="stylesheet" type="text/css" href="css/respec.css">
+ <link rel="stylesheet" type="text/css" href="css/prov-aq.css">
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+<!-- Use common W3C-hosted version of ReSpec.js:
+-->
+
+<!--
+ <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>
+
+ Use local version of ReSpec.js for debugging:
+ <script src="js/respec.js" class="remove"></script>
+ <script src="file:///usr/workspace/w3c-provenance/prov/paq/js/respec.js" class="remove"></script>
+-->
+ <!-- Include bibliography file defined for PROV-DM: -->
+
+ <!-- Define bibliography specific for PROV-AQ: @@TODO merge all additional bibliographies for PROV documents? -->
+
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-WD"><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+ <body><div class="head">
+ <p>
+
+ <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+ </p>
+ <h1 class="title" id="title">PROV-AQ: Provenance Access and Query</h1>
+
+ <h2 id="w3c-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft 12 March 2013</h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/prov-aq/">http://www.w3.org/TR/prov-aq/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/tip/paq/prov-aq.html">http://dvcs.w3.org/hg/prov/raw-file/tip/paq/prov-aq.html</a></dd>
+
+
+
+
+
+ <dt>Previous version:</dt>
+ <dd><a href="http://www.w3.org/TR/2012/WD-prov-aq-20120619/">http://www.w3.org/TR/2012/WD-prov-aq-20120619/</a></dd>
+
+
+ <dt>Editors:</dt>
+ <dd><span>Graham Klyne</span>, <a href="http://www.ox.ac.uk/">University of Oxford</a></dd>
+<dd><span>Paul Groth</span>, <a href="http://www.vu.nl/">VU University Amsterdam</a></dd>
+
+
+ <dt>Authors:</dt>
+ <dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://olafhartig.de/">Olaf Hartig</a>, Invited Expert</dd>
+<dd><span>Yogesh Simmhan</span>, Invited Expert</dd>
+<dd><a href="http://www.rpi.edu/research/ccni/">James Myers</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://tw.rpi.edu/web/person/TimLebo">Timothy Lebo</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a>, <a href="http://www.cs.manchester.ac.uk/">University of Manchester</a></dd>
+<dd><a href="http://www.inf.kcl.ac.uk/staff/simonm/">Simon Miles</a>, Invited Expert</dd>
+<dd><a href="http://soiland-reyes.com/stian/">Stian Soiland-Reyes</a>, <a href="http://www.cs.manchester.ac.uk/">University of Manchester</a></dd>
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ 2013
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+ <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+ </p>
+
+
+ <hr>
+</div>
+
+
+ <section id="abstract" class="introductory"><h2>Abstract</h2>
+This document specifies how to use standard Web protocols,
+including HTTP, to obtain information about the provenance of
+resources on the Web. We describe both simple access mechanisms for
+locating provenance records associated with web pages or resources, and
+provenance query services for more complex deployments. This is
+part of the larger <abbr title="World Wide Web Consortium">W3C</abbr> PROV provenance family of documents.
+
+<p>The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.</p>
+
+ </section><section id="sotd" class="introductory"><h2>Status of This Document</h2>
+
+
+
+ <p>
+ <em>This section describes the status of this document at the time of its publication. Other
+ documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+ of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+ index</a> at http://www.w3.org/TR/.</em>
+ </p>
+
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web. These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents.
+<ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] (this document);</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance;</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>].</li>
+</ul>
+
+<h4 id="third-public-working-draft">Third Public Working Draft</h4>
+<p>
+This is the third public working. This revision introduces a new definition of a provenance pingback service as well as making various clarifications about the definition of service descriptions and how they are retrieved.
+</p>
+
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/prov">Provenance Working Group</a> as a Working Draft.
+
+
+ If you wish to make comments regarding this document, please send them to
+ <a href="mailto:public-prov-comments@w3.org">public-prov-comments@w3.org</a>
+ (<a href="mailto:public-prov-comments-request@w3.org?subject=subscribe">subscribe</a>,
+ <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).
+
+
+
+
+ All comments are welcome.
+
+
+ </p><p>
+ Publication as a Working Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+ This is a draft document and may be updated, replaced or obsoleted by other documents at
+ any time. It is inappropriate to cite this document as other than work in progress.
+ </p>
+
+
+ <p>
+
+ This document was produced by a group operating under the
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+ The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a>
+
+ made in connection with the deliverables of the group; that page also includes instructions for
+ disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+ information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+ 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#concepts" class="tocxref"><span class="secno">1.1 </span>Concepts</a></li><li class="tocline"><a href="#provenance-and-resources" class="tocxref"><span class="secno">1.2 </span>Provenance and resources</a></li><li class="tocline"><a href="#interpreting-provenance-records" class="tocxref"><span class="secno">1.3 </span>Interpreting provenance records</a></li><li class="tocline"><a href="#uri-types-and-dereferencing" class="tocxref"><span class="secno">1.4 </span>URI types and dereferencing</a></li></ul></li><li class="tocline"><a href="#accessing-provenance-records" class="tocxref"><span class="secno">2. </span>Accessing provenance records</a></li><li class="tocline"><a href="#locating-provenance-records" class="tocxref"><span class="secno">3. </span>Locating provenance records</a><ul class="toc"><li class="tocline"><a href="#resource-accessed-by-http" class="tocxref"><span class="secno">3.1 </span>Resource accessed by HTTP</a><ul class="toc"><li class="tocline"><a href="#specifying-provenance-query-services" class="tocxref"><span class="secno">3.1.1 </span>Specifying Provenance Query Services</a></li><li class="tocline"><a href="#content-negotiation-redirection-and-link-headers" class="tocxref"><span class="secno">3.1.2 </span>Content negotiation, redirection and Link: headers</a></li></ul></li><li class="tocline"><a href="#resource-represented-as-html" class="tocxref"><span class="secno">3.2 </span>Resource represented as HTML</a><ul class="toc"><li class="tocline"><a href="#specifying-provenance-query-services-1" class="tocxref"><span class="secno">3.2.1 </span>Specifying Provenance Query Services</a></li></ul></li><li class="tocline"><a href="#resource-represented-as-rdf" class="tocxref"><span class="secno">3.3 </span>Resource represented as RDF</a></li></ul></li><li class="tocline"><a href="#provenance-query-services" class="tocxref"><span class="secno">4. </span>Provenance query services</a><ul class="toc"><li class="tocline"><a href="#provenance-query-service-description" class="tocxref"><span class="secno">4.1 </span>Provenance query service description</a><ul class="toc"><li class="tocline"><a href="#direct-http-query-service-description" class="tocxref"><span class="secno">4.1.1 </span>Direct HTTP query service description</a></li><li class="tocline"><a href="#sparql-query-service-description" class="tocxref"><span class="secno">4.1.2 </span>SPARQL query service description</a></li><li class="tocline"><a href="#service-description-example" class="tocxref"><span class="secno">4.1.3 </span>Service description example</a></li></ul></li><li class="tocline"><a href="#direct-http-query-service-invocation" class="tocxref"><span class="secno">4.2 </span>Direct HTTP query service invocation</a></li><li class="tocline"><a href="#provenance-query-service-discovery" class="tocxref"><span class="secno">4.3 </span>Provenance query service discovery</a></li></ul></li><li class="tocline"><a href="#forward-provenance" class="tocxref"><span class="secno">5. </span>Forward provenance</a></li><li class="tocline"><a href="#security-considerations" class="tocxref"><span class="secno">6. </span>Security considerations</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#terms-added-to-prov-namespace" class="tocxref"><span class="secno">B. </span>Terms added to prov: namespace</a></li><li class="tocline"><a href="#changes-log" class="tocxref"><span class="secno">C. </span>Changes log</a><ul class="toc"><li class="tocline"><a href="#changes-since-20120619-publication" class="tocxref"><span class="secno">C.1 </span>Changes since 20120619 publication</a></li></ul></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">D.1 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+<!-- == Sect 1 =================================================================================== -->
+
+ <section id="introduction">
+ <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
+ <p>
+ The Provenance Data Model [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>], Provenance Ontology [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] and related specifications define how to represent provenance in the World Wide Web (see the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>]).
+ </p>
+ <p>
+ This note describes how standard web protocols may be used to locate, retrieve and query provenance records:
+ </p>
+ <ul>
+ <li>
+ Simple mechanisms for retrieving and discovering provenance records are described in <a href="#accessing-provenance-records" class="sectionRef sec-ref">section 2. Accessing provenance records</a> and <a href="#locating-provenance-records" class="sectionRef sec-ref">section 3. Locating provenance records</a> .
+ </li>
+ <li>
+ Provenance query mechanisms that may be used for more demanding deployments are described in <a href="#provenance-query-services" class="sectionRef sec-ref">section 4. Provenance query services</a>.
+ </li>
+ <li>
+ A simple "ping-back" mechanism allowing for discovery of "forward provenance" (i.e. provenance about future entities that are based upon or influenced by a resource) is described in <a href="#forward-provenance" class="sectionRef sec-ref">section 5. Forward provenance</a>.
+ </li>
+ </ul>
+ <p>
+ Most mechanisms described in this note are independent of the provenance format used, and may be used to access provenance in any available format. For interoperable provenance publication, use of PROV-O represented in a standardized RDF format is recommended. Where alternative formats are available, selection may be made by content negotiation.
+ </p>
+ <p>
+ For ease of reference, the main body of this document contains some links to external web pages. Such links are distinguished from internal references thus: <a href="http://www.w3.org/2011/prov/wiki/Main_Page" class="externalRef"><abbr title="World Wide Web Consortium">W3C</abbr> Provenance Working Group</a>.
+ </p>
+
+ <section id="concepts">
+ <h3><span class="secno">1.1 </span>Concepts</h3>
+
+ <p>In defining the specification below, we make use of the following concepts.</p>
+ <dl>
+ <dt><a href="#dfn-resource"><dfn id="dfn-resource">Resource</dfn></a></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 [<cite><a class="bibref" href="#bib-WEBARCH">WEBARCH</a></cite>], <a href="http://www.w3.org/TR/webarch/#id-resources" class="externalRef">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><a href="#dfn-constrained-resource"><dfn id="dfn-constrained-resource">Constrained resource</dfn></a></dt>
+ <dd>a specialization (e.g. an aspect, version or instance) of a <a class="internalDFN">resource</a>, about which one may wish to present <a class="internalDFN">provenance record</a>s. 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 its own URI different from that of the original. See also <a class="sectionRef sec-ref" href="#provenance-and-resources">section 1.2 Provenance and resources</a>, [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] <a href="http://www.w3.org/TR/prov-dm/#term-specialization" class="externalRef">section 5.5.1</a>, and [<cite><a class="bibref" href="#bib-WEBARCH">WEBARCH</a></cite>] <a href="http://www.w3.org/TR/webarch/#representation-reuse" class="externalRef">section 2.3.2</a>.
+ </dd>
+ <dt><a href="#dfn-target-uri"><dfn id="dfn-target-uri">Target-URI</dfn></a></dt>
+ <dd>
+ a URI denoting a <a class="internalDFN">resource</a> (including any <a class="internalDFN">constrained resource</a>), and which identifies that resource for the purpose of expressing provenance. Such a resource is typically an <a class="externalRef" href="http://www.w3.org/TR/prov-dm/#section-entity-activity">entity</a> in the sense of [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>], but may be something else described by provenance records, such as an <a class="externalRef" href="http://www.w3.org/TR/prov-dm/#section-entity-activity">activity</a>.
+ </dd>
+ <a href="#dfn-provenance-record"><dfn id="dfn-provenance-record">Provenance record</dfn></a>
+ <dd>
+ refers to provenance represented in some fashion.
+ </dd>
+ <dt><a href="#dfn-provenance-uri"><dfn id="dfn-provenance-uri">Provenance-URI</dfn></a></dt>
+ <dd>
+ a URI denoting some <a class="internalDFN">provenance record</a>.
+ </dd>
+ <dt><a href="#dfn-provenance-query-service"><dfn id="dfn-provenance-query-service">Provenance query service</dfn></a></dt>
+ <dd>
+ a service that accesses provenance given a query containing a <a class="internalDFN">target-URI</a> or other information that identifies the desired provenance.
+ </dd>
+ <dt><a href="#dfn-service-uri"><dfn id="dfn-service-uri">Service-URI</dfn></a></dt>
+ <dd>
+ the URI of a <a class="internalDFN">provenance query service</a>.
+ </dd>
+ <dt><a href="#dfn-forward-provenance"><dfn id="dfn-forward-provenance">Forward provenance</dfn></a></dt>
+ <dd>
+ provenance describing how a resource is used after it has been created
+ </dd>
+ <dt><a href="#dfn-pingback-uri"><dfn id="dfn-pingback-uri">Pingback-URI</dfn></a></dt>
+ <dd>
+ the URI of a provenance pingback service that can receive references to <a class="internalDFN">forward provenance</a>.
+ </dd>
+ <dt><a href="#dfn-accessing"><dfn id="dfn-accessing">Accessing</dfn></a> provenance records</dt>
+ <dd>
+ given the identity of a resource, the process of discovering and retrieving some <a class="internalDFN">provenance record</a>(s) about that resource. This may involve <a class="internalDFN">locating</a> a provenance record, then performing an HTTP GET to retrieve it, or locating and using a query service for provenance about an identified resource, or some other mechanism not covered in this document.
+ </dd>
+ <dt><a href="#dfn-locating"><dfn id="dfn-locating">Locating</dfn></a> provenance records</dt>
+ <dd>
+ given the identity of a resource, discovery of a <a class="internalDFN">provenance-URI</a> or a <a class="internalDFN">service-URI</a> that may be used to obtain a <a class="internalDFN">provenance record</a> about that resource.
+ </dd>
+ <dt>provenance <a href="#dfn-provider"><dfn id="dfn-provider">provider</dfn></a></dt>
+ <dd>
+ is an agent that makes available provenance records.
+ </dd>
+ <dt>provenance <a href="#dfn-consumer"><dfn id="dfn-consumer">consumer</dfn></a></dt>
+ <dd>
+ is an agent that receives and interprets provenance records.
+ </dd>
+ <!--
+ <a href="#dfn-..."><dt><dfn>...</dfn></dt></a>
+ <dd>
+ ...
+ </dd>
+ -->
+ </dl>
+ <p class="TODO">
+ The pingback definition is new. Review is encouraged.
+ </p>
+ <p>
+ This document uses the term URI for web resource identifiers, as this is the term used in many of the currently ratified specifications that this document builds upon. In many situations, a URI may also be an IRI [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>], which is a generalisation of a URI allowing a wider range of Unicode characters. Every absolute URI is an IRI, but not every IRI is an URI. When IRIs are used in situations that require a URI, they must first be converted according to the mapping defined in section 3.1 of [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>]. A notable example is retrieval over the HTTP protocol. The mapping involves UTF-8 encoding of non-ASCII characters, %-encoding of octets not allowed in URIs, and Punycode-encoding of domain names.
+ </p>
+
+ </section>
+
+ <section id="provenance-and-resources">
+ <h3 id="provenance-entities-resources"><span class="secno">1.2 </span>Provenance and resources</h3>
+ <p>
+ Fundamentally, a <a class="internalDFN">provenance record</a> is <em>about</em> <a class="internalDFN">resource</a>s.
+ In general, resources may vary over time and context. E.g., a resource describing the weather in London changes from day-to-day, or a listing of restaurants near you will vary depending on your location.
+ </p>
+ <p>
+ Provenance records a history of the entities, activities, and people involved in producing an artifact, and may be collected from several sources at different times. In order to create a meaningful history, the individual provenance records used must remain valid and correct when interpreted in a context other than that in which they were collected.
+ Yet we may still want to make provenance assertions about dynamic or context-dependent resources (e.g. a weather forecast for London on a particular day may have been derived from a particular set of Meteorological Office data).
+ </p>
+ <p>
+ Provenance records for dynamic and context-dependent resources are possible through a notion of constrained resources. A <a class="internalDFN">constrained resource</a> is simply a resource (in the sense defined by [<cite><a class="bibref" href="#bib-WEBARCH">WEBARCH</a></cite>], <a href="http://www.w3.org/TR/webarch/#id-resources" class="externalRef">section 2.2</a>) that is a specialization or instance of some other resource. For example, a <abbr title="World Wide Web Consortium">W3C</abbr> specification typically undergoes several public revisions before it is finalized. A URI that refers to the "current" revision might be thought of as denoting the specification throughout its lifetime. Each individual revision would also have its own <a class="internalDFN">target-URI</a> denoting the specification at that particular stage in its development. Using these, we can make provenance assertions that a particular revision was published on a particular date, and was last modified by a particular editor. Target-URIs may use any URI scheme, and are not required to be dereferencable.
+ </p>
+ <p>
+ Requests for provenance about a resource may return provenance records that use one or more target-URIs to refer to versions of that resource, such as when there are assertions referring to the same underlying resource in different contexts. For example, a provenance record for a <abbr title="World Wide Web Consortium">W3C</abbr> document might include information about all revisions of the document using statements that use the different target-URIs of the various revisions.
+ </p>
+ <p>
+ These ideas are represented in the provenance data model [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] by the concepts <a href="http://www.w3.org/TR/prov-dm/#term-entity" class="externalRef">entity</a> and <a href="http://www.w3.org/TR/prov-dm/#term-specialization" class="externalRef">specialization</a>. In particular, an entity may be a specialization of some resource whose "fixed aspects" provide sufficient constraint for expressed provenance about the resource to be invariant with respect to that entity. This entity is itself just another resource (e.g. the weather forecast for a give date as opposed to the current weather forecast), with its own URI for referring to it within a provenance record.
+ </p>
+ </section>
+
+ <section id="interpreting-provenance-records">
+ <h3><span class="secno">1.3 </span>Interpreting provenance records</h3>
+ <p class="TODO">
+ Review second para below.
+ </p>
+ <p>
+ The mechanisms described in this document are intended to allow a provider to supply information that allows a consumer to access <a class="internalDFN">provenance record</a>s, which themselves explicitly identify the <a class="internalDFN" href="#dfn-entity">entities</a> they describe.
+ A provenance record may contain information about several entities, referring to them using their various <a class="internalDFN">target-URI</a>s.
+ Thus a consumer should be selective in its use of the information provided when interpreting a provenance record.
+ </p>
+ <p>
+ A provenance record consumer will need to isolate information about the specific entity or entities of interest. These may be <a class="internalDFN">constrained resource</a>s identified by separate target-URIs than the original resource, in which case it will need to know about the target-URIs used. The mechanisms defined later allow a provider to expose such URIs.
+ </p>
+ <p>
+ 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 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>
+ <p>
+ A provenance record is not of itself guaranteed to be authoritative or correct. Trust in provenance records must be determined separately from trust in the original resource. Just as in the web at large, it is a user's responsibility to determine an appropriate level of trust in any other resource; e.g. based on the domain that serves it, or an associated digital signature. (See also <a href="#security-considerations" class="sectionRef sec-ref">section 6. Security considerations</a>.)
+ </p>
+ </section>
+
+ <section id="uri-types-and-dereferencing">
+ <h3><span class="secno">1.4 </span>URI types and dereferencing</h3>
+ <p>
+ A number of resource types are described above in <a href="#concepts" class="sectionRef sec-ref">section 1.1 Concepts</a>. The table below summarizes what these various URIs are intended to denote, and the kind of information that should be returned if they are dereferenced:
+ </p>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>Denotes</th>
+ <th>Dereferences to</th>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><a class="internalDFN" href="#dfn-target-uri">Target-URI</a></td>
+ <td>Any resource that is described by some provenance - typically an <a class="externalRef" href="http://www.w3.org/TR/prov-dm/#section-entity-activity">entity</a> (in the sense of [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>], but may be an activity).</td>
+ <td>If the URI is dereferencable, it should return a representation or description of the resource for which provenance is provided.</td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><a class="internalDFN" href="#dfn-provenance-uri">Provenance-URI</a></td>
+ <td>A provenance record, or provenance description, in the sense described by [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] (<a href="http://www.w3.org/TR/prov-dm/#section-prov-overview" class="externalRef">PROV Overview</a>).</td>
+ <td>A provenance record in any defined format, selectable via content negotiation.</td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><a class="internalDFN" href="#dfn-service-uri">Service-URI</a></td>
+ <td>A provenance query service. The service-URI is the initial URI used when accessing a provenance query service; following REST API style [<cite><a class="bibref" href="#bib-REST-APIs">REST-APIs</a></cite>], URIs for accessing provenance are determined via the service description.</td>
+ <td>A provenance query service description per <a href="#provenance-query-service-description" class="sectionRef sec-ref">section 4.1 Provenance query service description</a>. Alternative formats may be offered via HTTP content negotiation.</td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><a class="internalDFN" href="#dfn-pingback-uri">Pingback-URI</a></td>
+ <td>A provenance pingback service. This is a service to which provenance pingback information can be submitted using an HTTP POST operation per <a href="#forward-provenance" class="sectionRef sec-ref">section 5. Forward provenance</a>. No other operations are specified.</td>
+ <td>None specified (the owner of a provenance pingback URI may choose to return useful information, but is not required to do so.)</td>
+ </tr>
+ </tbody></table>
+ <p>
+ </p>
+ </section>
+
+ </section>
+
+<!-- == Sect 2 =================================================================================== -->
+
+ <section id="accessing-provenance-records">
+ <!--OddPage--><h2><span class="secno">2. </span>Accessing provenance records</h2>
+ <p>
+ This specification describes two ways to access <a class="internalDFN">provenance record</a>s:
+ </p>
+ <ol>
+ <li>Direct access: given a <a class="internalDFN">provenance-URI</a>, simply dereference it, and</li>
+ <li>Indirectly via a query service: given the URIs of some resource (or maybe other information) and a <a class="internalDFN">provenance query service</a>, use the service to access provenance of the resource.</li>
+ </ol>
+ <p>
+ Web applications may access a provenance record in the same way as any resource on the Web, by dereferencing its URI (commonly using an HTTP GET operation). Thus, any provenance record may be associated with a <a class="internalDFN">provenance-URI</a>, and may be accessed by dereferencing that URI using web mechanisms.
+ How much or how little provenance is returned in a provenance record is a matter for the provider, taking account that a provenance trace may extend as linked data across multiple provenance records.
+ </p>
+ <p>
+ When there is no easy way to associate a <a class="internalDFN">provenance-URI</a> with a resource (e.g. for resources not directly web-accessible, or whose publication mechanism is controlled by someone else), a provenance description may be obtained using a provenance query service at an indicated <a class="internalDFN">service-uri</a>.
+ A REST protocol for provenance queries is defined in Section <a href="#provenance-query-services" class="sectionRef sec-ref">section 4. Provenance query services</a>; also described there is a mechanism for locating a SPARQL query service [<cite><a class="bibref" href="#bib-SPARQL-SD">SPARQL-SD</a></cite>].
+ </p>
+ <p>
+ When publishing provenance, corresponding <a class="internalDFN">provenance-URI</a>s or <a class="internalDFN">service-URI</a>s should be discoverable using one or more of the mechanisms described in <a href="#locating-provenance-records" class="sectionRef sec-ref">section 3. Locating provenance records</a>.
+ </p>
+ <div class="note"><div class="note-title"><span>Note</span></div><p class="">
+ Provenance may be presented as a <a href="http://www.w3.org/TR/prov-dm/#component4" class="externalRef">bundle</a>, which is "<cite>a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed</cite>" [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]. A provenance description at a dereferencable provenance-URI may be treated as a bundle, and this is a good way to make provenance easily accessible. But there are other possible implementations of a bundle, such as a named graph in an RDF dataset [<cite><a class="bibref" href="#bib-RDF-CONCEPTS11">RDF-CONCEPTS11</a></cite>], for which the bundle URI may not be directly dereferencable.
+ <br><br>
+ When a bundle is published as part of an RDF Dataset, to access it would require accessing the RDF Dataset and then extracting the identified graph component; this in turn would require knowing a URI or some other way to retrieve the RDF dataset. This specification does not describe a specific mechanism for extracting components from a document containing multiple graphs.
+ <br><br>
+ The <abbr title="World Wide Web Consortium">W3C</abbr> Linked Data Platform group (<a href="http://www.w3.org/2012/ldp/" class="externalRef">www.w3.org/2012/ldp/</a>) is chartered to produce a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation for HTTP-based (RESTful) application integration patterns using read/write Linked Data; we anticipate that they may address access to RDF Datasets in due course.
+ </p></div>
+
+ </section>
+
+<!-- == Sect 3 =================================================================================== -->
+
+ <section id="locating-provenance-records">
+ <!--OddPage--><h2><span class="secno">3. </span>Locating provenance records</h2>
+ <p>
+ A <a class="internalDFN">provenance record</a> can be accessed using direct web retrieval, given its <a class="internalDFN">provenance-URI</a>. 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 may be exposed by a query service, in which case, the corresponding <a class="internalDFN">service-URI</a> must be discovered.
+ </p>
+ <p>
+ Three mechanisms are defined for a provenance <a class="internalDFN" href="#dfn-consumer">consumer</a> to find information about a <a class="internalDFN">provenance-URI</a> or <a class="internalDFN">service-URI</a>, along with a <a class="internalDFN">target-URI</a>:
+ </p>
+ <ol>
+ <li>The consumer knows the resource URI <em>and</em> the resource is accessible using HTTP</li>
+ <li>The consumer has a copy of a resource represented as HTML or XHTML</li>
+ <li>The consumer has a copy of a resource represented as RDF (including the range of possible RDF syntaxes, such as HTML with embedded RDFa)</li>
+ </ol>
+ <p>
+ These particular cases are selected as corresponding to current primary web protocol and data formats. Similar approaches may be defined for other protocols or resource formats.
+ </p>
+ <p>Provenance records may be offered by several <a class="internalDFN" href="#dfn-provider">provider</a>s other than that of the original resource publisher, each with different concerns, and presenting provenance at different locations. It is possible that these different providers may present contradictory provenance.
+ </p>
+
+ <section id="resource-accessed-by-http">
+ <h3><span class="secno">3.1 </span>Resource accessed by HTTP</h3>
+ <p>
+ For a resource accessible using HTTP, a provenance record may be indicated using an HTTP <code>Link</code> header field, as defined by <a href="http://tools.ietf.org/html/rfc5988#section-5" class="externalRef">Web Linking (RFC 5988)</a> [<cite><a class="bibref" href="#bib-LINK-REL">LINK-REL</a></cite>]. The <code>Link</code> header field is included in the HTTP response to a GET or HEAD operation (other HTTP operations are not excluded, but are not considered here).
+ </p>
+ <p>
+ A <code>has_provenance</code> link relation type for referencing a provenance record may be used thus:
+ </p>
+ <pre class="pattern">Link: <<cite>provenance-URI</cite>>;
+ rel="http://www.w3.org/ns/prov#has_provenance";
+ anchor="<cite>target-URI</cite>"</pre>
+ <p>When used in conjunction with an HTTP success response code (<code>2xx</code>), this HTTP header field indicates that <code><cite>provenance-URI</cite></code> is the URI of a provenance record about the originally requested resource, and that the requested resource is identified within the provenance record as <code><cite>target-URI</cite></code>. (See also <a href="#interpreting-provenance-records" class="sectionRef sec-ref">section 1.3 Interpreting provenance records</a>.)</p>
+ <p>
+ If no <code>anchor</code> parameter is provided then the <code><cite>target-URI</cite></code> is assumed to be the URI of the requested resource used in the corresponding HTTP request.
+ </p>
+ <p>
+ This specification does not define the meaning of these links returned with other HTTP response codes: future revisions may define interpretations for these.
+ </p>
+ <p>
+ An HTTP response <em class="rfc2119" title="MAY">MAY</em> include multiple <code>has_provenance</code> link header fields, indicating a number of different provenance resources (and anchors) that are known to the responding server, each referencing a provenance record about the accessed resource.
+ </p>
+ <p>
+ The presence of a <code>has_provenance</code> link in an HTTP response does not preclude the possibility that other providers 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 sec-ref">section 4. Provenance query services</a>).
+ </p>
+ <p>
+ An example request including provenance headers in its response might look like this (where <code>C:</code> and <code>S:</code> prefixes indicate client and server emitted data respectively):
+ </p>
+ <div class="example"><div class="example-title"><span>Example 1</span></div><pre class="example code">C: GET http://example.com/resource/ HTTP/1.1
+C: Accept: text/html
+
+S: HTTP/1.1 200 OK
+S: Content-type: text/html
+S: Link: <http://example.com/resource/provenance/>;
+ rel="http://www.w3.org/ns/prov#has_provenance";
+ anchor="http://example.com/resource/"
+S:
+S: <html ...>
+S: :
+S: </html></pre></div>
+ <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 id="specifying-provenance-query-services">
+ <h4><span class="secno">3.1.1 </span>Specifying Provenance Query Services</h4>
+ <p>
+ The resource provider may indicate that provenance records about the resource are provided by a <a class="internalDFN">provenance query service</a>. This is done through the use of a <code>has_query_service</code> link relation type following the same pattern as above:
+ </p>
+ <pre class="pattern">Link: <<cite>service-URI</cite>>;
+ rel="http://www.w3.org/ns/prov#has_query_service";
+ anchor="<cite>target-URI</cite>"
+ </pre>
+ <p>
+ The <code>has_query_service</code> link identifies the <a class="internalDFN">service-URI</a>. Dereferencing this URI yields a service description that provides further information to enable a client to submit a query to retrieve a <a class="internalDFN">provenance record</a> for a <a class="internalDFN">resource</a>; see <a href="#provenance-query-services" class="sectionRef sec-ref">section 4. Provenance query services</a> for more details.
+ </p>
+ <p>
+ There may be multiple <code>has_query_service</code> link header fields, and these <em class="rfc2119" title="MAY">MAY</em> appear in an HTTP response together with <code>has_provenance</code> link header fields.
+ </p>
+ <div class="example"><div class="example-title"><span>Example 2</span></div><pre class="example code">C: GET http://example.com/resource/ HTTP/1.1
+C: Accept: text/html
+
+S: HTTP/1.1 200 OK
+S: Content-type: text/html
+S: Link: <http://example.com/resource/provenance/>;
+ rel="http://www.w3.org/ns/prov#has_query_service";
+ anchor="http://example.com/resource/"
+S:
+S: <html ...>
+S: :
+S: </html></pre></div>
+ </section>
+
+ <section id="content-negotiation-redirection-and-link-headers">
+ <h4><span class="secno">3.1.2 </span>Content negotiation, redirection and Link: headers</h4>
+ <p>
+ When performing content negotiation for a resource, it is common for HTTP 302 or 303 redirect response codes to be used to direct a client to an appropriately-formatted resource. When accessing a resource for which provenance is available, link headers <em class="rfc2119" title="SHOULD">SHOULD</em> be included with the response to the final redirected request, and not on the intermediate 303 responses. (When accessing a resource from a browser using Javascript, the intermediate 303 responses are usually handled transparently by the browser and are not visible to the HTTP client code.)
+ </p>
+ <p>
+ Following content negotiation, any provenance link returned refers to the resource whose URI is used in the corresponding HTTP request, or the given anchor parameter if that is different.
+ </p>
+ <p>
+ An example transaction using content negotiation and redirection might look like this (where <code>C:</code> and <code>S:</code> prefixes indicate client and server emitted data respectively):
+ </p>
+ <div class="example"><div class="example-title"><span>Example 3</span></div><pre class="example code">C: GET http://example.com/resource/ HTTP/1.1
+C: Accept: text/html
+
+S: HTTP/1.1 302 Found
+S: Location: /resource/content.html
+S: Vary: Accept
+S:
+S: HTML content for http://example.com/resource/
+S: is available at http://example.com/resource/content.html
+
+C: GET http://example.com/resource/content.html HTTP/1.1
+C: Accept: text/html
+
+S: HTTP/1.1 200 OK
+S: Content-type: text/html
+S: Link: <http://example.com/resource/provenance/>;
+ rel="http://www.w3.org/ns/prov#has_provenance";
+ anchor="http://example.com/resource/20130226/content.html"
+S:
+S: <html>
+S: <!-- HTML content here... -->
+S: </html></pre></div>
+ </section>
+
+ </section>
+
+ <section id="resource-represented-as-html">
+ <h3><span class="secno">3.2 </span>Resource represented as HTML</h3>
+ <div>
+ For a document presented as HTML or XHTML, without regard for how it has been obtained, a provenance record may be associated with a resource by adding a <code><link></code> element to the HTML <code><head></code> section.
+ Two link relation types for referencing provenance may be used:
+ <pre class="pattern"> <html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <b><link rel="http://www.w3.org/ns/prov#has_provenance" href="<cite>provenance-URI</cite>"></b>
+ <b><link rel="http://www.w3.org/ns/prov#has_anchor" href="<cite>target-URI</cite>"></b>
+ <title>Welcome to example.com</title>
+ </head>
+ <body>
+ <!-- HTML content here... -->
+ </body>
+ </html></pre>
+ </div>
+ <p>
+ The <code><cite>provenance-URI</cite></code> given by the first link element (<code>#has_provenance</code> ) identifies the provenance-URI for the document.
+ </p>
+ <p>
+ The <code><cite>target-URI</cite></code> given by the second link element (<code>#has_anchor</code>) specifies an identifier for the document that may be used within the provenance record when referring to the document.
+ </p>
+ <p>
+ If no <code><cite>target-URI</cite></code> is provided (via a <code>#has_anchor</code> link element) then is it is assumed to be the URI of the document. It is <em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em> 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 [<cite><a class="bibref" href="#bib-RFC2392">RFC2392</a></cite>]).
+ </p>
+ <p>
+ An HTML document header <em class="rfc2119" title="MAY">MAY</em> present multiple <code><cite>provenance-URI</cite></code>s over several <code>#has_provenance</code> link elements, indicating a number of different provenance records that are known to the publisher of the document, each of which may provide provenance about the document (see <a href="#interpreting-provenance-records" class="sectionRef sec-ref">section 1.3 Interpreting provenance records</a>).
+ </p>
+ <p class="TODO">
+ Check with Dong: I think the cross reference should make the assumptions explicit. I, too, feel this material is not strictly needed, but was previously asked to add some clarification about mutliple links.
+ </p>
+
+ <section id="specifying-provenance-query-services-1">
+ <h4><span class="secno">3.2.1 </span>Specifying Provenance Query Services</h4>
+ <p>
+ The document creator may specify that the provenance about the document is provided by a <a class="internalDFN">provenance query service</a>. This is done through the use of a third link relation type following the same pattern as above:
+ </p>
+ <pre class="pattern"> <html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <b><link rel="http://www.w3.org/ns/prov#has_query_service" href="<cite>service-URI</cite>"></b>
+ <b><link rel="http://www.w3.org/ns/prov#has_anchor" href="<cite>target-URI</cite>"></b>
+ <title>Welcome to example.com</title>
+ </head>
+ <body>
+ <!-- HTML content here... -->
+ </body>
+ </html></pre>
+ <p>
+ The <code>has_query_service</code> link element identifies the <a class="internalDFN">service-URI</a>. Dereferencing this URI yields a service description that provides further information to enable a client to query for provenance about a resource; see <a href="#provenance-query-services" class="sectionRef sec-ref">section 4. Provenance query services</a> for more details.
+ </p>
+ <p>
+ There <em class="rfc2119" title="MAY">MAY</em> be multiple <code>#has_query_service</code> link elements, and these <em class="rfc2119" title="MAY">MAY</em> appear in the same document as <code>#has_provenance</code> link elements (though we do not anticipate that <code>#has_provenance</code> and <code>#has_query_service</code> link relations will commonly be used together).
+ </p>
+ <p class="TODO">
+ Check with Dong: This test was already revised in response to earlier comment.
+ I, too, feel this material is not strictly needed, but was previously asked to add some clarification.
+ </p>
+
+ </section>
+
+ </section>
+
+ <section id="resource-represented-as-rdf">
+ <h3><span class="secno">3.3 </span>Resource represented as RDF</h3>
+ <p>
+ If a resource is represented as RDF (in any of its recognized syntaxes, including RDFa), it may contain references to its own provenance using additional RDF statements. For this purpose the link relations introduced above (<a href="#locating-provenance-records" class="sectionRef sec-ref">section 3. Locating provenance records</a>) may be used as RDF properties: <code>prov:has_provenance</code>, <code>prov:has_anchor</code>, and <code>prov:has_query_service</code>, where the <code>prov:</code> prefix here indicates the PROV namespace URI <code>http://www.w3.org/ns/prov#</code>.
+ </p>
+ <p>
+ The RDF property <code>prov:has_provenance</code> is a relation between two resources, where the object of the property is a <a class="internalDFN">provenance-URI</a> that denotes a provenance record about the subject resource. Multiple <code>prov:has_provenance</code> assertions may be made about a subject resource.
+ </p>
+ <p>
+ Property <code>prov:has_anchor</code> specifies a <a class="internalDFN">target-URI</a> used in the indicated provenance to refer to the containing RDF document.
+ </p>
+ <p>
+ Property <code>prov:has_query_service</code> specifies a <a class="internalDFN">service-URI</a> for provenance queries.
+ </p>
+ <div class="example"><div class="example-title"><span>Example 4</span></div><pre class="example code">@prefix prov: <http://www.w3.org/ns/prov#>.
+
+<> dcterms:title "Welcome to example.com" ;
+ prov:has_anchor <http://example.com/data/resource.rdf> ;
+ prov:has_provenance <http://example.com/provenance/resource.rdf> ;
+ prov:has_query_service <http://example.com/provenance-query-service/> .
+
+ # (More RDF data ...)</pre></div>
+ <p>
+ (The above example uses Turtle RDF syntax [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>].)
+ </p>
+ <div class="note"><div class="note-title"><span>Note</span></div><p class="">
+ These terms (<code>prov:has_provenance</code>, <code>prov:has_anchor</code>, and <code>prov:has_query_service</code>) may be also used in RDF statements with other subjects to indicate provenance of other resources, but discussion of such use is beyond the scope of this document.
+ </p></div>
+ </section>
+
+ </section>
+
+<!-- == Sect 4 =================================================================================== -->
+
+ <section id="provenance-query-services">
+ <!--OddPage--><h2><span class="secno">4. </span>Provenance query services</h2>
+ <p>
+ This section describes a simple HTTP query protocol for accessing provenance records, and also a mechanism for locating a SPARQL service endpoint [<cite><a class="bibref" href="#bib-SPARQL-SD">SPARQL-SD</a></cite>]. The HTTP protocol specifies HTTP operations for retrieving provenance records from a provenance query service, following the approach of the SPARQL Graph Store HTTP Protocol [<cite><a class="bibref" href="#bib-SPARQL-HTTP">SPARQL-HTTP</a></cite>].
+ </p>
+ <p>
+ The introduction of query services is motivated by the following possible considerations:
+ </p>
+ <ul>
+ <li>
+ third-party providers of provenance descriptions may be unable to use the mechanisms of Section 3 because the corresponding <a class="internalDFN">target-URI</a> is outside their control;
+ </li>
+ <li>
+ services unknown to the original publisher may have provenance records about the same resource;
+ </li>
+ <li>
+ there is no known dereferencable <a class="internalDFN">provenance-URI</a> or a particular entity;
+ </li>
+ <li>
+ query services may provide additional filters over what provenance is returned; and
+ </li>
+ <li>
+ query services may support more expressive selections, such as "which
+entities were derived from entities attributed to agent X".
+ </li>
+ </ul>
+ <p>
+ The patterns for using provenance query services are designed around REST principles [<cite><a class="bibref" href="#bib-REST">REST</a></cite>], which aim to minimize coupling between client and server implementation details.
+ </p>
+ <p>
+ The query mechanisms provided by a <a class="internalDFN">provenance query service</a> are described by a service description, which is obtained by dereferencing a <a class="internalDFN">service-URI</a>. A service description may contain information about additional mechanisms that are not described here. In keeping with REST practice for web applications, alternative service descriptions using different formats may be offered and accessed using HTTP content negotiation. We describe below a service description format that uses RDF to describe two query mechanisms.
+ </p>
+ <p>
+ The general procedure for using a provenance query service is:
+ </p>
+ <ol>
+ <li>retrieve the service description;</li>
+ <li>within the service description, locate information about a recognized query mechanism (ignoring unrecognized descriptions if the description covers multiple service options);</li>
+ <li>if a recognized query mechanism is found, extract information needed to use that mechanism (e.g. a URI template or a SPARQL service endpoint URI); and</li>
+ <li>use the information obtained to query for required provenance, using the selected query mechanism.</li>
+ </ol>
+ <p>
+ The remainder of this section covers the following topics:
+ </p>
+ <ul>
+ <li>
+ <a class="sectionRef sec-ref" href="#provenance-query-service-description">section 4.1 Provenance query service description</a> - describes an RDF-based service description format and vocabularies to convey information about direct HTTP query and/or SPARQL service options.
+ <ul>
+ <a class="sectionRef sec-ref" href="#direct-http-query-service-description">section 4.1.1 Direct HTTP query service description</a> - RDF structure for describing a direct HTTP query service.
+ </ul>
+ <ul>
+ <a class="sectionRef sec-ref" href="#sparql-query-service-description">section 4.1.2 SPARQL query service description</a> - RDF structure for describing a SPARQL query service.
+ </ul>
+ </li>
+ <li><a class="sectionRef sec-ref" href="#direct-http-query-service-invocation">section 4.2 Direct HTTP query service invocation</a> - describes how to perform a direct HTTP query for provenance, using information obtained from the service description.</li>
+ <li><a class="sectionRef sec-ref" href="#provenance-query-service-discovery">section 4.3 Provenance query service discovery</a> - briefly discusses some possible approaches to discovery of provenance query services.
+ </li></ul>
+
+ <!-- <section class="informative"> -->
+ <section id="provenance-query-service-description">
+ <h3><span class="secno">4.1 </span>Provenance query service description</h3>
+ <p class="TODO">
+ Review. Stian suggests recommending use of JSON-LD. I am resisting this because it is clearly allowed by "RDF (in any of its common serializations as determined by HTTP content negotiation)", focusing on a particular format as part of the underlying mechanism seems to go against REST principles, and at this stage it seems that promoting any particular format will draw objections from proponents of other formats. I've taken a different tack, making the text more open about possible service description formats, while specifically presenting a description based on the RDF model.
+ </p>
+ <p>
+ Dereferencing a <a class="internalDFN">service-URI</a> yields a service description. The service description presented here may be supplied as RDF (in any of its common serializations as determined by HTTP content negotiation), and it may contain descriptions of one or more available query mechanisms. Each query mechanism is associated with an RDF type, as explained below.
+ (The presentation here of RDF service descriptions does not preclude use of non-RDF formats selectable by HTTP content negotiation.)
+ </p>
+ <p>
+ The overall structure of a service description is as follows:
+ </p>
+ <pre class="pattern"><<cite>service-URI</cite>> a prov:ServiceDescription ;
+ prov:describesService <<cite>direct-query-description</cite>>, <<cite>sparql-query-description</cite>> .
+
+<<cite>direct-query-description</cite>> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate "<cite>direct-query-template</cite>"
+ .
+
+<<cite>sparql-query-description</cite>> a sd:Service ;
+ sd:endpoint <<cite>sparql-query</cite>> ;
+ # other details...
+ .
+</pre>
+ <p>
+ We see here that the <code><cite>service-URI</cite></code> identifies a resource of type <code>prov:ServiceDescription</code>, which collects descriptions of one or more provenance query mechanisms. Each associated mechanism is indicated by a <code>prov:describesService</code> statement.
+ </p>
+ <div class="note"><div class="note-title"><span>Note</span></div><p class="">
+ We expect the presentation of service descriptions to be considered by the <abbr title="World Wide Web Consortium">W3C</abbr> Linked Data Platform group (<a href="http://www.w3.org/2012/ldp/" class="externalRef">www.w3.org/2012/ldp/</a>); at the time of writing, there is no consensus (cf. message at <a href="http://lists.w3.org/Archives/Public/public-ldp/2012Nov/0036.html" class="externalRef">lists.w3.org/Archives/Public/public-ldp/2012Nov/0036.html</a> and responses). As and when such consensus emerges, we recommend that provenance query service implementers consider adopting it, or at least consider making their implementations compatible with it.
+ </p></div>
+
+ <section id="direct-http-query-service-description">
+ <h4><span class="secno">4.1.1 </span>Direct HTTP query service description</h4>
+ <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 [<cite><a class="bibref" href="#bib-URI-template">URI-template</a></cite>] (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">@prefix prov: <http://www.w3c.org/ns/prov#>
+<direct-query-description> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate "<cite>query-URI</cite>?target={+uri}" .
+</pre>
+ <p>
+ where <cite><code>query-URI</code></cite> is the base URI of the direct query service, and <code><cite>direct-query-description</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 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 [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>]. If the result is a relative reference, it is interpreted per [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] (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 <em class="rfc2119" title="MAY">MAY</em> recognize additional parameters encoded as part of a URI for the provenance record. If it does, it <em class="rfc2119" title="SHOULD">SHOULD</em> 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.
+ For example, a query service might offer to include just the immediate provenance of a target, or to also supply provenance of other resources from which the target is derived. Suppose a service accepts an additional parameter <code>steps</code> that defines the number of previous steps to include in a provenance trace, it might publish its service description thus:
+ </p>
+ <div class="example"><div class="example-title"><span>Example 5</span></div><pre class="example code"><<cite>direct-query-description</cite>> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate
+ "http://www.example.com/provenance/service?target={+uri}{&steps}" .</pre></div>
+ <p>
+ which might result in an HTTP query for provenance information that looks like this:
+ </p>
+ <div class="example"><div class="example-title"><span>Example 6</span></div><pre class="example code">GET http://example.com/provenance/service?<b>target</b>=http://www.example.com/entity&<b>steps</b>=2 HTTP/1.1</pre></div>
+ <p>
+ (Note that in this case, a "level 3" URI template feature is used [<cite><a class="bibref" href="#bib-URI-template">URI-template</a></cite>].)
+ </p>
+ </section>
+
+ <section id="sparql-query-service-description">
+ <h4><span class="secno">4.1.2 </span>SPARQL query service description</h4>
+ <p>
+ A SPARQL query service is described by an RDF resource of type <code>sd:Service</code> [<cite><a class="bibref" href="#bib-SPARQL-SD">SPARQL-SD</a></cite>].
+ </p>
+ <p>
+ It allows for accessing provenance information using a SPARQL query, which may be constructed to retrieve provenance for a particular resource, or for multiple resources. The query may be formulated using the PROV-O vocabulary terms [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>], and others supported by the SPARQL endpoint as appropriate.
+ </p>
+ <p>
+ The SPARQL query service description is constructed as defined by <cite>SPARQL 1.1 Service Description</cite> [<cite><a class="bibref" href="#bib-SPARQL-SD">SPARQL-SD</a></cite>]; e.g.
+ </p>
+ <div class="example"><div class="example-title"><span>Example 7</span></div><pre class="example code"><cite>sparql-query-description</cite> a sd:Service ;
+ sd:endpoint <<cite>query-URI</cite>/sparql/> ;
+ sd:supportedLanguage sd:SPARQL11Query .</pre></div>
+ <p>
+ where <cite><code>query-URI</code></cite> is the base URI of the provenance query service, and <code><cite>sparql-query-description</cite></code> is any distinct RDF subject node (i.e. a blank node or a URI).
+ </p>
+ <p>
+ The SPARQL service description may be detailed or sparse, provided that it includes at a minimum the following:
+ </p>
+ <pre class="pattern"><cite>sparql-query-description</cite> a sd:Service ;
+ sd:endpoint <(SPARQL service endpoint URI reference)> .
+</pre>
+ <p>
+ The endpoint may be given as an absolute or relative URI reference. If a relative reference is given, it is interpreted in the normal way for the RDF format used, which will commonly be relative to the URI of the service document itself.
+ </p>
+ </section>
+
+ <section id="service-description-example">
+ <h4><span class="secno">4.1.3 </span>Service description example</h4>
+ <p>
+ The following service description example uses Turtle [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>] syntax to describe both direct HTTP and SPARQL query services:
+ </p>
+ <div class="example"><div class="example-title"><span>Example 8</span></div><pre class="example code">@prefix prov: <http://www.w3c.org/ns/prov#>
+@prefix dcterms: <http://purl.org/dc/terms/>
+@prefix foaf: <http://xmlns.com/foaf/0.1/>
+@prefix sd: <http://www.w3.org/ns/sparql-service-description#>
+
+<> a prov:ServiceDescription ;
+ prov:describesService <#direct>, <#sparql> ;
+ dcterms:publisher <#us>
+ .
+
+<#us> a foaf:Organization ;
+ foaf:name "and not a service!"
+ .
+
+<#direct> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate "/direct?target={+uri}"
+ .
+
+<#sparql> a sd:Service ;
+ sd:endpoint </sparql/> ;
+ sd:supportedLanguage sd:SPARQL11Query ;
+ sd:resultFormat <http://www.w3.org/ns/formats/RDF_XML> ,
+ <http://www.w3.org/ns/formats/Turtle> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_XML> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_JSON> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_CSV> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_TSV>
+ .</pre></div>
+ </section>
+ </section>
+
+ <section id="direct-http-query-service-invocation">
+ <h3><span class="secno">4.2 </span>Direct HTTP query service invocation</h3>
+ <p>
+ This protocol combines the <a class="internalDFN">target-URI</a> with a supplied URI template to formulate an HTTP GET request.
+ </p>
+ <p>
+ Thus, if the URI template extracted from the service description is <code>http://example.com/provenance/service?target={uri}</code> and the supplied target-URI is <code>http://www.example.com/entity123</code>, the resulting HTTP request would be:
+ </p><div class="example"><div class="example-title"><span>Example 9</span></div><pre class="example code">GET /provenance/service?<b>target</b>=http%3A%2F%2Fwww.example.com%2Fentity123 HTTP/1.1
+Host: example.com</pre></div>
+ <p></p>
+ <p>
+ Any server that implements this protocol and receives a request URI in this form <em class="rfc2119" title="SHOULD">SHOULD</em> return a provenance record for the target-URI embedded in the query component, where that URI is the result of percent-decoding [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] the part of the request URI corresponding to <code>{var}</code> in the URI template. E.g., in the above example, the decoded target-URI is <code>http://www.example.com/entity123</code>. The target-URI <em class="rfc2119" title="MUST">MUST</em> be an absolute URI, and the server <em class="rfc2119" title="SHOULD">SHOULD</em> respond with <code>400 Bad Request</code> if it is not.
+ </p>
+ <p>
+ A server <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> offer a template containing <code>{+uri}</code> or other non-simple variable expansion options [<cite><a class="bibref" href="#bib-URI-template">URI-template</a></cite>] unless all valid target-URIs for which it can provide provenance do not contain problematic characters like <code>'#'</code> or <code>'&'</code>.
+ </p>
+ <div class="note"><div class="note-title"><span>Note</span></div><p class="">
+ The defined URI template expansion process [<cite><a class="bibref" href="#bib-URI-template">URI-template</a></cite>] generally takes care of %-escaping characters that are not permitted in URIs. However, when expanding a template with <code>{+uri}</code>, some permitted characters such as <code>'#'</code> and <code>'&'</code> are not escaped. If the supplied target-URI contains these characters, then they may disrupt interpretation of the resulting query URI. To prevent this, <code>'#'</code> and <code>'&'</code> characters in the target-URI may be replaced with <code>%23</code> and <code>%26</code> respectively, before performing the URI template expansion. An alternative, simpler and more reliable approach is to use <code>{uri}</code> in the URI template string, which will cause all URI-reserved characters to be %-escaped as part of the URI-template expansion, as in the example above.
+ </p></div>
+ <p>
+ If the provenance described by the request is unknown to the server, a suitable error response code <em class="rfc2119" title="SHOULD">SHOULD</em> be returned. In the absence of any security of privacy concerns about the resource, that might be <code>404 Not Found</code>. But if the existence or non-existence of a resource is considered private or sensitive, an authorization failure or other error response may be returned.
+ </p>
+ <p>
+ The direct HTTP query service may return provenance in any available format.
+ For interoperable provenance publication, use of the PROV-O vocabulary [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] represented in a standardized RDF format is recommended. Where alternative formats are available, selection may be made by content negotiation, using <code>Accept:</code> header fields in the HTTP request.
+ Services <em class="rfc2119" title="MUST">MUST</em> identify the <code>Content-Type</code> of the provenance returned.
+ </p>
+ <p>
+ Additional URI query parameters may be used as indicated by the service description in <a href="#direct-http-query-service-description" class="sectionRef sec-ref">section 4.1.1 Direct HTTP query service description</a>.
+ </p>
+ </section>
+
+ <!-- <section class="informative"> -->
+ <section id="provenance-query-service-discovery">
+ <h3><span class="secno">4.3 </span>Provenance query service discovery</h3>
+ <p>
+ Previously, <a href="#locating-provenance-records" class="sectionRef sec-ref">section 3. Locating provenance records</a> has described use of HTTP <code>Link:</code> header fields, HTML <code><link></code> elements and RDF statements to indicate provenance query services. Beyond that, this specification does not define any specific mechanism for discovering query services. Applications may use any appropriate mechanism, including but not limited to: prior configuration, search engines, service registries, etc.
+ </p>
+ <p>
+ To facilitate service discovery, we recommend that RDF publication of dataset and service descriptions use the property <code>prov:has_query_service</code> and the provenance service type <code>prov:ServiceDescription</code> as appropriate (see the appendix <a href="#prov-namespace" class="sectionRef">section B. </a>).
+ </p>
+ <p>
+ For example, a VoID description [<cite><a class="bibref" href="#bib-VoID">VoID</a></cite>] of a dataset might indicate a provenance query service providing information about that dataset:
+ </p>
+ <pre class="pattern"> <http://example.org/dataset/> a void:Dataset ;
+ prov:has_query_service <http://example.org/provenance/> .</pre>
+ <p>
+ The RDF service description example in <a href="#service-description-example" class="sectionRef sec-ref">section 4.1.3 Service description example</a> shows use of the <code>prov:ServiceDescription</code> type.
+ </p>
+ </section>
+
+ </section>
+
+<!-- ==== Section 5 ===================================================================================== -->
+
+ <section id="forward-provenance">
+ <!--OddPage--><h2><span class="secno">5. </span>Forward provenance</h2>
+ <p class="TODO">
+ REVIEW. This section describes an "at-risk" feature whose final inclusion in this document is undecided. Does the use of a "ping-back" for discovering forward provenance fall under the remit of "provenance access and query"? Is it a useful feature to define?
+ </p>
+ <p>
+ This section describes a discovery mechanism for <a href="" class="internalDFN">forward provenance</a>; i.e. provenance describing how a resource is used after it has been created .
+ </p>
+ <p>
+ The mechanisms discussed in previous sections are primarily concerned with access to historical provenance, dealing with questions such as:
+ </p>
+ <ul>
+ <li>what was this resource based upon?</li>
+ <li>how was it constructed?</li>
+ <li>who made it?</li>
+ <li>when was it made?</li>
+ </ul>
+ <p>
+ These questions can be turned around to consider a publisher's forward-looking use of a resource, like:
+ </p>
+ <ul>
+ <li>what new resources are based on this resource?</li>
+ <li>what has this resource been used for?</li>
+ <li>who has used it?</li>
+ <li><i>etc.</i></li>
+ </ul>
+ <p>
+ The ability to answer forward-looking questions requires some cooperation among the parties who use a resource; for example, a consumer could report use directly to the publisher, or a search engine could discover and report such downstream resource usage. To facilitate such cooperation, a publisher of a resource may implement a "ping-back" capability.
+ </p>
+ <p>
+ A resource may have an associated "ping-back" URI which can be presented with references to provenance 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>pingback</code> link relation instead of <code>has_provenance</code>. A consumer of the resource, or some other system, may perform an HTTP POST operation to the pingback URI, with a request body containing a list of provenance-URIs for provenance records describing uses of the resource.
+ </p>
+ <p>
+ 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 <code>wile-e.example.org</code> retrieving a copy of <code>acme.example.org</code>'s resource:
+ </p>
+ <pre class="pattern"> C: GET http://acme.example.org/super-widget HTTP/1.1
+
+ S: 200 OK
+ S: Link: <http://acme.example.org/super-widget/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance
+ S: Link: <http://acme.example.org/super-widget/pingback>;
+ rel=http://www.w3.org/ns/prov#pingback
+ :
+ (super-widget resource data)</pre>
+ <p>
+ The first of the links in the response is a <code>has_provenance</code> link with a <a class="internalDFN">provenance-URI</a> that has been described previously (<a href="#resource-accessed-by-http" class="sectionRef sec-ref">section 3.1 Resource accessed by HTTP</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>, a client <em class="rfc2119" title="MAY">MAY</em> post a pingback request to any supplied <code>pingback</code> URI:
+ </p>
+ <div class="example"><div class="example-title"><span>Example 10</span></div><pre class="example code">C: POST http://acme.example.org/super-widget/pingback HTTP/1.1
+C: Content-Type: text/uri-list
+C:
+C: http://wile-e.example.org/contraption/provenance
+C: http://wile-e.example.org/another/provenance
+
+S: 204 No Content
+S: Link: <http://acme.example.org/super-widget/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor="http://acme.example.org/super-widget"</pre></div>
+ <!--
+ S: Link: <http://wile-e.example.org/contraption/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor=http://acme.example.org/super-widget
+ S: Link: <http://wile-e.example.org/another/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor=http://acme.example.org/super-widget
+ -->
+ <p>
+ The pingback request supplies a list of <a class="internalDFN">provenance-URI</a>s from which forward provenance may be retrieved. The pingback service may do as it chooses with these URIs; e.g., it may choose to save them for later use, to retrieve the associated provenance and save that, to publish the URIs along with other provenance information about the original entity to which they relate, or even to ignore them.
+ </p>
+ <p>
+ The client <em class="rfc2119" title="MAY">MAY</em> further supply <code>has_query_service</code> links indicating provenance query services that can describe the target-URI. The anchor <em class="rfc2119" title="MUST">MUST</em> be included, and <em class="rfc2119" title="SHOULD">SHOULD</em> be the target-URI of the resource to which this pingback service belongs, or some related resource with relevant provenance.
+ </p>
+ <div class="example"><div class="example-title"><span>Example 11</span></div><pre class="example code">C: POST http://acme.example.org/super-widget/pingback HTTP/1.1
+C: Link: <http://wile-e.example.org/sparql>;
+ rel="http://www.w3.org/ns/prov#has_query_service";
+ anchor="http://acme.example.org/super-widget"
+C: Content-Type: text/uri-list
+C: Content-Length: 0
+C:
+
+S: 204 No Content
+S: Link: <http://acme.example.org/super-widget/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor="http://acme.example.org/super-widget"</pre></div>
+ <p>
+ In the above example, the client did not submit any provenance-URIs and the URI list is therefore empty.
+ </p>
+ <p>The client <em class="rfc2119" title="MAY">MAY</em> similarly include <code>has_provenance</code> links to specify provenance records with a different anchor. The provenance-URIs of those headers <em class="rfc2119" title="SHOULD">SHOULD</em> also be included in the content if the POSTed Content-type is <code>text/uri-list</code>.
+ </p>
+ <p class="TODO">
+ Does this <em class="rfc2119" title="SHOULD">SHOULD</em> requirement serve any useful purpose?
+ </p>
+ <p>
+ There is no required information in the server response to a pingback POST request.
+ In the examples above, the pingback service responds with an empty response body, and links to provenance for the original resource.
+ (Note that the <code>Link:</code> header returned contains an explicit <code>anchor</code> parameter with the URI of the original resource; without this, the link would relate the indicated URI to the pingback URI <code>http://acme.example.org/super-widget/pingback</code> rather than the original resource.)
+ </p>
+ <p>
+ The only defined operation on a pingback-URI is POST, which supplies links to provenance information or services as described above. A pingback-URI <em class="rfc2119" title="MAY">MAY</em> respond to other requests, but no requirements are imposed on how it responds. In particular, it is not specified here how a pingback resource should respond to an HTTP GET request. This leaves open a possibility that the pingback resource <em class="rfc2119" title="MAY">MAY</em> have the same URI as the original resource, provided that the original does not respond to POST in some different way.
+ </p>
+
+ <!-- also in Stian's proposal
+
+ The pingback service MAY resolve the submitted URIs to validate and
+ check the provenance data, however reasonable care should be taken to
+ prevent malicious use of the pingback service for attacks such as
+ distributed denial of service (DDoS) and cross-site request forgery
+ (CSRF).
+
+ The server MAY, immediately or at a later time, include the submitted
+ *provenance-URI*s in responses to subsequent request to the provenance
+ service for the target-URI. (insert usual blurb about not trust on
+ such provenance)
+
+ The server SHOULD include a self-referential prov:pingback Link
+ header, which MUST include the anchor for the target-URI this pingback
+ service corresponds to. This serves the purpose for the client to
+ verify it has submitted a pingback to the correct service, in case it
+ has followed an untrusted prov:pingback Link header. The client MAY
+ for this purpose POST an empty text/uri-list to avoid side effects.
+
+ The server SHOULD indicate immediate acceptance by including the
+ corresponding {prov:has_provenance} {Link} headers for the accepted
+ *provenance-URI*s. If all submitted provenance-URIs have been
+ immediately accepted, the server SHOULD respond with HTTP status {200
+ OK} or {204 No Content}.
+
+ If server acceptance is pending for any of the submitted URIs, for
+ instance because the provenance-URIs are being validated or due to be
+ approved by a moderator, the server SHOULD respond with HTTP status
+ {202 Accepted}, and only include corresponding {prov:has_provenance}
+ {Link} headers for those provenance-URIs that have been immediately
+ accepted.
+
+ The server MAY respond with {401 Unauthorized} and standard
+ {{WWW-Authenticate}} headers if authentication is needed. The server
+ SHOULD respond with {403 Forbidden} if for any reason it refuses to
+ accept one or more of the submitted provenance-URIs or
+ provenance-service-URIs. If some URIs were accepted, but others were
+ refused, the server SHOULD respond with {403 Forbidden} and include
+ generated prov:has_provenance and prov:has_query_service Link headers for
+ the immediately accepted URIs.
+
+ -->
+
+
+ </section>
+
+<!-- ==== Section 6 ===================================================================================== -->
+
+ <section id="security-considerations">
+ <!--OddPage--><h2><span class="secno">6. </span>Security considerations</h2>
+ <p>
+ Provenance is central to establishing trust in data. If provenance is corrupted, it may lead agents (human or software) to draw inappropriate and possibly harmful conclusions. Therefore, care is needed to ensure that the integrity of provenance is maintained. Just as provenance can help determine a level of trust in some information, a provenance record related to the provenance itself ("provenance of provenance") can help determine trust in the provenance.
+ </p>
+ <p>
+ Secure HTTP (https) <em class="rfc2119" title="SHOULD">SHOULD</em> be used across unsecured networks when accessing provenance that may be used as a basis for trust decisions, or to obtain a provenance URI for same.
+ </p>
+ <p>
+ When retrieving a provenance URI from a document, steps <em class="rfc2119" title="SHOULD">SHOULD</em> be taken to ensure the document itself is an accurate copy of the original whose author is being trusted (e.g. signature checking, or use of a trusted secure web service). (See also <a class="sectionRef sec-ref" href="#interpreting-provenance-records">section 1.3 Interpreting provenance records</a>.)
+ </p>
+ <p>
+ Provenance may present a route for leakage of privacy-related information, combining as it does a diversity of information types with possible personally-identifying information; e.g. editing timestamps may provide clues to the working patterns of document editors, or derivation traces might indicate access to sensitive materials. In particular, note that the fact that a resource is openly accessible does not mean that its provenance should also be. When publishing provenance, its sensitivity <em class="rfc2119" title="SHOULD">SHOULD</em> be considered and appropriate access controls applied where necessary. When a provenance-aware publishing service accepts some resource for publication, the contributors <em class="rfc2119" title="SHOULD">SHOULD</em> have some opportunity to review and correct or conceal any provenance that they don't wish to be exposed. Provenance management systems <em class="rfc2119" title="SHOULD">SHOULD</em> embody mechanisms for enforcement and auditing of privacy policies as they apply to provenance.
+ </p>
+ <p>Provenance may be used by audits to establish accountability for information use [<cite><a class="bibref" href="#bib-INFO-ACC">INFO-ACC</a></cite>] and to verify use of proper processes in information processing activities. Thus, provenance management systems can provide mechanisms to support auditing and enforcement of information handling policies. In such cases, provenance itself may be a valuable target for attack by malicious agents, and care must be taken to ensure it is stored securely and in a fashion that resists attempts to tamper with it.
+ </p>
+ <p>
+ The pingback service described in <a href="#forward-provenance" class="sectionRef sec-ref">section 5. Forward provenance</a> might be abused for "link spamming" (similar to the way that weblog ping-backs have been used to direct viewers to spam sites). As with many such services, an application needs to find a balance between maintaining ease of submission for useful information and blocking unwanted information. We have no easy solutions for this problem, and the caveats noted above about establishing integrity of provenance records apply similarly to information provided by ping-back calls.
+ </p>
+ <p>
+ When clients and servers are retrieving submitted URIs such as provenance descriptions and following or registering links; reasonable care should be taken to prevent malicious use such as distributed denial of service attacks (DDoS), cross-site request forgery (CSRF), spamming and hosting of inappropriate materials. Reasonable preventions might include same-origin policy, HTTP authorization, SSL, rate-limiting, spam filters, moderation queues, user acknowledgements and validation. It is out of scope for this document to specify how such mechanisms work and should be applied.
+ </p>
+ <p class="TODO">
+ Is CSRF a real threat here? How?
+ </p>
+ <p>Accessing provenance services might reveal to the service and third-parties information which is considered private, including which resources a client has taken interest in. For instance, a browser extension which collects all provenance data for a resource which is being saved to the local disk, could be revealing user interest in a sensitive resource to a third-party site listed by <code>prov:has_provenance</code> or <code>prov:has_query_service</code> relation. A detailed query submitted to a third-party provenance query service might be revealing personal information such as social security numbers. Accordingly, user agents in particular <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> follow provenance and provenance service links without first obtaining the user's explicit permission to do so.
+ </p>
+ </section>
+
+<!-- ===================================================================================== -->
+
+ <section class="appendix" id="acknowledgements">
+ <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2>
+ <p>
+ The editors acknowledge the contribution and review from members of the <abbr title="World Wide Web Consortium">W3C</abbr> Provenance working group for their feedback throughout the development of this specification.
+ </p>
+ <p>
+ The provenance query service description and forward provenance specifications are substantially based on proposals by Stian Soiland-Reyes (University of Manchester).
+ </p>
+ <p>
+ Thanks to Robin Berjon for making our lives easier with his <a href="http://dev.w3.org/2009/dap/ReSpec.js/documentation.html" class="externalRef">ReSpec</a> tool.
+ </p>
+ </section>
+
+<!-- ===================================================================================== -->
+
+ <section class="appendix" id="terms-added-to-prov-namespace">
+ <!--OddPage--><h2 id="prov-namespace"><span class="secno">B. </span>Terms added to prov: namespace</h2>
+
+ <p class="TODO">
+ Possible renaming of service description relations to lowercase-only forms?
+ </p>
+
+ <p>
+ This specification defines the following additional names in the provenance namespace
+ with URI <a href="http://www.w3.org/ns/prov#" class="externalRef">http://www.w3.org/ns/prov#</a>.
+ </p>
+ <table>
+ <tbody><tr>
+ <th>Name</th><th>Description</th><th>Definition ref</th>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>ServiceDescription</code></td>
+ <td>Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments.</td>
+ <td><a href="#provenance-query-service-discovery" class="sectionRef sec-ref">section 4.3 Provenance query service discovery</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>DirectQueryService</code></td>
+ <td>Type for a direct HTTP query service description. Mainly for use in RDF provenance query service descriptions, to distinguish direct HTTP query service descriptions from other query service descriptions.</td>
+ <td><a href="#direct-http-query-service-description" class="sectionRef sec-ref">section 4.1.1 Direct HTTP query service description</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>has_anchor</code></td>
+ <td>Indicates a <a class="internalDFN">target-URI</a> for an resource, used by an associated provenance record.</td>
+ <td><a href="#resource-represented-as-html" class="sectionRef sec-ref">section 3.2 Resource represented as HTML</a>, <a href="#resource-represented-as-rdf" class="sectionRef sec-ref">section 3.3 Resource represented as RDF</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>has_provenance</code></td>
+ <td>Indicates a <a class="internalDFN">provenance-URI</a> for a resource; the resource identified by this property presents a provenance record about its subject or anchor resource.
+ </td>
+ <td><a href="#resource-accessed-by-http" class="sectionRef sec-ref">section 3.1 Resource accessed by HTTP</a>, <a href="#resource-represented-as-html" class="sectionRef sec-ref">section 3.2 Resource represented as HTML</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>has_query_service</code></td>
+ <td>Indicates a <a class="internalDFN">provenance query service</a> that can access provenance related to its subject or anchor resource.</td>
+ <td><a href="#specifying-provenance-query-services" class="sectionRef sec-ref">section 3.1.1 Specifying Provenance Query Services</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>describesService</code></td>
+ <td>relates a generic provenance query service resource (type <code>prov:ServiceDescription</code>) to a specific query service description (e.g. a <code>prov:DirectQueryService</code> or a <code>sd:Service</code>).</td>
+ <td><a href="#provenance-query-service-description" class="sectionRef sec-ref">section 4.1 Provenance query service description</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>provenanceUriTemplate</code></td>
+ <td>Indicates a URI template string for constructing provenance-URIs</td>
+ <td><a href="#direct-http-query-service-description" class="sectionRef sec-ref">section 4.1.1 Direct HTTP query service description</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>pingback</code></td>
+ <td>Relates a resource to a provenance pingback service that may receive forward provenance links about the resource.</td>
+ <td><a href="#forward-provenance" class="sectionRef sec-ref">section 5. Forward provenance</a></td>
+ </tr>
+
+ <!--
+ <tr style="vertical-align: top;">
+ <td><code>...</code></td>
+ <td>...</td>
+ <td><a href="#..." class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>...</code></td>
+ <td>...</td>
+ <td><a href="#..." class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>...</code></td>
+ <td>...</td>
+ <td><a href="#..." class="sectionRef"></a></td>
+ </tr>
+ -->
+
+ </tbody></table>
+
+ <p>
+ The ontology describing these terms is at <a href="https://dvcs.w3.org/hg/prov/raw-file/default/paq/prov-aq.ttl" class="externalRef">paq/prov-aq.ttl</a> or <a href="https://dvcs.w3.org/hg/prov/raw-file/default/paq/prov-aq.ttl" class="externalRef">paq/prov-aq.owl</a>
+ </p>
+
+ <p class="TODO">
+ Update when location and copy finalized.
+ </p>
+
+ </section>
+
+<!-- ===================================================================================== -->
+
+ <section class="appendix" id="changes-log">
+ <!--OddPage--><h2><span class="secno">C. </span>Changes log</h2>
+ <p class="TODO">
+ Always update copy of mercurial change log. Below are changes since 19 June.
+ <!--
+ hg log -r tip:d0af0446868d \
+ - -template "<dt>{date|isodate} {node|short} {author}</dt><dd>{desc}</dd>\n" \
+ prov-aq.html
+ -->
+ </p>
+ <section id="changes-since-20120619-publication">
+ <h3><span class="secno">C.1 </span>Changes since 20120619 publication</h3>
+ <p>
+ </p><dl>
+<dt>2013-02-27 16:23 +0000 35385cbbfb9f Graham Klyne</dt><dd>Further refinements and bug fixes in the forward provenance section</dd>
+<dt>2013-02-27 15:33 +0000 2dfd7fac85c9 Graham Klyne</dt><dd>Merge</dd>
+<dt>2013-02-27 15:19 +0000 bae275eaaf81 Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk></soiland-reyes@cs.manchester.ac.uk></dt><dd>Added Stian as PROV-AQ author</dd>
+<dt>2013-02-27 15:33 +0000 ecf3af571f1e Graham Klyne</dt><dd>Changed entity-URI back to target-URI, and updated concept definition to indicate it may also denote an activity</dd>
+<dt>2013-02-27 13:02 +0000 d6085196a22d Graham Klyne</dt><dd>Some tidying up of section decsribing provenance pingback</dd>
+<dt>2013-02-27 12:26 +0000 018e25f63183 Graham Klyne</dt><dd>Changed all normative references to informative (this being a NOTE)</dd>
+<dt>2013-02-27 12:23 +0000 33eea34f1863 Graham Klyne</dt><dd>Renamed link relations 'hasProvenance', 'hasAnchor' and 'hasQueryService' to 'has_provenance', 'has_anchor' and 'has_query_service' respectively. This is because RFC5988 strongly recommends link relations to be all lowercase.</dd>
+<dt>2013-02-26 18:42 +0000 25eb1149862f Graham Klyne</dt><dd>Add placeholder links to ontology; deleted note in Appendiox B</dd>
+<dt>2013-02-26 18:33 +0000 473af1a90df2 Graham Klyne</dt><dd>Added describesService in appendix B</dd>
+<dt>2013-02-26 18:24 +0000 211ff39ee699 Graham Klyne</dt><dd>Add to security considerations: possible malicious use of links; possible information leakage when provenance links are folloiwed, or services used. (Stian:58,59)</dd>
+<dt>2013-02-26 18:12 +0000 ec95bc31a43b Graham Klyne</dt><dd>Incorporate Stian's revised pingback proposal: accept links rather than actual provenance.</dd>
+<dt>2013-02-26 17:19 +0000 eadbf7c04b31 Graham Klyne</dt><dd>Renamed prov:provPingback as just prov:pingback (Stian:55)</dd>
+<dt>2013-02-26 17:07 +0000 4fd6242c151c Graham Klyne</dt><dd>Re-worked description of direct HTTP query, particularly escaping of URI special characters and provenance formats returned. Revise description of return codes. (Section 4.2)</dd>
+<dt>2013-02-26 16:10 +0000 bbef7256bc91 Graham Klyne</dt><dd>Rename prov:ProvenanceQueryService to prov:ServiceDescription</dd>
+<dt>2013-02-26 15:53 +0000 206caf60d43a Graham Klyne</dt><dd>Incorporarted Stian's proposal for a service description property</dd>
+<dt>2013-02-26 14:40 +0000 ae119d2377ca Graham Klyne</dt><dd>Query service - editorial updates per Stian's comments 35-41, including re-work of motivation</dd>
+<dt>2013-02-26 13:34 +0000 1a0bded232fb Graham Klyne</dt><dd>Edirtorial updates in response to Luc's comments; updated CSS for external link</dd>
+<dt>2013-02-26 11:26 +0000 52d0f60610aa Graham Klyne</dt><dd>Editorial updates in response to comments by Dong</dd>
+<dt>2013-02-26 10:44 +0000 a87d5f3c056c Graham Klyne</dt><dd>Moved entire discussion of bundles in section 2 to a NOTE, and simplified.</dd>
+<dt>2013-02-26 10:24 +0000 fd2f1476c795 Graham Klyne</dt><dd>Further editorial changes suggestred by Stian's comments 28,29,30,33; quote anchor parameters in Link: header examples</dd>
+<dt>2013-02-21 19:16 +0000 2a38eacd1735 Graham Klyne</dt><dd>Section 3, editorial changes and reorganization of text suggested by Stian's comments (15,16,17,18,19,20,21,22,23,24,25,26,27). Moved some more material from sect 3 to sect 1.3, and trimmed. Removed duplicate material about authority guarantees from section 2. Added URI/IRI discussion to concepts. Added HTTP examples. Included '#' in shorthand references to link relations.</dd>
+<dt>2013-02-21 17:27 +0000 6c7dc767652a Graham Klyne</dt><dd>More trimming of material onprovenance interpretation</dd>
+<dt>2013-02-21 15:57 +0000 be8f6ec8a2d5 Graham Klyne</dt><dd>Section 3, editorial changes and reorganization of text suggested by Stian's comments (10,11,12,13,14). provider abnd consumer definitions moved to 1.1. Further discussion of provenance interpretation moved to section 1.3.</dd>
+<dt>2013-02-21 15:31 +0000 7e2c896d5b3b Graham Klyne</dt><dd>Section 2, non-substantive editorial changes suggested by Stian's comments (8,9)</dd>
+<dt>2013-02-21 15:22 +0000 9afefa103a72 Graham Klyne</dt><dd>Non-substantive editorial changes suggested by Stian's comments (4,6,7)</dd>
+<dt>2013-02-21 15:07 +0000 27cf75d7a6f2 Graham Klyne</dt><dd>Changed 'target-URI' to 'entity-URI', and revised some associated text to describe provenance access with respect to entities. Stian's comment (2)</dd>
+<dt>2013-02-21 14:06 +0000 cc0ec03fed0e Graham Klyne</dt><dd>Update Turtle reference to CR</dd>
+<dt>2013-02-21 13:33 +0000 2d42fb73e214 Graham Klyne</dt><dd>Add placeholder appendix for change log</dd>
+<dt>2013-02-07 18:26 +0000 ae85f08dcda4 Graham Klyne</dt><dd>Further editorial fixes suggested by Tim</dd>
+<dt>2013-02-07 17:43 +0000 266d233ce54c Graham Klyne</dt><dd>Move text about isolating information from section 3 (locating) to 1.3 (interpreting). Tim's comment (13)</dd>
+<dt>2013-02-07 17:29 +0000 a53fb5b58d8f Graham Klyne</dt><dd>Section 2 editorial rework including suggestions by Tim</dd>
+<dt>2013-02-07 16:41 +0000 cf11871bb9ba Graham Klyne</dt><dd>Editorial fixes suggested by Tim, and replace 'provenance description' with 'provenance record', following PROV-DM</dd>
+<dt>2013-02-07 15:53 +0000 4d16b451fc1a Graham Klyne</dt><dd>Editorial fixes suggested by Simon</dd>
+<dt>2013-02-07 15:42 +0000 9406759adad3 Graham Klyne</dt><dd>Editorial fixes suggested by Simon</dd>
+<dt>2013-02-07 14:50 +0000 d5e7a0c76495 Graham Klyne</dt><dd>Minor editorial fixes suggested by Ivan</dd>
+<dt>2013-02-07 13:44 +0000 d4cf95c11dcd Graham Klyne</dt><dd>Minor editorial fixes suggested by Ivan</dd>
+<dt>2013-01-10 15:43 +0100 cb49c07522ff Paul Groth <p.t.groth@vu.nl></p.t.groth@vu.nl></dt><dd>updated to fix minor editorial errors</dd>
+<dt>2013-01-04 14:23 +0000 47a1f3baf67a Graham Klyne</dt><dd>Editorial tweaks</dd>
+<dt>2013-01-04 13:26 +0000 a374c48027b9 Graham Klyne</dt><dd>Separate prov:DirectQueryService (specifric mechanism) from prov:ProvenanceQueryService (generic)</dd>
+<dt>2013-01-04 13:11 +0000 7b4580bd6d52 Graham Klyne</dt><dd>Fix some section cross-references; rename 'prov:hasProvenanceService' as 'prov:hasQueryService'</dd>
+<dt>2013-01-04 13:03 +0000 f00efdbb4f6e Graham Klyne</dt><dd>Reorganize provenance query service description to accommodate SPARQL (ISSUE 601); 'rename provenance service' as 'provenance query service'; rename 'prov:ProvenanceService' as 'prov:ProivenanceQueryService'</dd>
+<dt>2012-12-10 22:40 +0000 08deb1462a7c Graham Klyne</dt><dd>Fix apostrophe</dd>
+<dt>2012-12-10 19:03 +0000 f0f315c6781c Graham Klyne</dt><dd>Fold in Jun's editorial comments. Remove reference to POWDER</dd>
+<dt>2012-11-26 14:43 +0000 23f86dc89992 Graham Klyne</dt><dd>Change 'provenance information' to 'provenance description' (ISSUE 601); extensive editorial changes should be reviewed</dd>
+<dt>2012-11-26 12:07 +0000 4bbf03ed4eff Graham Klyne</dt><dd>Add note about service description and LDP consideration thereof</dd>
+<dt>2012-11-26 11:49 +0000 72ec0c88ede8 Graham Klyne</dt><dd>Add non-commital paragraph about accessing provenance bundles</dd>
+<dt>2012-11-26 11:08 +0000 b811ccb53b45 Graham Klyne</dt><dd>Update forward provenance (pingback) in response to comments; fix text around VoID example</dd>
+<dt>2012-11-20 16:00 +0000 839d503bd064 Graham Klyne</dt><dd>Added specification for pingback link header (ISSUE 600)</dd>
+<dt>2012-11-20 14:15 +0000 0e668b4ce436 Graham Klyne</dt><dd>Tidy up some text</dd>
+<dt>2012-11-20 14:03 +0000 3cba6f76b797 Graham Klyne</dt><dd>Expanded discussion of provenance service discovery to include prov:hasProvenanceService</dd>
+<dt>2012-11-20 12:22 +0000 44586518f842 Graham Klyne</dt><dd>Remove speculative non-specification text to be covered in FAQ (ISSUES 426, 598)</dd>
+<dt>2012-11-20 11:36 +0000 2f1a8ca558a8 Graham Klyne</dt><dd>Added section with table of URIs and what they dereference to (ISSUE 424)</dd>
+<dt>2012-11-20 10:37 +0000 d2acceb63c0b Graham Klyne</dt><dd>Make treatment of direct retrieval and service for provenance access more equally visible (ISSUE 422)</dd>
+<dt>2012-11-19 18:53 +0000 69d2ba847f40 Graham Klyne</dt><dd>Point out that provenance services can accept paraneters other than just 'target' (ISSUE 420)</dd>
+<dt>2012-11-19 18:10 +0000 6a283fe7b70c Graham Klyne</dt><dd>Added definitions for accessung and locating (ISSUE 417)</dd>
+<dt>2012-11-19 13:23 +0000 45683a007809 Graham Klyne</dt><dd>More CSS tweaking to override RewSopec.js colouring</dd>
+<dt>2012-11-19 13:06 +0000 390df423d8b3 Graham Klyne</dt><dd>Formatting and CSS colour tweaks for examples</dd>
+<dt>2012-11-19 12:58 +0000 7f6c1a541631 Graham Klyne</dt><dd>Added section on Link: headers and content negotiation (ISSUE 416)</dd>
+<dt>2012-11-19 12:17 +0000 9c24773fd6c7 Graham Klyne</dt><dd>Revert to <abbr title="World Wide Web Consortium">W3C</abbr>-hosted ReSpec.js</dd>
+<dt>2012-11-19 11:48 +0000 10c290a46ee0 Graham Klyne</dt><dd>Added icon to distibguish external links (ISSUE 400)</dd>
+<dt>2012-11-16 16:29 +0000 5f35560288e7 Graham Klyne</dt><dd>Updsate and cross-link table of prov: URIs defined</dd>
+<dt>2012-11-16 16:01 +0000 3144d9093733 Graham Klyne</dt><dd>Changed link relations to URIs; removed IANA considerations section</dd>
+<dt>2012-11-10 19:03 +0000 77c849e3d67d Graham Klyne</dt><dd>Hyperlink concept definitions to themselves (per request from Tim 2012-06-05)</dd>
+<dt>2012-11-10 18:26 +0000 aff3d2fcf8f5 Graham Klyne</dt><dd>Update security considerations with note about use of provenance as part of audit/enforcement mechanism</dd>
+<dt>2012-11-10 18:07 +0000 84864eeceffb Graham Klyne</dt><dd>Update list of PROV documents, copied from PROV-DM</dd>
+<dt>2012-11-10 02:08 +0000 beb278a59b28 Graham Klyne</dt><dd>Revert JS import to <abbr title="World Wide Web Consortium">W3C</abbr> server</dd>
+<dt>2012-11-08 22:36 +0000 35ee2d7209ea Graham Klyne</dt><dd>Adjust TODO notes</dd>
+<dt>2012-11-08 22:27 +0000 d269fcdfc9fd Graham Klyne</dt><dd>Cut back on verbiage in sect 3,4 rbitrary data</dd>
+<dt>2012-11-08 22:24 +0000 aba651f6da5e Graham Klyne</dt><dd>Adjust TODO notes</dd>
+<dt>2012-11-08 22:20 +0000 06627e013264 Graham Klyne</dt><dd>Revised section 3 descriptions in terms of prodcuers and consumers</dd>
+<dt>2012-11-08 12:12 +0000 098e7be8b4d5 Graham Klyne</dt><dd>Updated security considerations to mention audit</dd>
+<dt>2012-11-06 17:04 +0000 96247e20c8b4 Graham Klyne</dt><dd>Add TODO for producer/consumer roles, add note about multiple links, add reference to RFC3986 for %-escaping</dd>
+<dt>2012-11-06 15:17 +0000 4fbe51a47591 Graham Klyne</dt><dd>Update security considerations, note about non-RDF service desription, PROV-O link, acknowledgements</dd>
+<dt>2012-06-20 14:27 -0700 d0af0446868d Paul Groth <p.t.groth@vu.nl></p.t.groth@vu.nl></dt><dd>updated to reflect newly published version</dd>
+ </dl>
+ <p></p>
+ </section>
+ </section>
+
+<!-- ===================================================================================== -->
+
+
+
+<section id="references" class="appendix"><!--OddPage--><h2><span class="secno">D. </span>References</h2><section id="informative-references"><h3><span class="secno">D.1 </span>Informative references</h3><dl class="bibliography"><dt id="bib-INFO-ACC">[INFO-ACC]</dt><dd>Weitzner, Abelson, Berners-Lee, Feigenbaum, Hendler, and Sussman. <a href="http://dig.csail.mit.edu/2008/06/info-accountability-cacm-weitzner.pdf"><cite>Information Accountability</cite></a>. Communications of the ACM, Jun. 2008, 82-87, <a href="http://doi.acm.org/10.1145/1349026.1349043">http://doi.acm.org/10.1145/1349026.1349043</a>, <a href="http://dig.csail.mit.edu/2008/06/info-accountability-cacm-weitzner.pdf">http://dig.csail.mit.edu/2008/06/info-accountability-cacm-weitzner.pdf</a> (alt)
+</dd><dt id="bib-LINK-REL">[LINK-REL]</dt><dd>M. Nottingham, <a href="http://www.ietf.org/rfc/rfc5988.txt"><cite>Web Linking</cite></a>, October 2010, Internet RFC 5988. URL: <a href="http://www.ietf.org/rfc/rfc5988.txt">http://www.ietf.org/rfc/rfc5988.txt</a>
+</dd><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</a>
+</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite>Dublin Core to PROV Mapping</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</a>
+</dd><dt id="bib-PROV-DICTIONARY">[PROV-DICTIONARY]</dt><dd>Tom De Nies; Sam Coppens; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><cite>PROV Dictionary</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</a>
+</dd><dt id="bib-PROV-LINKS">[PROV-LINKS]</dt><dd>Luc Moreau; Timothy Lebo; eds. <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><cite>Linking Across Provenance Bundles</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">http://www.w3.org/TR/2013/WD-prov-links-20130312/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">http://www.w3.org/TR/2013/PR-prov-n-20130312/</a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">http://www.w3.org/TR/2013/PR-prov-o-20130312/</a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</a>
+</dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James Cheney; ed. <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><cite>Semantics of the PROV Data Model</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312">http://www.w3.org/TR/2013/WD-prov-sem-20130312</a>.
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</a>
+</dd><dt id="bib-RDF-CONCEPTS11">[RDF-CONCEPTS11]</dt><dd>Richard Cyganiak, David Wood, eds. <a href="http://www.w3.org/TR/rdf11-concepts/"><cite>RDF 1.1 Concepts and Abstract Syntax</cite></a>. Working Draft. URL: <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a>
+</dd><dt id="bib-REST">[REST]</dt><dd>R. Fielding. <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm"><cite>Representational State Transfer (REST)</cite></a>. 2000, Ph.D. dissertation. URL: <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" http:="" www.ics.uci.edu="" ~fielding="" pubs="" dissertation="" rest_arch_style.htm="">http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm</a>
+</dd><dt id="bib-REST-APIs">[REST-APIs]</dt><dd>R. Fielding. <a href="http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven"><cite>REST APIs must be hypertext driven</cite></a>. October 2008 (blog post), URL: <a href="http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven">http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven</a>
+</dd><dt id="bib-RFC2392">[RFC2392]</dt><dd>E. Levinson. <a href="http://www.ietf.org/rfc/rfc2392.txt"><cite>Content-ID and Message-ID Uniform Resource Locators.</cite></a> August 1998. Internet RFC 2392. URL: <a href="http://www.ietf.org/rfc/rfc2392.txt">http://www.ietf.org/rfc/rfc2392.txt</a>
+</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd>T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax</cite></a>. January 2005. RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd>M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs)</cite></a>. January 2005. RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-SPARQL-HTTP">[SPARQL-HTTP]</dt><dd>Chimezie Ogbuji. <a href="http://www.w3.org/TR/sparql11-http-rdf-update/"><cite>SPARQL 1.1 Graph Store HTTP Protocol</cite></a>. W3C Candidate Recommendation 8 November 2012, URL: <a href="http://www.w3.org/TR/sparql11-http-rdf-update/">http://www.w3.org/TR/sparql11-http-rdf-update/</a>
+</dd><dt id="bib-SPARQL-SD">[SPARQL-SD]</dt><dd>G. T. Williams. <a href="http://www.w3.org/TR/sparql11-service-description/"><cite>SPARQL 1.1 Service Description</cite></a>. 2011, Work in progress. URL: <a href="http://www.w3.org/TR/sparql11-service-description/">http://www.w3.org/TR/sparql11-service-description/</a>
+</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd>Eric Prud'hommeaux, Gavin Carothers. <a href="http://www.w3.org/TR/turtle/"><cite>Turtle: Terse RDF Triple Language</cite></a>. 19 February 2013. W3C Candidate Recommendation. URL: <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a>
+</dd><dt id="bib-URI-template">[URI-template]</dt><dd>J. Gregorio; R. Fielding; M. Hadley; M. Nottingham; D. Orchard. <a href="http://tools.ietf.org/html/rfc6570"><cite>URI Template</cite></a>. March 2012, Internet RFC 6570. URL: <a href="http://tools.ietf.org/html/rfc6570/"><cite>http://tools.ietf.org/html/rfc6570</cite></a>
+</dd><dt id="bib-VoID">[VoID]</dt><dd>Keith Alexander, Richard Cyganiak, Michael Hausenblas, Jun Zhao. <a href="http://www.w3.org/TR/void/"><cite>Describing Linked Datasets with the VoID Vocabulary</cite></a>, W3C Interest Group Note 03 March 2011, <a href="http://www.w3.org/TR/void/">http://www.w3.org/TR/void/</a>
+</dd><dt id="bib-WEBARCH">[WEBARCH]</dt><dd>Norman Walsh; Ian Jacobs. <a href="http://www.w3.org/TR/2004/REC-webarch-20041215/"><cite>Architecture of the World Wide Web, Volume One</cite></a>. 15 December 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-webarch-20041215/">http://www.w3.org/TR/2004/REC-webarch-20041215/</a>
+</dd></dl></section></section></body></html>
\ No newline at end of file