Clean up blank node definition within API.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Sun, 06 Nov 2011 19:48:26 -0800
changeset 259 4c9996850f3c
parent 258 fec17e851267
child 260 bb41d2510ee5
Clean up blank node definition within API.
spec/latest/json-ld-api/index.html
--- a/spec/latest/json-ld-api/index.html	Sun Nov 06 19:48:07 2011 -0800
+++ b/spec/latest/json-ld-api/index.html	Sun Nov 06 19:48:26 2011 -0800
@@ -719,6 +719,12 @@
       algorithm is running. The <tref>active context</tref> is the context
       contained within the <tref>processor state</tref>.
     </dd>
+    <dt><tdef>blank node</tdef></dt>
+    <dd>
+      a blank node is a <tref>resource</tref> which is neither an <tref>IRI</tref> nor a <tref>literal</tref>.
+      Blank nodes may be named or unnamed and often take on the role of a variable that may represent
+      either an <tref>IRI</tref> or a <tref>literal</tref>.
+    </dd>
     <dt><tdef>local context</tdef></dt>
     <dd>
       a context that is specified within a <tref>JSON object</tref>,
@@ -819,8 +825,8 @@
           simple <tref>string</tref> or <code>null</code>. Add the language to the <tref>local context</tref>.
         </li>
         <li>
-          Otherwise, for each key in <em>value</em>having the lexical form of <cite><a
-          href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#NT-NCName">NCName</a></cite>, it's value
+          Otherwise, for each key in <em>value</em> having the lexical form of <cite><a
+          href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#NT-NCName">NCName</a></cite> (see [[XML-NAMES]]), it's value
           MUST have be a simple <tref>string</tref> with the lexical form of IRI. Merge the key-value
           pair into the <tref>local context</tref>.
         </li>
@@ -888,8 +894,8 @@
   <p>The algorithm for generating an IRI is:
     <ol class="algorithm">
       <li>Split the value into a <em>prefix</em> and <em>suffix</em> from the first occurrence of ':'.</li>
-      <li>If the prefix is a '_' (underscore), the IRI is unchanged.</li>
-      <li>If the <tref>active context</tref> contains a term mapping for <em>prefix</em>, generate an IRI
+      <li>If the prefix is a '_' (underscore), the value represents a named <tref>blank node</tref>.</li>
+      <li>If the <tref>active context</tref> contains a <tref>term</tref> mapping for <em>prefix</em>, generate an IRI
         by prepending the mapped prefix to the (possibly empty) suffix using textual concatenation. Note that an empty
         suffix and no suffix (meaning the value contains no ':' string at all) are treated equivalently.</li>
       <li>If the IRI being processed is represented as a <em>term</em> (or has an empty <em>prefix</em>) and is for a
@@ -1535,7 +1541,7 @@
 
 <p>Notice how all of the <tref>term</tref>s have been expanded and sorted in
 alphabetical order. Also, notice how the <tref>subject</tref> has been
-labeled with a <tdef>blank node identifier</tdef>. Normalization ensures that any arbitrary
+labeled with a named <tref>blank node</tref>. Normalization ensures that any arbitrary
 graph containing exactly the same information would be normalized to exactly
 the same form shown above.</p>
 
@@ -2611,7 +2617,7 @@
   </p>
   <p>
     As with other grammars used for describing <tref>Linked Data</tref>, a key concept is that of
-    a <em>resource</em>. Resources may be of three basic types: <em><tref>IRI</tref></em>s, for describing
+    a <tdef>resource</tdef>. Resources may be of three basic types: <em><tref>IRI</tref></em>s, for describing
     externally named entities, <em>BNodes</em>, resources for which an external name does not
     exist, or is not known, and Literals, which describe terminal entities such as strings,
     dates and other representations having a lexical representation possibly including
@@ -2627,7 +2633,7 @@
   </p>
   <p>
     Data described with JSON-LD may be considered to be the representation of a graph made
-    up of <tref>subject</tref> and <tref>object</tref> resources related via a <tref>property</tref> resource.
+    up of <tref>subject</tref> and <tref>object</tref> <tref>resource</tref>s related via a <tref>property</tref> <tref>resource</tref>.
     However, specific implementations may choose to operate on the document as a normal
     JSON description of objects having attributes.
   </p>
@@ -2732,7 +2738,7 @@
         </li>
         <li>
           If the <tref>JSON object</tref> does not have a <code>@subject</code> key, set the <tref>active
-          object</tref> to newly generated <tref>blank node identifier</tref>. Generate a triple
+          object</tref> to newly generated <tref>blank node</tref>. Generate a triple
           representing the <tref>active subject</tref>, the <tref>active property</tref> and the
           <tref>active object</tref>. Set the <tref>active subject</tref> to the <tref>active
           object</tref>.
@@ -2775,20 +2781,20 @@
             </li>
             <li>
               Otherwise, generate a triple using using the <tref>active subject</tref>, <tref>active property</tref>
-              and a newly generated BNode identified as <em>first <tref>blank node identifier</tref></em>.
+              and a newly generated BNode identified as <em>first <tref>blank node</tref></em>.
             </li>
             <li>
               For each element other than the last element in the list:
               <ol class="algorithm">
                 <li>Create a processor state using the active context,
-                  <em>first <tref>blank node identifier</tref></em> as the <tref>active subject</tref>, and
+                  <em>first <tref>blank node</tref></em> as the <tref>active subject</tref>, and
                   <code>rdf:first</code> as the <tref>active property</tref>.</li>
                 <li>Unless this is the last element in the list, generate a new BNode identified as<
-                  em>rest <tref>blank node identifier</tref></em>, otherwise use <code>rdf:nil</code>.</li>
-                <li>Generate a new triple using <em>first <tref>blank node identifier</tref></em>,
-                  <code>rdf:rest</code> and <em>rest <tref>blank node identifier</tref></em>.</li>
-                <li>Set <em>first <tref>blank node identifier</tref></em> to
-                  <em>rest <tref>blank node identifier</tref></em>.</li>
+                  em>rest <tref>blank node</tref></em>, otherwise use <code>rdf:nil</code>.</li>
+                <li>Generate a new triple using <em>first <tref>blank node</tref></em>,
+                  <code>rdf:rest</code> and <em>rest <tref>blank node</tref></em>.</li>
+                <li>Set <em>first <tref>blank node</tref></em> to
+                  <em>rest <tref>blank node</tref></em>.</li>
               </ol>
             </li>
           </ol>