[rdf/json]: updated draft to reflect comments from Andy and Pierre-Antoine
authorArnaud Le Hors <lehors@us.ibm.com>
Mon, 12 Aug 2013 23:00:11 +0100
changeset 981 fa9473d22916
parent 980 48bf63e60325
child 982 0d2c8b830c9f
[rdf/json]: updated draft to reflect comments from Andy and Pierre-Antoine
ReSpec.js/bibref/biblio.js
rdf-json/index.html
--- a/ReSpec.js/bibref/biblio.js	Sun Aug 11 16:51:06 2013 -0700
+++ b/ReSpec.js/bibref/biblio.js	Mon Aug 12 23:00:11 2013 +0100
@@ -27,6 +27,11 @@
    "EBNF-NOTATION" : "Tim Bray; Jean Paoli; C. M. Sperberg-McQueen; Eve Maler; Fran├žois Yergeau. <a href=\"http://www.w3.org/TR/REC-xml/#sec-notation\"><cite>EBNF Notation</cite></a> 26 November 2008. W3C Recommendation. URL: <a href=\"http://www.w3.org/TR/REC-xml/#sec-notation\">http://www.w3.org/TR/REC-xml/#sec-notation</a> ",
    "RDF-TESTCASES-N-TRIPLES" : "Jan Grant; Dave Beckett. <a href=\"http://www.w3.org/TR/rdf-testcases/#ntriples\"><cite>N-Triples</cite></a> 10 February 2004. W3C Recommendation. URL:  <a href=\"http://www.w3.org/TR/rdf-testcases/#ntriples\">http://www.w3.org/TR/rdf-testcases/#ntriples</a>",
 
+// Talis RDF JSON
+
+   "TALIS-RDF-JSON" : "Talis. <a href=\"http://docs.api.talis.com/platform-api/output-types/rdf-json\"><cite>RDF JSON</cite></a>. URL:  <a href=\"http://docs.api.talis.com/platform-api/output-types/rdf-json\">http://docs.api.talis.com/platform-api/output-types/rdf-json</a>",
+
+
 // END additions
 
    "ABA-DSIG-GUIDELINES" : "<a href=\"http://www.signelec.com/content/download/digital_signature_guidelines.pdf\"><cite>Digital Signature Guidelines.</cite></a> 1 August 1996. Information Security Committee, American Bar Association. URL: <a href=\"http://www.signelec.com/content/download/digital_signature_guidelines.pdf\">http://www.signelec.com/content/download/digital_signature_guidelines.pdf</a>",
@@ -296,7 +301,7 @@
    "JLREQ" : "Kenzou Onozawa; et al. <a href=\"http://www.w3.org/TR/2008/WD-jlreq-20081015\"><cite>Requirements of Japanese Text Layout.</cite></a> 15 October 2008. W3C Working Draft. (Work in progress.) URL: <a href=\"http://www.w3.org/TR/2008/WD-jlreq-20081015\">http://www.w3.org/TR/2008/WD-jlreq-20081015</a> ",
    "JPEG" : "Hamilton, Eric. <a href=\"http://www.w3.org/Graphics/JPEG/jfif3.pdf\"><cite>JPEG File Interchange Format.</cite></a> Sep 1992. URL: <a href=\"http://www.w3.org/Graphics/JPEG/jfif3.pdf\">http://www.w3.org/Graphics/JPEG/jfif3.pdf</a> C-Cube Microsystems. Milpitas, CA, USA.",
    "JPEG2000" : "Joint Photographers Expert Group (JPEG). <a href=\"http://www.jpeg.org/cd15444-1.pdf\"><cite>Jpeg 2000 image coding system.</cite></a> 9 Dec 1999. Report (draft) ISO/IEC CD15444-1:1999. URL: <a href=\"http://www.jpeg.org/cd15444-1.pdf\">http://www.jpeg.org/cd15444-1.pdf</a> ",
