Tighten up list language and make it clear that a term is an NCName.
--- a/spec/latest/json-ld-api/index.html Sun Nov 06 19:48:26 2011 -0800
+++ b/spec/latest/json-ld-api/index.html Sun Nov 06 23:17:59 2011 -0800
@@ -826,9 +826,9 @@
</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> (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>.
+ 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 absolute IRI. Merge the
+ key-value pair into the <tref>local context</tref>.
</li>
</ol>
</li>
@@ -859,6 +859,13 @@
<tref>active context</tref>. If the result is an <tref>array</tref>
with a single value, the processor MAY represent this as a string value.
</p>
+ <p class="issue">
+ There is active discussion on merging the @coerce mappings into <tref>term</tref>
+ definitions, in which case <tref>term</tref> or <tref>prefix</tref> expansion cannot
+ take place unless they are in the active context when processing a context
+ definition (i.e., they were previously defined in a context definition prior to
+ parsing a new context definition).
+ </p>
</section>
<section>
@@ -2771,7 +2778,7 @@
If a regular <tref>array</tref> is detected
<ol class="algorithm">
<li id="processing-step-list">If the <tref>active property</tref> is the target of an
- <code>@list</code> coercion Generate an RDF List by linking each element of the list using
+ <code>@list</code> coercion Generate an <cite><a href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF Collection</a></cite> (see [[!RDF-SCHEMA]]) by linking each element of the list using
<code>rdf:first</code> and <code>rdf:next</code>, terminating the list with <code>rdf:nil</code> using the
following sequence:
<ol class="algorithm">
--- a/spec/latest/json-ld-syntax/index.html Sun Nov 06 19:48:26 2011 -0800
+++ b/spec/latest/json-ld-syntax/index.html Sun Nov 06 23:17:59 2011 -0800
@@ -383,7 +383,7 @@
<dt><tdef>array</tdef></dt>
<dd>
An array is an ordered collection of values. An array structure is represented as square brackets surrounding zero or more values (or elements). Elements are separated by commas. Within JSON-LD, array order is not preserved by default, unless
- specific markup is provided (see <a href="#lists">Lists</a>). This is because the basic data model of JSON-LD
+ specific markup is provided (see <a href="#rdf-collection">Lists</a>). This is because the basic data model of JSON-LD
is a <tref>linked data graph</tref>, which is inherently unordered.
</dd>
<dt><tdef>string</tdef></dt><dd>
@@ -1171,7 +1171,7 @@
<p class="note">In JSON-LD, multiple objects on a property are not ordered. This is because typically graphs
are not inherently ordered data structures. To see more on creating ordered collections
-in JSON-LD, see <a href="#lists">Lists</a>.
+in JSON-LD, see <a href="#rdf-collection">Lists</a>.
</p>
<pre class="example" data-transform="updateExample">
@@ -1245,7 +1245,7 @@
</section>
-<section>
+<section id="rdf-collection">
<h2>Lists</h2>
<p>
Because graphs do not describe ordering for links between nodes, in contrast to plain JSON, multi-valued properties
@@ -1305,6 +1305,10 @@
The @list keyword can be used within the <code>@coerce</code> section of a <code>@context</code> to
cause value arrays to be coerced into an ordered list.
</p>
+ <p>
+ In RDF, a list is described as an <cite><a href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF
+ Collection</a></cite> as defined in [[!RDF-SCHEMA]].
+ </p>
</section>
</section>
@@ -1555,6 +1559,17 @@
property types. Using type coercion, one may convert simple JSON data to
properly typed RDF data.</p>
+<p>Keys within a <code>@coerce</code> definition represent datatype IRIs and MUST take the form
+ of <tref>term</tref>, <tref>prefix</tref>:suffix, absolute IRI or the keywords <code>@iri</code> or <code>@list</code>.
+ Specifying <code>@iri</code> indicates that within the body of a JSON-LD document, string values of keys coerced as
+ <code>@iri</code> are to be interpreted as <tref>IRI</tref>s, and are subject to IRI expansion. Specifying
+ <code>@list</code> indicates that array values of keys coerced as <code>@list</code> are to be serialized
+ as a <a href="#rdf-collection">List</a>.</p>
+
+<p>Values within a <code>@coerce</code> definition represent property IRIs and MUST take the form
+ of <tref>term</tref>, <tref>prefix</tref>:suffix or <tref>array</tref>. Multiple values may be represented using
+ array form, where each element of the <tref>array</tref> must be a <tref>string</tref> interpreted as <tref>term</tref> or <tref>prefix</tref>:suffix.</p>
+
<p>The example below demonstrates how a JSON-LD author can coerce values to
<tref>plain literal</tref>s, <tref>typed literal</tref>s and IRIs.</p>