Make it clear that @vocab is not used as a base IRI
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Tue, 23 Oct 2012 18:59:59 +0200
changeset 923 0e77b0f9445d
parent 922 b039f0c8f20b
child 924 4fe726eafe47
child 946 cd7cb8493e54
Make it clear that @vocab is not used as a base IRI

This closes #173.
spec/latest/json-ld-api/index.html
spec/latest/json-ld-syntax/index.html
--- a/spec/latest/json-ld-api/index.html	Tue Oct 23 18:06:01 2012 +0200
+++ b/spec/latest/json-ld-api/index.html	Tue Oct 23 18:59:59 2012 +0200
@@ -640,6 +640,12 @@
       <cite><a href="../json-ld-syntax/#the-context">The Context</a></cite> of the [[JSON-LD]] specification.</dd>
     <dt><tdef><abbr title="Internationalized Resource Identifier">IRI</abbr></tdef></dt>
     <dd>An Internationalized Resource Identifier as described in [[!RFC3987]].</dd>
+    <dt><tdef>Absolute IRI</tdef></dt>
+    <dd>An absolute IRI is defined in [[!RFC3987]] containing a <em>scheme</em> along with a <em>path</em> and
+      optional <em>query</em> and fragment segments.</dd>
+    <dt><tdef>Relative IRI</tdef></dt>
+    <dd>A relative IRI is an IRI that is relative some other <tref>absolute IRI</tref>;
+      in the case of JSON-LD this is the base location of the document.</dt>
     <dt><tdef>Linked Data</tdef></dt>
     <dd>A technique for creating a network of inter-connected data across different documents and Web sites.</dd>
     <dt><tdef>JSON-LD graph</tdef></dt>
@@ -1346,12 +1352,6 @@
   <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 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
-    that is relative some other <tref>absolute IRI</tref>; in the case of JSON-LD this is the base location
-    of the document.</p>
 
   <p>The algorithm for generating an IRI is:
     <ol class="algorithm">
--- a/spec/latest/json-ld-syntax/index.html	Tue Oct 23 18:06:01 2012 +0200
+++ b/spec/latest/json-ld-syntax/index.html	Tue Oct 23 18:59:59 2012 +0200
@@ -586,8 +586,8 @@
 <dd>Used to express an unordered set of data.
   This keyword is described in the section titled <a href="#sets-and-lists"></a>.</dd>
 <dt><code>@vocab</code></dt>
-<dd>Used to set the base <tref>IRI</tref> for all property IRIs affected by the
-  <tref>active context</tref>. This keyword is described in section <a href="#iris"></a>.</dd>
+<dd>Used to expand properties and values in <code>@type</code> with a common prefix
+  <tref>IRI</tref>. This keyword is described in section <a href="#iris"></a>.</dd>
 <dt><code>@graph</code></dt><dd>Used to explicitly label a <tref>JSON-LD graph</tref>.
   This keyword is described in <a href="#named-graphs"></a>.</dd>
 <dt><code>:</code></dt>
@@ -841,29 +841,25 @@
 <section>
 <h2>IRIs</h2>
 
-<p><tref title="IRI">IRIs</tref> are fundamental to <tref>Linked Data</tref>
-as that is how most <tref title="node">nodes</tref>s and all
-<tref title="property">properties</tref> are
-identified. <tref>IRI</tref>s can be expressed in a variety of different ways
-in JSON-LD.</p>
-
-<p>An <tdef><abbr title="Internationalized Resource Identifier">IRI</abbr></tdef>
-  (an Internationalized Resource Identifier) is described in [[!RFC3987]])
-  and the use with JSON-LD conforms to the definition of
-  <cite><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">IRI</a></cite> in [[!RDF-CONCEPTS]].</p>
+<p><tdef title="IRI"><abbr title="Internationalized Resource Identifier">IRIs</abbr></tdef>
+  (Internationalized Resource Identifiers are fundamental to <tref>Linked Data</tref> as
+  that is how most <tref title="node">nodes</tref>s and <tref title="property">properties</tref>
+  are identified. <tref>IRI</tref>s can be expressed in a variety of different ways in JSON-LD:</p>
 
 <ol>
-  <li>Except within a <tref>context</tref> definition, <tref>term</tref>s in the key position in
-    a <tref>JSON object</tref> that have a mapping or a vocabulary base <tref>IRI</tref> in the
-    <tref>active context</tref> are expanded to an <tref>IRI</tref> by JSON-LD processors.</li>
+  <li>Except within a <tref>context</tref> definition, <tref title="term">terms</tref> in the
+    key position in a <tref>JSON object</tref> that have a mapping in the <tref>active context</tref>
+    are expanded to an <tref>IRI</tref> by JSON-LD processors. If there's a <code>@vocab</code>
+    mapping in the active context also <tref title="term">terms</tref> without an explicit mapping
+    in the active context are expanded to an <tref>IRI</tref>.</li>
   <li>An <tref>IRI</tref> is generated for the <tref>string</tref> value specified using
     <code>@id</code> or <code>@type</code>.</li>
   <li>An <tref>IRI</tref> is generated for the <tref>string</tref> value of any key for which there
     are <tref>coercion</tref> rules in effect that identify the value as an <code>@id</code>.</li>
 </ol>
 
-<p>IRIs may be represented as an <tref>absolute IRI</tref>, a <tref>relative IRI</tref>, a <tref>term</tref>,
-  a <tref>compact IRI</tref>, or as a value relative to <code>@vocab</code>.</p>
+<p>IRIs may be represented as an <tref>absolute IRI</tref>, a <tref>relative IRI</tref>,
+  a <tref>compact IRI</tref>, or a <tref>term</tref>.</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 <em>fragment</em> segments. A <tdef>relative IRI</tdef> is an IRI
@@ -939,13 +935,13 @@
 <code>http://xmlns.com/foaf/0.1/name</code>. See <a href="#compact-iris"></a> for more details.</p>
 
 <p>It is often common that all types and properties come from the same vocabulary. JSON-LD's
-  <code>@vocab</code> keyword allows to set a base <tref>IRI</tref> to be used for all properties and types
-  that that do not match a <tref>term</tref>, a <tref>prefix</tref>, or an <tref>absolute IRI</tref>
+  <code>@vocab</code> keyword allows to set a common prefix to be used for all properties and types
+  that neither match a <tref>term</tref> nor a <tref>compact IRI</tref> or an <tref>absolute IRI</tref>
   (i.e., do not contain a colon). The <code>@vocab</code> mapping MUST have a value of a simple string with the
   lexical form of an absolute IRI.</p>
 
 <pre class="example" data-transform="updateExample"
-     title="Vocabulary base IRI">
+     title="Using a common vocabulary prefix">
 <!--
 {
   ****"@context": {