-   "JSON-LD" : "Manu Sporny, et al. <a href=\"http://json-ld.org/spec/latest/\"><cite>JSON-LD - Linked Data Expression in JSON</cite></a> 15 October 2010. Unofficial Draft. URL: <a href=\"http://json-ld.org/spec/latest/\">http://json-ld.org/spec/latest/</a> ",
+    //   "JSON-LD" : "Manu Sporny, et al. <a href=\"http://json-ld.org/spec/latest/\"><cite>JSON-LD - Linked Data Expression in JSON</cite></a> 15 October 2010. Unofficial Draft. URL: <a href=\"http://json-ld.org/spec/latest/\">http://json-ld.org/spec/latest/</a> ",
    "KnowPrivacy" : "Joshua Gomez; Travis Pinnick; Ashkan Soltani. <a href=\"http://www.knowprivacy.org/report/KnowPrivacy_Final_Report.pdf\"><cite>KnowPrivacy.</cite></a> 1 June 2009. URL: <a href=\"http://www.knowprivacy.org/report/KnowPrivacy_Final_Report.pdf\">http://www.knowprivacy.org/report/KnowPrivacy_Final_Report.pdf</a> ",
    "KUIL" : "Kormann, Thierry. <a href=\"http://www.inria.fr/koala/kuil/index.html\"><cite>KUIL, the Koala User Interface Language.</cite></a> Sep 1999. Software package URL: <a href=\"http://www.inria.fr/koala/kuil/index.html\">http://www.inria.fr/koala/kuil/index.html</a> ",
    "LANGCULTTYPE" : "John D. Berry, Ed. <cite>Language Culture Type.</cite> Graphis. 2001. ISBN 1-932026-01-0.",
--- a/rdf-json/index.html	Sun Aug 11 16:51:06 2013 -0700
+++ b/rdf-json/index.html	Mon Aug 12 23:00:11 2013 +0100
@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>RDF 1.1 JSON Serialisation (RDF/JSON)</title>
+    <title>RDF 1.1 JSON Alternate Serialization (RDF/JSON)</title>
     <style>
 .figure { font-weight: bold; text-align: center; }
     </style>
@@ -55,6 +55,9 @@
               { name: "Thomas Steiner", // url: "http://example.org/",
                 company: "Google Inc.", companyURL: "http://www.google.com/",
               },
+              { name: "Arnaud J Le Hors", // url: "http://example.com/",
+                company: "IBM", companyURL: "http://www.ibm.com/",
+              },
           ],
 
           // authors, add as many as you like. 
@@ -99,7 +102,8 @@
     representing information in the Web.</p>
     <p>This document defines a textual syntax for RDF called RDF/JSON that 
     allows an RDF graph to be completely written in a form compatible
-    with the JavaScript Object Notation (JSON) [[!RFC4627]].</p>
+    with the JavaScript Object Notation (JSON) [[!RFC4627]] and alternative
+    to the one recommended in [[JSON-LD]].</p>
 </section>
 
 
@@ -108,28 +112,24 @@
     Group</a> has decided not to push this document through the W3C
     Recommendation Track. You should therefore not expect to see this
     document eventually become a W3C Recommendation.</p>
-    <p>Although the <a href="http://www.w3.org/2011/rdf-wg/meeting/2012-10-30#resolution_6">RDF WG decided against it on 30 October 2012</a>, this document MAY be published as a W3C WG Note so that those
-    who are using it and/or have an interest in it have a stable
-    reference.</p>
-    <p>On the other hand, the RDF Working Group decided to put <a
+    <p>As of July 7, 2013 the <a href="https://www.w3.org/2013/meeting/rdf-wg/2013-07-10#resolution_1">RDF WG decided to pursue the publication of this document as a W3C WG Note</a> to provide those who are using it and/or have an interest in it with a stable reference.</p>
+    <p>The RDF Working Group decided to put <a
     href="http://www.w3.org/TR/json-ld/">JSON-LD</a> on the
