Clarify that blank node identifiers are allowed as value of @vocab
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Tue, 09 Jul 2013 23:07:58 +0200
changeset 1759 63805798e5cf
parent 1758 1eddcdaa5bc4
child 1760 f0381bc6039e
Clarify that blank node identifiers are allowed as value of @vocab
spec/latest/json-ld-api/index.html
spec/latest/json-ld/index.html
test-suite/tests/expand-0075-in.jsonld
test-suite/tests/expand-0075-out.jsonld
test-suite/tests/expand-manifest.jsonld
--- a/spec/latest/json-ld-api/index.html	Tue Jul 09 22:18:25 2013 +0200
+++ b/spec/latest/json-ld-api/index.html	Tue Jul 09 23:07:58 2013 +0200
@@ -188,6 +188,7 @@
       Generate Blank Node Identifier algorithm are reset before running the Flattening
       and the Convert to RDF algorithms</li>
     <li>Raise an error if a blank node is used as data type</li>
+    <li>Clarify that blank node identifier are supported as value of <code>@vocab</code></li>
   </ul>
 </section>
 
@@ -971,9 +972,10 @@
                   <code>@vocab</code> key.</li>
                 <li>If <i>value</i> is <tref>null</tref>, remove
                   any <tref>vocabulary mapping</tref> from <i>result</i>.</li>
-                <li>Otherwise, if <i>value</i> is an <tref>absolute IRI</tref>,
-                  the <tref>vocabulary mapping</tref> of <i>result</i> is set
-                  to <i>value</i>. If it is not an <tref>absolute IRI</tref>, an
+                <li>Otherwise, if <i>value</i> is an <tref>absolute IRI</tref>
+                  or <tref>blank node identifier</tref>, the <tref>vocabulary mapping</tref>
+                  of <i>result</i> is set to <i>value</i>. If it is not an
+                  <tref>absolute IRI</tref> or <tref>blank node identifier</tref>, an
                   <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-vocab-mapping">invalid vocab mapping</a></code>
                   error has been detected and processing is aborted.</li>
               </ol>
--- a/spec/latest/json-ld/index.html	Tue Jul 09 22:18:25 2013 +0200
+++ b/spec/latest/json-ld/index.html	Tue Jul 09 23:07:58 2013 +0200
@@ -164,6 +164,7 @@
     <li>Clarify how the <code>profile</code> media type parameter is used in the content
       negotiation process</li>
     <li>Update grammar to disallow blank nodes as data types</li>
+    <li>Update grammar to allow blank node identifiers as value of <code>@vocab</code></li>
     <li>Align the JSON-LD Data Model with the RDF Data Model</li>
   </ul>
 </section>
@@ -3103,7 +3104,7 @@
 
   <p>If the <tref>context definition</tref> has a <code>@vocab</code> key,
     its value MUST be a <tref>absolute IRI</tref>, a <tref>compact IRI</tref>,
-    a <tref>term</tref>, or <tref>null</tref>.</p>
+    a <tref>blank node identifier</tref>, a <tref>term</tref>, or <tref>null</tref>.</p>
 
   <p>The value of keys that are not <tref title="keyword">keywords</tref> MUST be either an
     <tref>absolute IRI</tref>, a <tref>compact IRI</tref>, a <tref>term</tref>,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/expand-0075-in.jsonld	Tue Jul 09 23:07:58 2013 +0200
@@ -0,0 +1,8 @@
+{
+  "@context": {
+    "@vocab": "_:"
+  },
+  "@id": "ex:node1",
+  "b1": "blank node property 1",
+  "b2": "blank node property 1"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-suite/tests/expand-0075-out.jsonld	Tue Jul 09 23:07:58 2013 +0200
@@ -0,0 +1,7 @@
+[
+  {
+    "@id": "ex:node1",
+    "_:b1": [ { "@value": "blank node property 1" } ],
+    "_:b2": [ { "@value": "blank node property 1" } ]
+  }
+]
--- a/test-suite/tests/expand-manifest.jsonld	Tue Jul 09 22:18:25 2013 +0200
+++ b/test-suite/tests/expand-manifest.jsonld	Tue Jul 09 23:07:58 2013 +0200
@@ -450,6 +450,12 @@
       "name": "Ensure that processors don't require that @id is the first property",
       "input": "expand-0074-in.jsonld",
       "expect": "expand-0074-out.jsonld"
+    }, {
+      "@id": "#t0074",
+      "@type": ["jld:PositiveEvaluationTest", "jld:ExpandTest"],
+      "name": "Use @vocab to map all properties to blank node identifiers",
+      "input": "expand-0075-in.jsonld",
+      "expect": "expand-0075-out.jsonld"
     }
   ]
 }