Updated JSON-LD reqs based on Manu's suggestions.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Wed, 03 Aug 2011 19:37:56 -0700
changeset 101 1e0d40ce6e63
parent 99 6ceea19fa51b
child 102 4539526bc736
Updated JSON-LD reqs based on Manu's suggestions.
requirements/latest/index.html
--- a/requirements/latest/index.html	Wed Aug 03 17:10:03 2011 -0700
+++ b/requirements/latest/index.html	Wed Aug 03 19:37:56 2011 -0700
@@ -265,7 +265,7 @@
     <dt>Structured Data</dt><dd>
       Structured Data describes general means of describing inter-relationships between entities in a way that can be
       described using a graph or tree structure. JSON is an example of a grammar for describing Structured Data. In
-      the context of JSON-LD, Structured Data refers to JSON objects in which the subject may not have a IRI, or
+      the context of JSON-LD, Structured Data refers to JSON objects in which the subject may not have an IRI, or
       where the IRI is not dereferencable, or does not retrieve a representation of the object to which it refers.
     </dd>
     <dt><tdef>JSON Object</tdef></dt><dd>
@@ -293,7 +293,7 @@
       <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> SHOULD be labeled with a IRI.</li>
+      <li>A <tref>subject</tref> SHOULD be labeled with an IRI.</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>
@@ -315,30 +315,31 @@
     </p>
   </section>
   <section><h2>JSON-LD</h2>
-    <p>The following are taken to be requirements for creating <tref>Linked Data</tref> in JSON.</p>
+    <p>The following are taken to be requirements and principles for creating <tref>Linked Data</tref> in JSON.</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>
-        <trefs>JSON object</trefs>s, arrays, numbers, strings and literal names MUST resolve to nodes in
-        a <tref>linked data graph</tref>..
-      </li>
-      <li>A <tref>subject</tref> is represented with a <tref>JSON object</tref>.</li>
+      <li>A <tref>subject</tref> is defined using a designated name/value pair of a <tref>JSON object</tref>.</li>
       <li>There MUST be a way label a <tref>JSON object</tref> with an IRI.</li>
       <li>There MAY 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>JSON name/value SHOULD be used to describe <tref>property</tref>-<tref>object</tref> relationships.</li>
+      <li>A <tref>property</tref> SHOULD resolve to an absolute IRI.</li>
+      <li>
+        An <tref>object</tref> is represented using
+        <trefs>JSON object</trefs>s, arrays, numbers, strings and literal names resolve to nodes in
+        a <tref>linked data graph</tref>.
+      </li>
+      <li>Uncoerced JSON strings represent literal <tref>object</tref>s.</li>
+      <li>Coerced JSON strings MAY represent IRIs.</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>JSON booleans, numbers and other literal values MUST represent specific datatyped literals.
+        <span class="issue">what does null map to?</span></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>
-      <li>A JSON-LD document SHOULD be able to express ordered object relationships.</li>
+      <li>A JSON-LD document SHOULD be able to express and ordered list objects.</li>
     </ol>
   </section>
 </section>