Merge branch 'master' of github.com:json-ld/json-ld.org
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Thu, 09 Aug 2012 17:13:12 +0200
changeset 799 7b0928c9cbcf
parent 795 e5d38151dac4 (current diff)
parent 798 66e1d2e87e4e (diff)
child 800 a9f57ae2a07a
Merge branch 'master' of github.com:json-ld/json-ld.org
spec/latest/json-ld-api/index.html
--- a/requirements/latest/index.html	Thu Aug 09 17:07:42 2012 +0200
+++ b/requirements/latest/index.html	Thu Aug 09 17:13:12 2012 +0200
@@ -335,7 +335,7 @@
       <li>The literal value of JSON null is undefined.</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>Without explicit syntactic support, JSON arrays MUST NOT be interpreted as defining an object ordering.</li>
-      <li>A JSON-LD document SHOULD be able to express and ordered list objects.</li>
+      <li>A JSON-LD document SHOULD be able to express an ordered list of objects.</li>
     </ol>
   </section>
 </section>
--- a/spec/latest/json-ld-api/index.html	Thu Aug 09 17:07:42 2012 +0200
+++ b/spec/latest/json-ld-api/index.html	Thu Aug 09 17:13:12 2012 +0200
@@ -1205,9 +1205,9 @@
         <li>If <em>context</em> is a <tref>JSON object</tref>, perform the following steps:
           <ol class="algorithm">
             <li>If <em>context</em> has a <code>@language</code> property, it MUST have a value of a
-              simple <tref>string</tref> or <tref>null</tref>. Add the language to the <tref>local context</tref>.</li>
+              simple <tref>string</tref> with the lexical form described in [[!BCP47]], or <tref>null</tref>. Add the language to the <tref>local context</tref>.</li>
             <li>If <em>value</em> has a <code>@vocab</code> key, it MUST have a value of a simple <tref>string</tref>
-              with the lexical form of an absolute IRI. Add the vocabulary mapping to the <tref>local context</tref>.</li>
+              with the lexical form of an <tref>absolute IRI</tref>, or <tref>null</tref>. Add the vocabulary mapping to the <tref>local context</tref>.</li>
             <li id="object-context">Otherwise, for each property in <em>context</em> perform the following steps:
               <ol class="algorithm">
                 <li>If the property's value is a simple <tref>string</tref>, determine the IRI mapping value by
@@ -1277,7 +1277,7 @@
   <h2>IRI Expansion</h2>
   <p>Keys and some values are evaluated to produce an <tref>IRI</tref>. This section defines an algorithm for
     transforming a value representing an IRI into an actual IRI.</p>
-  <p><tref>IRI</tref>s may be represented as an <tref>absolute IRI</tref>, a <tref>term</tref>,
+  <p><tref title="IRI">IRIs</tref> may be represented as an <tref>absolute IRI</tref>, a <tref>term</tref>,
     a <tref>compact IRI</tref>, or as a value relative to <code>@vocab</code>.</p>
   <p>An <tdef>absolute IRI</tdef> is defined in [[!RFC3987]] containing a <em>scheme</em> along with
     <em>path</em> and optional <em>query</em> and fragment segments. A <tdef>relative IRI</tdef> is an IRI
@@ -1355,6 +1355,11 @@
           </li>
         </ol>
       </li>
+      <li>If <em>terms</em> is empty, and the <tref>active context</tref> has a <code>@vocab</code>
+        which is a prefix of <em>iri</em> where
+        the resulting <tref>relative IRI</tref> is not a <tref>term</tref> in the
+        <tref>active context</tref>. The resulting <tref>relative IRI</tref> is the
+        unmatched part of <em>iri</em>.</li>
       <li>If <em>terms</em> is empty, add a <tref>compact IRI</tref> representation of <em>iri</em>
         for each <tref>term</tref> in the <tref>active context</tref> which
         maps to an <tref>IRI</tref> which is a prefix for <em>iri</em> where
--- a/spec/latest/json-ld-syntax/index.html	Thu Aug 09 17:07:42 2012 +0200
+++ b/spec/latest/json-ld-syntax/index.html	Thu Aug 09 17:13:12 2012 +0200
@@ -2727,12 +2727,15 @@
 <section id="grammar-context">
 <h2>Context Definition</h2>
 <p>A <tdef>context definition</tdef> is a <tref>JSON object</tref>
-  containing one or more key/value pairs. Keys are <tref title="string">strings</tref>
-  or the <code>@language</code> <tref>keyword</tref>. A <tref>context definition</tref>
+  containing one or more key/value pairs. Keys are non-keyword <tref title="string">strings</tref>
+  or the <code>@language</code> or <code>@vocab</code> <tref title="keyword">keywords</tref>.
+  A <tref>context definition</tref>
   SHOULD NOT contain any keys having the lexical form of <tref>keyword</tref> other than
-  <code>@language</code>.</p>
+  <code>@language</code> or <code>@vocab</code>.</p>
 <p>If the <tref>context definition</tref> has a <code>@language</code> key,
   the value MUST have the lexical form described in [[!BCP47]] or <tref>null</tref>.</p>
+<p>If the <tref>context definition</tref> has a <code>@vocab</code> key,
+  the value MUST have the lexical form of <tref>absolute IRI</tref> or <tref>null</tref>.</p>
 <p>Other keys are <tref>term</tref> definitions. Their values MUST be either a
   <tref>string</tref>, or a <tref>JSON object</tref>. If the value is a
   <tref>JSON object</tref>, the <tref>term</tref> has an <tdef>expanded term