-    Recommendation track (see <a href="http://www.w3.org/2011/rdf-wg/meeting/2012-05-30#resolution_2">resolution of May 30, 2012</a>). If you have no specific reason to use this
-    document instead of JSON-LD, you are therefore encouraged to use
-    JSON-LD.</p>
+    Recommendation track (see <a href="http://www.w3.org/2011/rdf-wg/meeting/2012-05-30#resolution_2">resolution of May 30, 2012</a>). Therefore, unless you have a specific reason to use this
+    document instead of JSON-LD, <b>you are encouraged to use JSON-LD</b>.</p>
 </section>
 
 
 <section id="section-intro">
     <h2>Introduction</h2>
 
-    <p>This document defines RDF/JSON, a concrete syntax 
-    in JavaScript Object Notation (JSON) ([[!RFC4627]]). for RDF as 
+    <p>This document defines RDF/JSON, a concrete syntax for RDF, as 
     defined in the RDF Concepts and Abstract Syntax 
-    ([[!RDF-CONCEPTS]]) W3C Recommendation.</p>
+    [[!RDF11-CONCEPTS]], W3C Recommendation 
+    in JavaScript Object Notation (JSON) [[!RFC4627]].</p>
 
 </section>
 
-
 <section id="conformance"></section>
 
 <section class="informative">
@@ -137,7 +137,7 @@
     <h2>Overview of RDF/JSON</h2>
 
     <p>An RDF Graph consists of a set of RDF triples, each triple consisting
-    of a subject, a predicate and an object (formally defined in [[!RDF-CONCEPTS]]).
+    of a subject, a predicate and an object (formally defined in [[!RDF11-CONCEPTS]]).
     An RDF/JSON document serializes such a set of RDF triples as a series of nested 
     data structures. </p>
 
@@ -165,7 +165,7 @@
 
     <dl>
       <dt>type</dt>
-      <dd>one of 'uri', 'literal' or 'bnode' (required and must be lowercase)</dd>
+      <dd>one of 'uri', 'literal' or 'bnode' (required)</dd>
       <dt>value</dt>
       <dd>the URI of the object, its lexical value or a blank node label depending on whether the object is a uri, literal or bnode
       </dd>
@@ -179,6 +179,9 @@
 
     <p>The 'lang' and 'datatype' keys should only be used if the value of the 'type' key is "literal".</p>
 
+    <p>All keywords defined in this document are case sensitive, and
+    MUST be lowercase.</p>
+
 
 </section>
 
@@ -203,33 +206,30 @@
                     <ul>
                       <li>If the object of the triple is an RDF URI Reference 
                       U add a key called "type" with a value being the string "uri". Add a key
-                      called "value" with the value being U</li>
+                      called "value" with the value being U.</li>
                       <li>If the object of the triple is an RDF Literal S
                       add a key called "type" with a value being the string "literal". Add a key
-                      called "value" with the value being S</li>
-                      <li>If the object of the triple is an RDF Literal S with language L
-                      add a key called "type" with a value being the string "literal". Add a key
-                      called "value" with the value being S. Add a key called "lang" with the 
-                      value being L</li>
-                      <li>If the object of the triple is an RDF Typed Literal S with datatype URI D
-                      add a key called "type" with a value being the string "literal". Add a key
-                      called "value" with the value being S. Add a key called "datatype" with the 
-                      value being D</li>
+                      called "value" with the value being the lexical form of S and:
+			<ul><li>If the object of the triple is an RDF Literal with language L, add a key called "lang" with the 
+                      value being L.</li>
+                            <li>If the object of the triple is an RDF Typed Literal with datatype URI D, add a key called "datatype" with the 
+                      value being D.</li>
+			</ul>
                       <li>If the object of the triple is a Blank Node with label I
                       add a key called "type" with a value being the string "bnode". Add a key
