--- 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"
}
]
}