Merged with Stephane and Domel's changes that I had forgotten to import. Hope I did not loose anything in merge conflict.
authorHenry Story <henry.story@bblfish.net>
Tue, 10 Jan 2012 23:18:40 +0100
changeset 281 459085ee72a7
parent 278 78b6924a3043 (current diff)
parent 280 ad18b0266757 (diff)
child 282 f4c672b54ea0
Merged with Stephane and Domel's changes that I had forgotten to import. Hope I did not loose anything in merge conflict.
spec/index-respec.html
--- a/spec/index-respec.html	Tue Jan 10 11:01:08 2012 -0500
+++ b/spec/index-respec.html	Tue Jan 10 23:18:40 2012 +0100
@@ -49,8 +49,7 @@
                     berjon.biblio["RFC5246"] = "T. Dierks; E. Rescorla. <a href=\"http://tools.ietf.org/html/rfc5246\"><cite>The Transport Layer Security (TLS) Protocol Version 1.2</cite></a> August 2008. Internet RFC 5246. URL: <a href=\"http://tools.ietf.org/html/rfc5246\">http://tools.ietf.org/html/rfc5246</a> ";
                     berjon.biblio["RFC5746"] = "E. Rescorla, M. Ray, S. Dispensa, N. Oskov,  <a href=\"http://tools.ietf.org/html/rfc5746\"><cite>Transport Layer Security (TLS) Renegotiation Indication Extension</cite></a> February 2010. Internet RFC 5246. URL: <a href=\"http://tools.ietf.org/html/rfc5746\">http://tools.ietf.org/html/rfc5746</a> ";
                     berjon.biblio["SWBP-VOCAB-PU"] = "Diego Berrueta, Jon Phipps <a href='http://www.w3.org/TR/swbp-vocab-pub/'><cite>Best Practice Recipes for Publishing RDF Vocabularies</cite></a> W3C Working Group Note 28 August 2008";