-                      called "value" with the value being the string formed by concatenting an underscore (U+005F) followed by a colon (U+003A) followed by I</li>
+                      called "value" with the value being the string formed by concatenting an underscore (U+005F) followed by a colon (U+003A) followed by I.</li>
                     </ul>
                   </li>
-                  <li>Push the value object onto the end of the value array</li>
+                  <li>Push the value object onto the end of the value array.</li>
                 </ol>
-              <li>Add a key/value pair to the subject object with the key being the predicate URI and the value being the value array</li>
+              <li>Add a key/value pair to the subject object with the key being the predicate URI and the value being the value array.</li>
               </ol>
           </li>
           <li>Add a key/value pair to the root object with value being the subject object created in the previous step and the key being one of the following:
             <ul>
-              <li>If the subject of the triple is an RDF URI Reference U the key is  U</li>
+              <li>If the subject of the triple is an RDF URI Reference U the key is  U.</li>
               <li>If the subject of the triple is a Blank Node with label I
-              the key is the string formed by concatenting an underscore (U+005F) followed by a colon (U+003A) followed by I</li>
+              the key is the string formed by concatenting an underscore (U+005F) followed by a colon (U+003A) followed by I.</li>
             </ul>
           </li>
           </ol>
@@ -255,6 +255,11 @@
       }                                                        
     </pre>
 
+    <p>This is equivalent to the following N-Triples [[!N-TRIPLES]]:</p>
+    <pre class="example">
+      &lt;http://example.org/about> &lt;http://purl.org/dc/terms/title> "Anna's Homepage"@en .                                                        
+    </pre>
+
     <p>An example of two triples that share the same subject and predicate
     but have differing objects:</p>
     <pre class="example">
@@ -270,6 +275,12 @@
       }                                                        
     </pre>
 
+    <p>This is equivalent to the following N-Triples:</p>
+    <pre class="example">
+      &lt;http://example.org/about> &lt;http://purl.org/dc/terms/title> "Anna's Homepage"@en .                                                        
+      &lt;http://example.org/about> &lt;http://purl.org/dc/terms/title> "Annas hjemmeside"@da .                                                        
+    </pre>
+
     <p>An example of a triple with a datatyped literal object:</p>
     <pre class="example">
       {
@@ -281,6 +292,12 @@
       }                                                        
     </pre>
 
+    <p>This is equivalent to the following N-Triples:</p>
+    <pre class="example">
+      &lt;http://example.org/about> &lt;http://purl.org/dc/terms/title> "&lt;p xmlns=\"http://www.w3.org/1999/xhtml\"&gt;&lt;b&gt;Anna's&lt;/b&gt; Homepage&gt;/p&gt;"^^&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
+    </pre>
+
+
     <p>An example of triples with a common blank node:</p>
     <pre class="example">
       {
@@ -294,6 +311,13 @@
       }                                                        
     </pre>
 
+    <p>This is equivalent to the following N-Triples:</p>
+    <pre class="example">
+      &lt;http://example.org/about> &lt;http://purl.org/dc/terms/creator> _:anna .
+      _:anna &lt;http://xmlns.com/foaf/0.1/name> "Anna" .
+    </pre>
+
+
     <p>An example of a triple with a URI object:</p>
     <pre class="example">
       {
@@ -304,6 +328,12 @@
       }                                                        
     </pre>
 
+    <p>This is equivalent to the following N-Triples:</p>
+    <pre class="example">
+      _:anna &lt;http://xmlns.com/foaf/0.1/homepage> &lt;http://example.org/anna> .
+    </pre>
+
+
     <p>An example of triples with common subjects:</p>
     <pre class="example">
       {
@@ -316,6 +346,13 @@
       }                                                        
     </pre>
 
