--- a/spec/latest/json-ld-api/index.html Tue Mar 12 19:26:04 2013 +0100
+++ b/spec/latest/json-ld-api/index.html Tue Mar 12 19:49:39 2013 +0100
@@ -671,7 +671,7 @@
<dd>Every <tref>edge</tref> has a direction associated with it and is labeled with
an <tref>IRI</tref> or a <tref>blank node identifier</tref>. Within the JSON-LD syntax
these edge labels are called <tdef title="property">properties</tdef>. Whenever possible, an
- <tref>edge</tref> SHOULD be labeled with an <tref>IRI</tref>.</dd>
+ <tref>edge</tref> should be labeled with an <tref>IRI</tref>.</dd>
<dt><tdef>node</tdef></dt>
<dd>Every <tref>node</tref> is an <tref>IRI</tref>, a <tref>blank node</tref>,
a <tref>JSON-LD value</tref>, or a <tref>list</tref>.</dd>
@@ -702,8 +702,8 @@
<dt><tdef>language-tagged string</tdef></dt>
<dd>A <tref>language-tagged string</tref> consists of a string and a non-empty language
tag as defined by [[BCP47]]. The language tag must be well-formed according to section
- <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">2.2.9</a> of [[BCP47]], and MUST
- be normalized to lowercase.</dd>
+ <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">2.2.9</a> of [[BCP47]], and is
+ normalized to lowercase.</dd>
<dt><tdef>list</tdef></dt>
<dd>A <tref>list</tref> is an ordered sequence of <tref title="IRI">IRIs</tref>,
<tref title="blank node">blank nodes</tref>, and
@@ -740,7 +740,7 @@
<dt><tdef>JSON-LD output</tdef></dt>
<dd>The JSON-LD data structure that is produced as output by the algorithm.</dd>
<dt><tdef>term</tdef></dt>
- <dd>A <tref>term</tref> is a short word defined in a context that MAY be expanded to
+ <dd>A <tref>term</tref> is a short word defined in a context that may be expanded to
an <tref>IRI</tref></dd>
<dt><tdef>compact IRI</tdef></dt>
<dd>A compact IRI is has the form of <tdef>prefix</tdef>:<em>suffix</em> and is used as a way
@@ -944,7 +944,7 @@
<code>@language</code> key.</li>
<li>If <em>value</em> is <tref>null</tref>, then remove
any <tref>default language</tref> from <em>result</em>.</li>
- <li>Otherwise, <em>value</em> MUST be a <tref>string</tref>, if not, an
+ <li>Otherwise, <em>value</em> must be a <tref>string</tref>, if not, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-default-language">invalid default language</a></code>
error has been detected. Set <em>result</em>'s
<tref>default language</tref> to lowercased <em>value</em>.</li>
@@ -1017,7 +1017,7 @@
<ol class="algorithm">
<li>If <em>defined</em> contains the key <em>term</em>, then the associated
- value MUST be <tref>true</tref>, indicating that the
+ value must be <tref>true</tref>, indicating that the
<tref>term definition</tref> has already been created, so return. Otherwise, a
<code class="error"><a href="#idl-def-JsonLdErrorCode.cyclic-IRI-mapping">cyclic IRI mapping</a></code>
error has been detected.</li>
@@ -1025,7 +1025,7 @@
<tref>false</tref>. This indicates that the <tref>term definition</tref>
is now being created but is not yet complete.</li>
<li>Since <tref title="keyword">keywords</tref> cannot be overridden,
- <em>term</em> MUST NOT be a <tref>keyword</tref>. Otherwise, a
+ <em>term</em> must not be a <tref>keyword</tref>. Otherwise, a
<code class="error"><a href="#idl-def-JsonLdErrorCode.keyword-redefinition">keyword redefinition</a></code>
error has been detected.</li>
<li>Remove any existing <tref>term definition</tref> for <em>term</em> in
@@ -1047,7 +1047,7 @@
<tref>true</tref> for <em>documentRelative</em>,
<tref>local context</tref>, and <em>defined</em>.</li>
<li>If <em>value</em> is a <tref>keyword</tref>, then <em>value</em>
- MUST NOT be <code>@context</code>, if it is, an
+ must not be <code>@context</code>, if it is, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-keyword-alias">invalid keyword alias</a></code>
error has been
detected. Add <em>term</em> to <tref>active context</tref> as a
@@ -1061,7 +1061,7 @@
<tref>true</tref>, and return.</li>
</ol>
</li>
- <li>Otherwise, <em>value</em> MUST be a <tref>JSON object</tref>, if not, an
+ <li>Otherwise, <em>value</em> must be a <tref>JSON object</tref>, if not, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-term-definition">invalid term definition</a></code>
error has been detected.</li>
<li>Create a new <tref>term definition</tref>, <em>definition</em>.</li>
@@ -1133,7 +1133,7 @@
<tref>IRI mapping</tref> for <em>definition</em> to <em>term</em>.</li>
</ol>
</li>
- <li>Otherwise, <tref>active context</tref> MUST have a
+ <li>Otherwise, <tref>active context</tref> must have a
<tref>vocabulary mapping</tref>, if not, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid IRI mapping</a></code>
error been detected. Set the <tref>IRI mapping</tref>
@@ -1142,7 +1142,7 @@
<li>If <em>value</em> contains the key <code>@type</code>:
<ol class="algorithm">
<li>Initialize <em>type</em> to the value associated with the
- <code>@type</code> key, which MUST be a <tref>string</tref>. Otherwise, an
+ <code>@type</code> key, which must be a <tref>string</tref>. Otherwise, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-type-mapping">invalid type mapping</a></code>
error has been detected.</li>
<li>If <em>type</em> is not <code>@id</code> then set it to
@@ -1158,7 +1158,7 @@
<li>If <em>value</em> contains the key <code>@container</code>:
<ol class="algorithm">
<li>Initialize <em>container</em> to the value associated with the
- <code>@container</code> key, which MUST be either:
+ <code>@container</code> key, which must be either:
<code>@list</code>, <code>@set</code>, <code>@index</code>,
or <code>@language</code>. Otherwise, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-container-mapping">invalid container mapping</a></code> error
@@ -1171,7 +1171,7 @@
does not contain the key <code>@type</code>:
<ol class="algorithm">
<li>Initialize <em>language</em> to the value associated with the
- <code>@language</code> key, which MUST be either <tref>null</tref>
+ <code>@language</code> key, which must be either <tref>null</tref>
or a <tref>string</tref>. Otherwise, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-mapping">invalid language mapping</a></code>
error has been detected.</li>
@@ -1337,7 +1337,7 @@
IRI references are treated in the same way that unreserved characters
are treated in URI references, per section 6.5 of [[!RFC3987]].</li>
<li>If <tref>local context</tref> is not <tref>null</tref> then
- <em>result</em> MUST be an <tref>absolute IRI</tref>, if not,
+ <em>result</em> must be an <tref>absolute IRI</tref>, if not,
an <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-IRI-mapping">invalid IRI mapping</a></code>
error has been detected.</li>
<li>Return <em>result</em>.</li>
@@ -1468,7 +1468,7 @@
<tref>active property</tref>, <em>item</em> as <em>element</em>,
and <em>insideList</em>.</li>
<li>If <em>insideList</em> is <tref>true</tref> then
- <em>expanded item</em> MUST NOT be an <tref>array</tref> or a
+ <em>expanded item</em> must not be an <tref>array</tref> or a
<tref>list object</tref>, otherwise a
<code class="error"><a href="#idl-def-JsonLdErrorCode.list-of-lists">list of lists</a></code> error has been detected.</li>
<li>If <em>expanded item</em> is an <tref>array</tref>, append each
@@ -1510,35 +1510,35 @@
an <code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-reverse-property-map">invalid reverse property map</a></code>
error has been detected.</li>
<li>If <em>expanded property</em> is <code>@id</code> then
- <em>value</em> MUST be a <tref>string</tref>, otherwise an
+ <em>value</em> must be a <tref>string</tref>, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--id-value">invalid @id value</a></code>
error has been detected.</li>
<li>If <em>expanded property</em> is <code>@type</code> then
- <em>value</em> MUST be a <tref>string</tref> or an <tref>array</tref>
+ <em>value</em> must be a <tref>string</tref> or an <tref>array</tref>
of strings, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-type-value">invalid type value</a></code>
error has been detected.</li>
<li>If <em>expanded property</em> is <code>@graph</code> then
- <em>value</em> MUST be a <tref>JSON object</tref> or an
+ <em>value</em> must be a <tref>JSON object</tref> or an
<tref>array</tref>, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--graph-value">invalid @graph value</a></code>
error has been detected.</li>
<li>If <em>expanded property</em> is <code>@value</code> then
- <em>value</em> MUST NOT be a <tref>JSON object</tref> or
+ <em>value</em> must not be a <tref>JSON object</tref> or
an <tref>array</tref>, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-value-object-value">invalid value object value</a></code>
error has been detected.</li>
<li>If <em>expanded property</em> is <code>@language</code> then
- <em>value</em> MUST be a <tref>string</tref>, otherwise an
+ <em>value</em> must be a <tref>string</tref>, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-tagged-string">invalid language tagged string</a></code>
error has been detected. Set <em>expanded value</em> to lowercased
<em>value</em>.</li>
<li>If <em>expanded property</em> is <code>@index</code>
- then <em>value</em> MUST be a <tref>string</tref>, otherwise an
+ then <em>value</em> must be a <tref>string</tref>, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--index-value">invalid @index value</a></code>
error has been detected.</li>
<li>If <em>expanded property</em> is <code>@reverse</code> then
- <em>value</em> MUST be a <tref>JSON object</tref>, otherwise an
+ <em>value</em> must be a <tref>JSON object</tref>, otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid--reverse-value">invalid @reverse value</a></code>
error has been detected.</li>
</ol>
@@ -1603,7 +1603,7 @@
<em>language value</em>.</li>
<li>For each <em>item</em> in <em>language value</em>:
<ol class="algorithm">
- <li><em>item</em> MUST be a <tref>string</tref>,
+ <li><em>item</em> must be a <tref>string</tref>,
otherwise an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-language-map-value">invalid language map value</a></code>
error has been detected.</li>
@@ -1663,7 +1663,7 @@
for <em>insideList</em> if <em>expanded property</em> is
<code>@list</code> otherwise <tref>false</tref>.</li>
<li>If <em>expanded property</em> is <code>@list</code>
- then <em>expanded value</em> MUST NOT be a
+ then <em>expanded value</em> must not be a
<tref>list object</tref>, otherwise a
<code class="error"><a href="#idl-def-JsonLdErrorCode.list-of-lists">list of lists</a></code>
error has been detected.</li>
@@ -1724,9 +1724,9 @@
</li>
<li>If <em>result</em> contains the key <code>@value</code>:
<ol class="algorithm">
- <li>The <em>result</em> MUST NOT contain any keys other than
+ <li>The <em>result</em> must not contain any keys other than
<code>@value</code>, <code>@language</code>, <code>@type</code>,
- and <code>@index</code>. It MUST NOT contain both the
+ and <code>@index</code>. It must not contain both the
<code>@language</code> key and the <code>@type</code> key.
Otherwise, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-value-object">invalid value object</a></code>
@@ -1745,8 +1745,8 @@
<li>Otherwise, if <em>result</em> contains the key <code>@set</code>
or <code>@list</code>:
<ol class="algorithm">
- <li>The <em>result</em> MUST contain at most one other key and that
- key MUST be <code>@index</code>. Otherwise, an
+ <li>The <em>result</em> must contain at most one other key and that
+ key must be <code>@index</code>. Otherwise, an
<code class="error"><a href="#idl-def-JsonLdErrorCode.invalid-set-or-list-object">invalid set or list object</a></code>
error has been detected.</li>
<li>If <em>result</em> contains the key <code>@set</code>, then
@@ -2191,7 +2191,7 @@
<code>@index</code> key in <em>expanded item</em> as <em>value</em>.</li>
</ol>
</li>
- <li>Otherwise, <em>item active property</em> MUST NOT be a key
+ <li>Otherwise, <em>item active property</em> must not be a key
in <em>result</em> because there cannot be two
<tref title="list object">list objects</tref> associated
with an <tref>active property</tref> that has a
@@ -3062,7 +3062,7 @@
of <tref>active subject</tref> in <em>activeGraph</em>. Then remove the <code>@type</code> member
from <em>element</em>.</li>
<li>If <em>element</em> has an <code>@index</code> member, set the <code>@index</code>
- of <tref>active subject</tref> in <em>activeGraph</em> to its value. There MUST be no
+ of <tref>active subject</tref> in <em>activeGraph</em> to its value. There must be no
existing member already in <tref>active subject</tref> with a different value, if there
is, then a
<code class="error"><a href="#idl-def-JsonLdErrorCode.conflicting-indexes">conflicting indexes</a></code>
@@ -3145,12 +3145,6 @@
<tref>RDF dataset</tref>. The algorithm below is designed for in-memory
implementations with random access to <tref>JSON object</tref> elements.</p>
- <p>A conforming JSON-LD processor implementing RDF conversion MUST implement a
- processing algorithm that results in the same <tref>RDF dataset</tref> that the
- following algorithm generates. Conformant implementations are only required to
- produce the same <tref>RDF dataset</tref> but are not required to implement the
- algorithm exactly as described.</p>
-
<section class="informative">
<h3>Purpose</h3>
<p>A JSON-LD document needs to be converted to an <tref>RDF dataset</tref>.</p>
@@ -3300,8 +3294,10 @@
<section>
<h3>Algorithm</h3>
- <p>The algorithm takes as its sole argument <em>item</em> which MUST be
+
+ <p>The algorithm takes as its sole argument <em>item</em> which must be
either a <tref>value object</tref> or <tref>node object</tref>.</p>
+
<ol class="algorithm">
<li>If <em>item</em> is a <tref>value object</tref>:
<ol class="algorithm">
@@ -3334,7 +3330,7 @@
<li>Return <em>literal</em>.</li>
</ol>
</li>
- <li>Otherwise, <em>item</em> MUST be a <tref>node object</tref> containing
+ <li>Otherwise, <em>item</em> must be a <tref>node object</tref> containing
only <code>@id</code> having an <tref>IRI</tref> or
<tref>blank node identifier</tref> value. Return that value.</li>
</ol>
@@ -3404,12 +3400,6 @@
<p>This section describes algorithms to transform an <tref>RDF dataset</tref>
into a JSON-LD document.</p>
- <p>A conforming JSON-LD processor implementing RDF conversion MUST implement a
- processing algorithm that results in the same JSON-LD document that the following
- algorithm generates. Conformant implementations are only required to produce
- the same JSON-LD document but are not required to implement the algorithm exactly
- as described.</p>
-
<section class="informative">
<h3>Purpose</h3>
@@ -3422,8 +3412,8 @@
designed to simply translate an array of <tref title="triple">triples</tref>
into a JSON-LD document.</p>
<p>When expanding <tref title="typed value">typed values</tref> having a datatype
- of <code>xsd:string</code>, the <code>@type</code> MUST NOT be set to
- <code>xsd:string</code> and the resulting value MUST have only an
+ of <code>xsd:string</code>, the <code>@type</code> must not be set to
+ <code>xsd:string</code> and the resulting value must have only an
<code>@value</code> property.</p>
</section>