-
-
+                    berjon.biblio["TURTLE-TR"] =  "David Beckett, Tim Berners-Lee. <a href='http://www.w3.org/TR/turtle/'><cite>Turtle: Terse RDF Triple Language.</cite></a> W3C Working Draft 09 August 2011 URL: <a href='http://www.w3.org/TR/turtle/'>http://www.w3.org/TR/turtle/</a> ";
                     // process the document before anything else is done
                     var refs = document.querySelectorAll('adef') ;
                     for (var i = 0; i < refs.length; i++) {
@@ -302,7 +301,7 @@
 and RDF [[!RDF-PRIMER]] is necessary to understand how
 to implement this specification. WebID uses a number of specific technologies
 like HTTP over TLS [[!HTTP-TLS]], X.509 certificates [[!X509V3]],
-Turtle [[!TURTLE]] and XHTML+RDFa [[!XHTML-RDFA-PRIMER]].</p>
+Turtle [[!TURTLE-TR]] and XHTML+RDFa [[!XHTML-RDFA-PRIMER]].</p>
 
 <p>A general <a href="#introduction">Introduction</a> is provided for all that
 would like to understand why this specification is necessary to simplify usage
@@ -436,7 +435,7 @@
 
 <dt><tdef>Verification Agent</tdef> or <tdef>WebID Verifier</tdef></dt>
 <dd>A WebID Verifier takes a <tref>WebID Claim</tref> and checks that it is currently true, as explained in <a href="#verifying-the-webids">Verifying the WebIDs</a> section. 
-A WebID Verification Agent MUST be able to parse documents in TURTLE [[!TURTLE]], RDF/XML [[!RDF-SYNTAX-GRAMMAR]] and RDFa [[!RDFA-SYNTAX]].
+A WebID Verification Agent MUST be able to parse documents in TURTLE [[!TURTLE-TR]], RDF/XML [[!RDF-SYNTAX-GRAMMAR]] and RDFa [[!RDFA-SYNTAX]].
 </dd>
 
 <dt><tdef>WebID Certificate</tdef></dt>
@@ -468,7 +467,7 @@
 <dd>
 A structured document asserting the relationship between the Subject (identified by his WebID) and his <tref>Public Key</tref>s using relationships as defined by the Resource Description Framework [[RDF-CONCEPTS]] and published at the URL location of the Subject's WebID. 
 Dereferencing the <tref>WebID</tref> should return the Profile Page in one of a number of formats. 
-The Server MUST publish the document in at least the XHTML+RDFa [[!XHTML-RDFA]] serialization format or in Turtle [[!TURTLE]]. 
+The Server MUST publish the document in at least the XHTML+RDFa [[!XHTML-RDFA]] serialization format or in Turtle [[!TURTLE-TR]].
 The document may be published in a number of other RDF serialization formats, such as RDF-XML [[!RDF-PRIMER]], or N3 [[!N3]].
 Any other serialisation MUST be transformable automatically and in a standard manner to an RDF Graph, using technologies such as GRDDL [[!GRDDL-PRIMER]].
 <p class="issue">Most profiles are currently written out in either of those formats. Whether or not XHTML+RDFa 1.1, both either serialization of RDF should be required serialization formats in the specification is currently under heavy debate and is open to change. </p>
@@ -622,7 +621,7 @@
 Technologies such as GRDDL [[!GRDDL-PRIMER]] for example permit any XML format to be transformed automatically to a graph of relations.
 HTTP Content Negotiation can be employed to aid in publication and discovery of multiple distinct serialisations of the same graph at the same URL, as explained by the working group note <a href="http://www.w3.org/TR/2008/NOTE-swbp-vocab-pub-20080828/">Best Practice Recipes for Publishing RDF Vocabularies</a> [[!SWBP-VOCAB-PUB]]</p>
 <p class="note">
-For reasons of interoperability, in order not to overburden the implementation and testing work of <tref>WebID Verifier</tref>s, and in order to provide a seamless experience for end users, of the many formats that can be publish at one location, it is established that at present publishers  SHOULD  publish their documents in at least one of RDFa [[!XHTML-RDFA]] or TURTLE [[!TURTLE]] as these MUST be understood by <tref>Verification Agent</tref>s. 
+For reasons of interoperability, in order not to overburden the implementation and testing work of <tref>WebID Verifier</tref>s, and in order to provide a seamless experience for end users, of the many formats that can be publish at one location, it is established that at present publishers  SHOULD  publish their documents in at least one of RDFa [[!XHTML-RDFA]] or [[!TURTLE-TR]] as these MUST be understood by <tref>Verification Agent</tref>s.
 If other formats grow in popularity, are implemented by verifiers, and gain community acceptance, these can be added to the list.
 </p>
 <p>
@@ -696,9 +695,10 @@
 </section>
 <section class='informative'>
 <h1>Turtle</h1>
-<p>A widely used format for writing RDF graphs by hand is the Turtle notation. 
-It is easy to learn to use, is very handy for communicating over e-mail and on mailing lists, and can then be transformed into RDF/XML automatically. 
-It is also very similar to the SPARQL query language.
+<p>A widely used format for writing RDF graphs by hand is the <a href="http://www.w3.org/TR/turtle/">Turtle</a> [[!TURTLE-TR]] notation.
+    It is easy to learn, and very handy for communicating over e-mail and on mailing lists.
+    The syntax is very similar to the SPARQL query language.
+    Turtle should be served with the <code>text/turtle</code> mime type.
 </p>
 <pre class="example" style="word-wrap: break-word; white-space: pre-wrap;">
  @prefix cert: &lt;http://www.w3.org/ns/auth/cert#&gt; .
@@ -718,9 +718,12 @@
 </pre>
 </section>
 <section>
-<h1>RDFa HTML notation</h1>
-<p>There are many ways of writing out the above graph using RDFa in
-HTML. Here is just one example of what a WebID profile could look like.</p>
+<h1>RDFa XHTML notation</h1>
+<p>RDFa in XHTML [[!RDFA-PRIMER]] is a way to markup XHTML with relations that have a well defined semantics and
+    mapping to an RDF graph.  There are many ways of writing out the above graph using RDFa in
+HTML. Here is just one example of what a WebID profile could look like.
+    It would have to be served with the mime type <code>application/xhtml+xml</code>.
+</p>
 <pre class="example" style="word-wrap: break-word; white-space: pre-wrap;">
 &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
   "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"&gt;
@@ -847,13 +850,22 @@
     However that is done, a <tref>Claimed WebID</tref> can only be considered verified if the following steps have been accomplished successfully:
     </li>
     <ol>
-        <li>If the <tref>WebID Verifier</tref> does not have an up to date version of the WebID profile in the cache, then it MUST dereference the WebID using the canonical method for dereferencing a URL of that scheme.
-        For an <code>https://...</code> WebID this would be done using the [[!HTTP-TLS]] protocol.
+        <li>The WebID Verifier must get access to an up to date version of the WebID Profile Graph.
+            <ol>
+                <li>If the WebID Verifier has an up to date version of the graph in its graph cache then it can return it.</li>
+                <li>Otherwise the <tref>WebID verifier</tref> MUST fetch an up to date version of the WebID Profile representation
+                    by dereferencing the URI, using the canonical method for dereferencing a URL of that scheme.
+                    For an <code>https://...</code> <tref>WebID</tref> this would be done using the [[!HTTP-TLS]] protocol.
+                    The dereferencing of the URI MAY use any representation caching mechanism it can to speed up the process.
+                    The returned representation is then transformed into an RDF graph [[!RDF-MT]] as specified in Processing the WebID Profile .
+                    This graph may be then be cached to speed up future requests.
+                </li>
+            </ol>
         </li>
-        <li>The returned representation is then transformed into an  RDF graph [[!RDF-MT]] as specified in <a href="#processing-the-webid-profile">Processing the WebID Profile</a>
-        </li>
-        <li>That graph is then queried as explained in <a href="#verifying-the-webids">Verifying the WebIDs</a>.
+        <li>The graph returned in the previous step is then queried as explained in <a href="#verifying-the-webids">Verifying the WebIDs</a>.
         If the query is answered positively, then that WebID is verified.
+            If the query fails and the graph was not up to date, then the Verifier MAY start again at point 5.1.2 by making
+            a request to an up to date graph.
         </li>
     </ol>
     <li>With the set of verified WebIDs the Guard can then check its access control rules using information from the web and other information available to it, to verify if the referent of the WebID is indeed allowed access to the protected resource.
@@ -935,7 +947,7 @@
 <h2>Processing the WebID Profile</h2>
 
 <p>The Verification Agent needs to fetch the document, if it does not have a valid one in cache.  
-The WebID <tref>Verification Agent</tref> MUST be able to parse documents in TURTLE [[!TURTLE]], RDF/XML [[!RDF-SYNTAX-GRAMMAR]] and RDFa [[!RDFA-SYNTAX]].
+The WebID <tref>Verification Agent</tref> MUST be able to parse documents in TURTLE [[!TURTLE-TR]], RDF/XML [[!RDF-SYNTAX-GRAMMAR]] and RDFa [[!RDFA-SYNTAX]].
 The result of this processing should be a graph of RDF relations that is queryable, as explained in the next section.</p>
 <p class="note">
 It is suggested that the <tref>Verification Agent</tref> should set the Accept-Header to request <code>application/rdf+xml</code> with a higher priority than <code>text/html</code> and <code>application/xhtml+xml</code>.  The reason is that it is quite likely that many sites will produce non marked up HTML and leave the graph to the pure rdf formats.