+    <p>This is equivalent to the following N-Triples:</p>
+    <pre class="example">
+      _:anna &lt;http://xmlns.com/foaf/0.1/name> "Anna" .
+      _:anna &lt;http://xmlns.com/foaf/0.1/homepage> <http://example.org/anna> .
+    </pre>
+
+
     <p>An empty RDF graph is serialized as a JSON object with zero keys.</p>
     <pre class="example">{ }</pre>
 
@@ -324,102 +361,18 @@
 <section id="section-Acknowledgments" class="informative">
     <h2>Acknowledgments</h2>
 
-    <p class="issue">This section does not yet list those who made
-    contributions to the RDF 1.1 version, nor does it list the
-    current RDF WG members.</p>
-
-    <p>The RDF 2004 editors acknowledge valuable contributions from
-    Frank Manola, Pat Hayes, Dan Brickley, Jos de Roo, 
-    Dave Beckett, Patrick Stickler, Peter F. Patel-Schneider, Jerome Euzenat, 
-    Massimo Marchiori, Tim Berners-Lee, Dave Reynolds and Dan Connolly.</p>
+    <p>This specification is based on original work from Talis to which credits go [[TALIS-RDF-JSON]].</p>
 
-    <p>This specification contains a significant contribution from the
-    designers of the RDF typed literal mechanism, Pat
-    Hayes, Sergey Melnik and Patrick Stickler. The document draws upon an earlier
-    RDF Model and Syntax document edited by Ora Lassilla and Ralph Swick,
-    and RDF Schema edited by Dan Brickley and R. V. Guha.</p>
-
-    <p>This specification is a product of extended deliberations by the
-    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Acknowledgments">members
-    of the RDFcore Working Group and the RDF and RDF Schema Working Group</a>.</p>
 </section>
 
       <section id="sec-mediaReg" class="appendix">
         <h2>Internet Media Type, File Extension and Macintosh File Type (Normative)</h2>
-        <dl>
-          <dt>Contact:</dt>
-          <dd>Ian Davis</dd>
-          <dt>See also:</dt>
-
-          <dd><a href="http://www.w3.org/2002/06/registering-mediatype">How to Register a Media Type for a W3C Specification</a></dd>
-          <dd><a href="http://www.w3.org/2001/tag/2002/0129-mime">Internet Media Type registration, consistency of use</a><br />TAG Finding 3 June 2002 (Revised 4 September 2002)</dd>
-        </dl>
-        <p>The Internet Media Type / MIME Type for RDF/JSON is &quot;application/rdf+json&quot;.</p>
-        <p>It is recommended that RDF/JSON files have the extension &quot;.rj&quot; (all lowercase) on all platforms.</p>
-
-        <p>It is recommended that RDF/JSON files stored on Macintosh HFS file systems be given a file type of &quot;TEXT&quot;.</p>
-        <p>This information that follows will be submitted to the IESG for review, approval, and registration with IANA.</p>
-        <dl>
-          <dt>Type name:</dt>
-          <dd>text</dd>
-
-          <dt>Subtype name:</dt>
-          <dd>rdf+json</dd>
-          <dt>Required parameters:</dt>
-          <dd>None</dd>
-          <dt>Optional parameters:</dt>
-          <dd>None</dd>
-
-          <dt>Encoding considerations:</dt>
-          <dd>The encoding considerations of the SPARQL Query Results JSON Format is identical to those of the "application/json" as specified in [[!RFC4627]]</dd>
-          <dd>Unicode code points may also be expressed using an \uXXXX (U+0 to U+FFFF) or \UXXXXXXXX syntax (for U+10000 onwards) where X is a hexadecimal digit [0-9A-F]</dd>
-          <dt>Security considerations:</dt>
-          <dd>RDF/JSON is a general-purpose assertion language; applications may evaluate given data to infer more assertions or to dereference IRIs, invoking the security considerations of the scheme for that IRI. Note in particular, the privacy issues in [[!RFC3023]] section 10 for HTTP IRIs. Data obtained from an inaccurate or malicious data source may lead to inaccurate or misleading conclusions, as well as the dereferencing of unintended IRIs. Care must be taken to align the trust in consulted resources with the sensitivity of the intended use of the data; inferences of potential medical treatments would likely require different trust than inferences for trip planning.</dd>
-
-          <dd>RDF/JSON is used to express arbitrary application data; security considerations will vary by domain of use. Security tools and protocols applicable to text (e.g. PGP encryption, MD5 sum validation, password-protected compression) may also be used on Turtle documents. Security/privacy protocols must be imposed which reflect the sensitivity of the embedded information.</dd>
-          <dd>RDF/JSON can express data which is presented to the user, for example, RDF Schema labels. Application rendering strings retrieved from untrusted RDF/JSON documents must ensure that malignant strings may not be used to mislead the reader. The security considerations in the media type registration for XML ([[!RFC3023]] section 10) provide additional guidance around the expression of arbitrary data and markup.</dd>
-          <dd>RDF/JSON uses IRIs as term identifiers. Applications interpreting data expressed in Turtle should address the security issues of
-      <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</a> [[!RFC3987]] Section 8, as well as
-      <a class="norm" href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource Identifier (URI): Generic Syntax</a> [[!RFC3986]] Section 7.</dd>
+    <p>The suggested media type for RDF/JSON is "application/rdf+json".</p>
 
