Update requirements doc.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/requirements/ED/20110713/index.html Wed Jul 13 16:25:26 2011 -0700
@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>JSON-LD Requirements</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<!--
+ === NOTA BENE ===
+ For the three scripts below, if your spec resides on dev.w3 you can check them
+ out in the same tree and use relative links so that they'll work offline,
+ -->
+<script type="text/javascript"
+ src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove">
+ </script>
+<script type="text/javascript" class="remove">
+
+ var preProc = {
+ apply: function(c) {
+ // extend the bibliography entries
+
+ // process the document before anything else is done
+ var refs = document.querySelectorAll('adef') ;
+ for (var i = 0; i < refs.length; i++) {
+ var item = refs[i];
+ var p = item.parentNode ;
+ var con = item.innerHTML ;
+ var sp = document.createElement( 'dfn' ) ;
+ var tit = item.getAttribute('title') ;
+ if (!tit) {
+ tit = con;
+ }
+ sp.className = 'adef' ;
+ sp.title=tit ;
+ sp.innerHTML = con ;
+ p.replaceChild(sp, item) ;
+ }
+ refs = document.querySelectorAll('aref') ;
+ for (var i = 0; i < refs.length; i++) {
+ var item = refs[i];
+ var p = item.parentNode ;
+ var con = item.innerHTML ;
+ var sp = document.createElement( 'a' ) ;
+ sp.className = 'aref' ;
+ sp.setAttribute('title', con);
+ sp.innerHTML = '@'+con ;
+ p.replaceChild(sp, item) ;
+ }
+ // local datatype references
+ refs = document.querySelectorAll('ldtref') ;
+ for (var i = 0; i < refs.length; i++) {
+ var item = refs[i];
+ if (!item) continue ;
+ var p = item.parentNode ;
+ var con = item.innerHTML ;
+ var ref = item.getAttribute('title') ;
+ if (!ref) {
+ ref = item.textContent ;
+ }
+ if (ref) {
+ ref = ref.replace(/\n/g, '_') ;
+ ref = ref.replace(/\s+/g, '_') ;
+ }
+ var sp = document.createElement( 'a' ) ;
+ sp.className = 'datatype';
+ sp.title = ref ;
+ sp.innerHTML = con ;
+ p.replaceChild(sp, item) ;
+ }
+ // external datatype references
+ refs = document.querySelectorAll('dtref') ;
+ for (var i = 0; i < refs.length; i++) {
+ var item = refs[i];
+ if (!item) continue ;
+ var p = item.parentNode ;
+ var con = item.innerHTML ;
+ var ref = item.getAttribute('title') ;
+ if (!ref) {
+ ref = item.textContent ;
+ }
+ if (ref) {
+ ref = ref.replace(/\n/g, '_') ;
+ ref = ref.replace(/\s+/g, '_') ;
+ }
+ var sp = document.createElement( 'a' ) ;
+ sp.className = 'externalDFN';
+ sp.title = ref ;
+ sp.innerHTML = con ;
+ p.replaceChild(sp, item) ;
+ }
+ // now do terms
+ refs = document.querySelectorAll('tdef') ;
+ for (var i = 0; i < refs.length; i++) {
+ var item = refs[i];
+ if (!item) continue ;
+ var p = item.parentNode ;
+ var con = item.innerHTML ;
+ var ref = item.getAttribute('title') ;
+ if (!ref) {
+ ref = item.textContent ;
+ }
+ if (ref) {
+ ref = ref.replace(/\n/g, '_') ;
+ ref = ref.replace(/\s+/g, '_') ;
+ }
+ var sp = document.createElement( 'dfn' ) ;
+ sp.title = ref ;
+ sp.innerHTML = con ;
+ p.replaceChild(sp, item) ;
+ }
+ // now term references
+ refs = document.querySelectorAll('tref') ;
+ for (var i = 0; i < refs.length; i++) {
+ var item = refs[i];
+ if (!item) continue ;
+ var p = item.parentNode ;
+ var con = item.innerHTML ;
+ var ref = item.getAttribute('title') ;
+ if (!ref) {
+ ref = item.textContent ;
+ }
+ if (ref) {
+ ref = ref.replace(/\n/g, '_') ;
+ ref = ref.replace(/\s+/g, '_') ;
+ }
+
+ var sp = document.createElement( 'a' ) ;
+ var id = item.textContent ;
+ sp.className = 'tref' ;
+ sp.title = ref ;
+ sp.innerHTML = con ;
+ p.replaceChild(sp, item) ;
+ }
+ }
+ } ;
+
+
+ var respecConfig = {
+ // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+ specStatus: "unofficial",
+ publishDate: "2011-07-13",
+
+ // the specification's short name, as in http://www.w3.org/TR/short-name/
+ shortName: "json-ld",
+ subtitle: "A Context-based JSON Serialization for Linked Data",
+ // if you wish the publication date to be other than today, set this
+ // publishDate: "2009-08-06",
+
+ // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
+ // and its maturity status
+ previousPublishDate: "2011-07-03",
+ previousMaturity: "ED",
+ previousDiffURI: "http://json-ld.org/requirements/ED/20110703/index.html",
+ diffTool: "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
+
+ // if there a publicly available Editor's Draft, this is the link
+ edDraftURI: "http://json-ld.org/requirements/latest/",
+
+ // if this is a LCWD, uncomment and set the end of its review period
+ // lcEnd: "2009-08-05",
+
+ // if you want to have extra CSS, append them to this list
+ // it is recommended that the respec.css stylesheet be kept
+ extraCSS: [
+ "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"
+ ],
+
+ // editors, add as many as you like
+ // only "name" is required
+ editors: [
+ { name: "Gregg Kellogg", url: "http://greggkellogg.net/",
+ company: "Kellogg Associates" },
+ ],
+
+ // authors, add as many as you like.
+ // This is optional, uncomment if you have authors as well as editors.
+ // only "name" is required. Same format as editors.
+
+ // name of the WG
+ wg: "Linked Data in JSON Interest Group",
+
+ // URI of the public WG page
+ wgURI: "",
+
+ // name (with the @w3c.org) of the public mailing to which comments are due
+ wgPublicList: "",
+
+ // URI of the patent status for this WG, for Rec-track documents
+ // !!!! IMPORTANT !!!!
+ // This is important for Rec-track documents, do not copy a patent URI from a random
+ // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
+ // Team Contact.
+ wgPatentURI: "",
+ maxTocLevel: 3,
+ preProcess: [ preProc ]
+ //alternateFormats: [ {uri: "diff-20110507.html", label: "diff to previous version"} ],
+ };
+ </script>
+<style>
+.diff { font-weight:bold; color:#0a3; }
+</style>
+</head>
+
+<body>
+<section id="abstract">
+<p>
+ This document attempts to gather requirements for Linked Data in JSON (JSON-LD)
+ in order to create an objective measure with which to evaluate the
+ <cite><a href="/spec/latest/">JSON-LD Specification</a></cite>.
+</p>
+</section>
+
+<section id='sotd'>
+<p>This document is an experimental work in progress.</p>
+<!-- <p>
+This document has been reviewed by W3C Members, by software
+developers, and by other W3C groups and interested parties, and is
+endorsed by the Director as a W3C Recommendation. It is a stable
+document and may be used as reference material or cited from another
+document. W3C's role in making the Recommendation is to draw attention
+to the specification and to promote its widespread deployment. This
+enhances the functionality and interoperability of the Web.
+</p> -->
+</section>
+
+<section>
+<h1>Introduction</h1>
+</section>
+
+<section><h1>Definitions</h1>
+ <dl>
+ <dt><tdef>JSON</tdef></dt><dd>
+ <abbr title="JavaScript Object Notation">JSON</abbr> (JavaScript Object Notation)
+ [[!RFC4627]]
+ is a simple way to express objects in a syntax compatible with JavaScript.
+ </dd>
+ <dt>Linked Data</dt><dd>
+ According to <cite><a
+ href="http://en.wikipedia.org/wiki/Linked_Data">Wikipedia</a></cite>, Linked Data ...
+ <blockquote cite="http://en.wikipedia.org/wiki/Linked_Data">
+ describes a method of publishing structured data so that it can be interlinked and
+ become more useful. It builds upon standard Web technologies such as HTTP and URIs,
+ but rather than using them to serve web pages for human readers, it extends them to
+ share information in a way that can be read automatically by computers. This
+ enables data from different sources to be connected and queried.
+ </blockquote>
+ </dd>
+ <dt><tdef>JSON Object</tdef></dt><dd>
+ From [[RFC4627]]: <blockquote>
+ An object structure is represented as a pair of curly brackets surrounding zero or
+ more name/value pairs (or members). A name is a string. A single colon comes after
+ each name, separating the name from the value. A single comma separates a value
+ from a following name. The names within an object SHOULD be unique.
+ </blockquote>
+ </dd>
+ </dl>
+</section>
+
+<section><h1>Requirements</h1>
+ <section><h2>Linked Data</h2>
+ <p>
+ The following are taken to be assertions about the meaning of <tref>Linked Data</tref>.
+ </p>
+ <p class="note">
+ This section is intended to abstractly describe the concept of <tref>Linked
+ Data</tref>. This does not necessarily relate concepts directly to a JSON syntactic
+ expression; that is left for the following section.
+ </p>
+ <ol>
+ <li><tdef>Linked Data</tdef> is a set of documents, each containing a representation of a linked data graph.</li>
+ <li>A <tdef>linked data graph</tdef> is a labeled directed graph, where nodes are <tref>subject</tref>s or <tref>object</tref>s, and edges are properties.</li>
+ <li>A <tdef>subject</tdef> is any node in a <tref>linked data graph</tref> with at least one outgoing edge.</li>
+ <li>
+ A <tref>subject</tref> MAY be labeled with a IRI.
+ <p class="issue">
+ There is some controversy over the use of MAY vs. SHOULD. Could a subject be labeled with a literal?
+ Can nodes be unlabeled (i.e., like RDF Blank Nodes)?
+ </p>
+ </li>
+ <li>A <tdef>property</tdef> is an edge of the <tref>linked data graph</tref>.</li>
+ <li>A <tref>property</tref> SHOULD be labeled with an IRI.</li>
+ <li>An <tdef>object</tdef> is a node in a <tref>linked data graph</tref> with at least one incoming edge.</li>
+ <li>An <tref>object</tref> MAY be labeled with an IRI.</li>
+ <li>An IRI that is a label in a <tref>linked data graph</tref> SHOULD be dereferencable to a <tref>Linked Data</tref> document describing the labeled <tref>subject</tref>, <tref>object</tref> or <tref>property</tref>.</li>
+ <li>A <tdef>literal</tdef> is an <tref>object</tref> with a label that is not an IRI</li>
+ </ol>
+ </section>
+ <section><h2>JSON-LD</h2>
+ <p>The following are taken to be requirements for expressing JSON as <tref>Linked Data</tref>.</p>
+ <p class="issue">
+ This section has not been discussed on a teleconference
+ </p>
+ <ol>
+ <li>A JSON-LD document MUST be able to express a <tref>linked data graph</tref>.</li>
+ <li>
+ A JSON-LD document uses <trefs>JSON object</trefs>s, arrays, numbers, strings and
+ other literal names to express semantic information.
+ </li>
+ <li>A <tref>subject</tref> is represented with a <tref>JSON object</tref>.</li>
+ <li>There MUST be a way label a <tref>JSON object</tref> with an IRI.</li>
+ <li>There MUST be a way to reference an un-labeled JSON object that does not have a direct child relationship.</li>
+ <li>JSON name/value pairs are used to describe property-object relationships.</li>
+ <li>There MUST be a way to associate a IRI with the name in a JSON name/value pair.</li>
+ <li>JSON strings MAY represent literals.</li>
+ <li>JSON strings MAY represent IRIs.</li>
+ <li>There MUST be a way to determine if a JSON value represents a IRI.</li>
+ <li>There SHOULD be a way to associate a datatype IRI with a literal JSON value.</li>
+ <li>JSON booleans, numbers and other literal values represent specific datatyped literals.</li>
+ <li>A JSON array MAY be used to associate multiple <tref>object</tref>s with a <tref>subject</tref> through a common <tref>property</tref>.</li>
+ <li>A JSON array MUST NOT be used to imply an order to the component entities.</li>
+ </ol>
+ </section>
+</section>
+
+</body>
+</html>
+
--- a/requirements/latest/index.html Wed Jul 13 16:19:17 2011 -0700
+++ b/requirements/latest/index.html Wed Jul 13 16:25:26 2011 -0700
@@ -136,7 +136,7 @@
var respecConfig = {
// specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
specStatus: "unofficial",
- //publishDate: "2011-07-11",
+ //publishDate: "2011-07-13",
// the specification's short name, as in http://www.w3.org/TR/short-name/
shortName: "json-ld",
@@ -148,11 +148,11 @@
// and its maturity status
previousPublishDate: "2011-07-03",
previousMaturity: "ED",
- previousDiffURI: "http://json-ld.org/requirements/ED/20100703/index.html",
+ previousDiffURI: "http://json-ld.org/requirements/ED/20110703/index.html",
diffTool: "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
// if there a publicly available Editor's Draft, this is the link
- edDraftURI: "http://json-ld.org/spec/latest/",
+ edDraftURI: "http://json-ld.org/requirements/latest/",
// if this is a LCWD, uncomment and set the end of its review period
// lcEnd: "2009-08-05",
@@ -268,7 +268,13 @@
<li><tdef>Linked Data</tdef> is a set of documents, each containing a representation of a linked data graph.</li>
<li>A <tdef>linked data graph</tdef> is a labeled directed graph, where nodes are <tref>subject</tref>s or <tref>object</tref>s, and edges are properties.</li>
<li>A <tdef>subject</tdef> is any node in a <tref>linked data graph</tref> with at least one outgoing edge.</li>
- <li>A <tref>subject</tref> MAY be labeled with a IRI.</li>
+ <li>
+ A <tref>subject</tref> MAY be labeled with a IRI.
+ <p class="issue">
+ There is some controversy over the use of MAY vs. SHOULD. Could a subject be labeled with a literal?
+ Can nodes be unlabeled (i.e., like RDF Blank Nodes)?
+ </p>
+ </li>
<li>A <tdef>property</tdef> is an edge of the <tref>linked data graph</tref>.</li>
<li>A <tref>property</tref> SHOULD be labeled with an IRI.</li>
<li>An <tdef>object</tdef> is a node in a <tref>linked data graph</tref> with at least one incoming edge.</li>