Moved more normative definition of how to process null elsewhere.
authorManu Sporny <msporny@digitalbazaar.com>
Fri, 22 Jun 2012 22:31:08 -0400
changeset 731 d4eea6ac54d4
parent 730 7b45a8345074
child 732 6cecbc932ef6
Moved more normative definition of how to process null elsewhere.
spec/latest/json-ld-syntax/index.html
--- a/spec/latest/json-ld-syntax/index.html	Fri Jun 22 22:20:04 2012 -0400
+++ b/spec/latest/json-ld-syntax/index.html	Fri Jun 22 22:31:08 2012 -0400
@@ -417,15 +417,11 @@
     <dt><tdef>true</tdef> and <tdef>false</tdef></dt><dd>
       Values that are used to express one of two possible boolean states.</dd>
     <dt><tdef>null</tdef></dt><dd>
-      Unless otherwise specified, a JSON-LD processor MUST act as if a 
-      key-value pair in the body of a JSON-LD document was never declared when 
-      the value equals <em>null</em>.
-      If <code>@value</code>, <code>@list</code>, or <code>@set</code> is set 
-      to <em>null</em> in expanded form, then the entire JSON object is 
-      ignored. If <code>@context</code> is set to <em>null</em>, the 
-      <tref>active context</tref> is reset and when used within a 
-      <tref>context</tref>, it removes any definition associated with the key, 
-      unless otherwise specified.</dd>
+      The null value is used to make the JSON-LD processor "forget" any
+      previously defined JSON key that is associated with the null value.
+      If a previous definition doesn't exist, the entire key-value is ignored.
+      If a previous definition of the key does exist, the previous 
+      definition is undefined.</dd>
     <dt><tdef>subject definition</tdef></dt><dd>
       A <tref>JSON object</tref> used to represent a <tref>subject</tref> and 
       one or more properties of that subject. A <tref>JSON object</tref> is a 
@@ -578,7 +574,7 @@
 object, while being practical, are at odds with [[RDF-CONCEPTS]]
 use in their roles within a triple.</p>
 
-<p class="issue">JSON-LD allows properties to be BNodes, while RDF does
+<p class="note">JSON-LD allows properties to be BNodes, while RDF does
   not. When used as just JSON-LD, this is not unreasonable;
   it only becomes an issue (and could raise an exception) when
   transformed to RDF.</p>
@@ -761,6 +757,18 @@
 first, processors have to save each key-value pair until the <tref>context</tref> is processed.
 This creates a memory and complexity burden for one-pass processors.</p>
 
+<p class="note">The <code>null</code> value is processed in a special way
+in JSON-LD. Unless otherwise specified, a JSON-LD processor MUST act as if a 
+key-value pair in the body of a JSON-LD document was never declared when 
+the value equals <em>null</em>.
+If <code>@value</code>, <code>@list</code>, or <code>@set</code> is set 
+to <em>null</em> in expanded form, then the entire JSON object is 
+ignored. If <code>@context</code> is set to <em>null</em>, the 
+<tref>active context</tref> is reset and when used within a 
+<tref>context</tref>, it removes any definition associated with the key, 
+unless otherwise specified.
+</p>
+
 </section>
 
 <section>