-          <dd>Multiple IRIs may have the same appearance. Characters in different scripts may 
-    look similar (a Cyrillic &quot;&#1086;&quot; may appear similar to a Latin &quot;o&quot;). A character followed 
-    by combining characters may have the same visual representation as another character 
-    (LATIN SMALL LETTER E followed by COMBINING ACUTE ACCENT has the same visual representation 
-    as LATIN SMALL LETTER E WITH ACUTE).
-    <!-- (<code>foo:resum&#40751;code> and <code>f&#1086;&#1086;:resume&#769;</code>)-->
-    Any person or application that is writing or interpreting data in RDF/JSON must take care to use the IRI that matches the intended semantics, and avoid IRIs that make look similar.
-    Further information about matching of similar characters can be found 
-    in <a class="inform" href="http://www.unicode.org/reports/tr36/">Unicode Security 
-    Considerations</a> [[UNISEC]] and
-    <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource 
-    Identifiers (IRIs)</a> [[RFC3987]] Section 8.
-
+    <p>It is suggested that RDF/JSON files have the extension ".rj" (all lowercase) on all platforms.</p>
+    <p>JSON is encoded in Unicode, with a default encoding of UTF-8. See RFC627, section 3 "Encoding".</p>
 
-          <dt>Interoperability considerations:</dt>
-          <dd>There are no known interoperability issues.</dd>
-          <dt>Published specification:</dt>
-          <dd>This specification.</dd>
-          <dt>Applications which use this media type:</dt>
-          <dd>No widely deployed applications are known to use this media type. It may be used by some web services and clients consuming their data.</dd>
-          <dt>Additional information:</dt>
-          <dt>Magic number(s):</dt>
-          <dd>None</dd>
-          <dt>File extension(s):</dt>
-          <dd>".rj"</dd>
-          <dt>Macintosh file type code(s):</dt>
-          <dd>&quot;TEXT&quot;</dd>
-          <dt>Person &amp; email address to contact for further information:</dt>
-
-          <dd>Ian Davis, Thomas Steiner &lt;[email protected]&gt;</dd>
-          <dt>Intended usage:</dt>
-          <dd>COMMON</dd>
-          <dt>Restrictions on usage:</dt>
-          <dd>None</dd>
-          <dt>Author/Change controller:</dt>
-          <dd>The RDF/JSON specificationis a work product of the World Wide Web Consortium's RDF Working Group. The W3C has change control over these specifications.</dd>
-        </dl>
-      </section>
+</section>
       
 
 <section id="references"></section>