--- a/spec/latest/json-ld-api/index.html Wed Feb 27 18:25:41 2013 +0100
+++ b/spec/latest/json-ld-api/index.html Wed Feb 27 19:09:22 2013 +0100
@@ -437,7 +437,7 @@
-->
</pre>
- <p>Running the <a href="#flattening-algorithm">Flattening Algorithm</a>
+ <p>Running the <a href="#flattening-algorithm">Flattening algorithm</a>
with a context set to <tref>null</tref> to prevent compaction returns
the following document:</p>
@@ -521,7 +521,7 @@
-->
</pre>
- <p>Using the <a href="#convert-from-rdf-algorithm">Convert from RDF Algorithm</a> a
+ <p>Using the <a href="#convert-from-rdf-algorithm">Convert from RDF algorithm</a> a
developer could transform this document into expanded JSON-LD:</p>
<pre class="example" data-transform="updateExample"
@@ -547,7 +547,7 @@
<p>Note that the output above could easily be compacted using the technique outlined
in the previous section. It is also possible to transform the JSON-LD document back
- to RDF using the <a href="#convert-to-rdf-algorithm">Convert to RDF Algorithm</a>.</p>
+ to RDF using the <a href="#convert-to-rdf-algorithm">Convert to RDF algorithm</a>.</p>
</section> <!-- end of RDF Conversion -->
</section> <!-- end of Features section -->
@@ -853,9 +853,9 @@
<p>A <tref>local context</tref> needs to be transformed into an
<tref>active context</tref> so that the <tref>active context</tref> can be
- used when executing other JSON-LD algorithms such as
- <a href="#expansion-algorithm">Expansion</a> or
- <a href="#compaction-algorithm">Compaction</a>. Any remote
+ used when executing other JSON-LD algorithms such as the
+ <a href="#expansion-algorithm">Expansion algorithm</a> or
+ <a href="#compaction-algorithm">Compaction algorithm</a>. Any remote
<tref title="context">contexts</tref> in the <tref>local context</tref>
have already been dereferenced.</p>
</section>
@@ -940,9 +940,9 @@
track of whether or not a <tref>term</tref> has already been defined
or currently being defined during recursion.</li>
<li>For each <em>key</em>-<em>value</em> pair in <em>context</em> where
- <em>key</em> is not <code>@vocab</code> or <code>@language</code>,
- invoke the <a href="#create-term-definition-subalgorithm">Create Term Definition</a>
- subalgorithm, passing <em>result</em> for <tref>active context</tref>,
+ <em>key</em> is not <code>@vocab</code> or <code>@language</code>, invoke the
+ <a href="#create-term-definition-subalgorithm">Create Term Definition subalgorithm</a>,
+ passing <em>result</em> for <tref>active context</tref>,
<em>context</em> for <tref>local context</tref>, <em>key</em>,
and <em>defined</em>.</li>
</ol>
@@ -956,7 +956,7 @@
<h2>Create Term Definition Subalgorithm</h2>
<p>This algorithm is called from the
- <a href="#context-processing">Context Processing</a> algorithm to create
+ <a href="#context-processing">Context Processing algorithm</a> to create
<tref title="term definition">term definitions</tref> in a new
<tref>active context</tref>.</p>
@@ -1025,7 +1025,7 @@
<li>Otherwise, if <em>value</em> is a <tref>string</tref>:
<ol class="algorithm">
<li>Expand <em>value</em> by setting it to the result of
- using the <a href="#iri-expansion">IRI Expansion</a> algorithm,
+ using the <a href="#iri-expansion">IRI Expansion algorithm</a>,
passing <tref>active context</tref>, <em>value</em>,
<tref>true</tref> for <em>vocabRelative</em>,
<tref>true</tref> for <em>documentRelative</em>,
@@ -1059,7 +1059,7 @@
<ol class="algorithm">
<li>If <em>iri</em> is a <tref>string</tref>, then
set <em>iri</em> to the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>iri</em> for <em>value</em>,
<tref>true</tref> for <em>vocabRelative</em>,
<tref>true</tref> for <em>documentRelative</em>,
@@ -1080,7 +1080,7 @@
an <code class="error">invalid IRI mapping</code> error has been
detected. Set the <tref>IRI mapping</tref> for <em>definition</em>
to the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>id</em> for <em>value</em>,
<tref>true</tref> for <em>vocabRelative</em>,
<tref>true</tref> for <em>documentRelative</em>,
@@ -1118,7 +1118,7 @@
has been detected.</li>
<li>If <em>type</em> is not <code>@id</code> then set it to
the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>type</em> for <em>value</em>,
<tref>true</tref> for <em>vocabRelative</em>,
<tref>true</tref> for <em>documentRelative</em>,
@@ -1171,11 +1171,10 @@
<p><tref>IRI</tref> expansion may occur during context processing or during
any of the other JSON-LD algorithms. If IRI expansion occurs during context
processing, then the <tref>local context</tref> and its related
- <em>defined</em> map from the
- <a href="#context-processing">Context Processing</a> algorithm are passed
- to this algorithm. This allows for <tref>term definition</tref> dependencies
- to be processed via the context processing subalgorithm,
- <a href="#create-term-definition-subalgorithm">Create Term Definition</a>.</p>
+ <em>defined</em> map from the <a href="#context-processing">Context Processing algorithm</a>
+ are passed to this algorithm. This allows for <tref>term definition</tref>
+ dependencies to be processed via the
+ <a href="#create-term-definition-subalgorithm">Create Term Definition subalgorithm</a>.</p>
<p>After application of this algorithm, values processed by this algorithm are
said to be in <tdef>expanded IRI form</tdef> (Advanced note: this form
@@ -1203,11 +1202,9 @@
to an <tref>absolute IRI</tref> according to its <tref>IRI mapping</tref>
in the <tref>active context</tref>. While inspecting <em>value</em> we
may also find that we need to create <tref>term definition</tref>
- dependencies because we're running this
- algorithm during <a href="#context-processing">Context Processing</a>. We can
- tell whether or not we're running during
- <a href="#context-processing">Context Processing</a> by checking
- <tref>local context</tref> against <tref>null</tref>.
+ dependencies because we're running this algorithm during context processing.
+ We can tell whether or not we're running during context processing by
+ checking <tref>local context</tref> against <tref>null</tref>.
We know we need to create a <tref>term definition</tref> in the
<tref>active context</tref> when <em>value</em> is
a key in the <tref>local context</tref> and the <em>defined</em> map
@@ -1217,8 +1214,7 @@
which <tref title="term">terms</tref> have already been defined or are
in the process of being defined. We create a
<tref>term definition</tref> by using the
- <a href="#create-term-definition-subalgorithm">Create Term Definition</a>
- subalgorithm.</p>
+ <a href="#create-term-definition-subalgorithm">Create Term Definition subalgorithm</a>.</p>
</section>
<section>
@@ -1244,8 +1240,9 @@
<li>If <tref>local context</tref> is not <tref>null</tref>, it contains
a key that equals <em>value</em>, and the value associated with the key
that equals <em>value</em> in <em>defined</em> is not <tref>true</tref>,
- then invoke the <a href="#create-term-definition-subalgorithm">Create Term Definition</a>
- subalgorithm, passing <tref>active context</tref>, <tref>local context</tref>,
+ then invoke the
+ <a href="#create-term-definition-subalgorithm">Create Term Definition subalgorithm</a>,
+ passing <tref>active context</tref>, <tref>local context</tref>,
<em>value</em> as <em>term</em>, and <em>defined</em>. This will ensure that
a <tref>term definition</tref> is created for <em>value</em> in
<tref>active context</tref> during <a href="#context-processing">Context Processing</a>.
@@ -1279,8 +1276,8 @@
<ol class="algorithm">
<li>If <tref>local context</tref> is not <tref>null</tref> and it
contains a key that equals <tref>prefix</tref>, then invoke the
- <a href="#create-term-definition-subalgorithm">Create Term Definition</a>
- subalgorithm, passing <tref>active context</tref>,
+ <a href="#create-term-definition-subalgorithm">Create Term Definition subalgorithm</a>,
+ passing <tref>active context</tref>,
<tref>local context</tref>, <em>prefix</em> as <em>term</em>,
and <em>defined</em>. This will ensure that a
<tref>term definition</tref> is created for <tref>prefix</tref>
@@ -1303,8 +1300,8 @@
begins with an underscore and colon (<code>_:</code>) then <em>result</em> is a
<tref>blank node identifier</tref>. Set <em>result</em> to the
result of the
- <a href="#generate-blank-node-identifier">Generate Blank Node Identifier</a>
- algorithm, passing <tref>active context</tref> and <em>result</em>
+ <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>,
+ passing <tref>active context</tref> and <em>result</em>
for <em>identifier</em>.</li>
<li>Otherwise, if <em>result</em> does not contain a colon (<code>:</code>),
<em>vocabRelative</em> is <tref>true</tref>, and
@@ -1390,7 +1387,7 @@
<li>If the <em>element</em> is <tref>null</tref>, there is nothing
to expand.</li>
<li>Otherwise, if <em>element</em> is a <tref>scalar</tref>, we expand it
- according to the <a href="#value-expansion">Value Expansion</a> subalgorithm.</li>
+ according to the <a href="#value-expansion">Value Expansion algorithm</a>.</li>
<li>Otherwise, if the <em>element</em> is an <tref>array</tref>, then we expand
each of its items recursively and return them in a new
<tref>array</tref>.</li>
@@ -1402,7 +1399,7 @@
<tref title="keyword">keywords</tref> or simply ignored because
they do not have definitions in the <tref>context</tref>. Any
<tref title="IRI">IRIs</tref> will be expanded using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm.
+ <a href="#iri-expansion">IRI Expansion algorithm</a>.
</li>
</ol>
@@ -1433,11 +1430,11 @@
<li>If <em>insideList</em> is <tref>false</tref> and
either <tref>active property</tref> is <tref>null</tref> or
the result of expanding <tref>active property</tref> using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm is
+ <a href="#iri-expansion">IRI Expansion algorithm </a> is
<code>@graph</code>, then drop the top-level
<tref>scalar</tref> by returning <tref>null</tref>.</li>
<li>Return the result of the
- <a href="#value-expansion">Value Expansion</a> algorithm, passing the
+ <a href="#value-expansion">Value Expansion algorithm</a>, passing the
<tref>active context</tref>, <tref>active property</tref>, and
<em>element</em> as <em>value</em>.</li>
</ol>
@@ -1466,11 +1463,11 @@
<li>Otherwise <em>element</em> is a <tref>JSON object</tref>.</li>
<li>If <em>element</em> contains the key <code>@context</code>, set
<tref>active context</tref> to the result of the
- <a href="#context-processing">Context Processing</a> algorithm,
+ <a href="#context-processing">Context Processing algorithm</a>,
passing <tref>active context</tref> and the value of the
<code>@context</code> key as <tref>local context</tref>.</li>
<li>Initialize <em>expanded active property</em> to the result of the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <tref>active property</tref> for
<em>value</em>, and <tref>true</tref> for <em>vocabRelative</em>.</li>
<li>Initialize an empty <tref>JSON object</tref>, <em>result</em>.</li>
@@ -1483,7 +1480,7 @@
in <tref>active context</tref>, set <em>expanded property</em>
to an array containing its <tref title="IRI">IRIs</tref>.
Otherwise, set <em>expanded property</em> to the result of
- using the <a href="#iri-expansion">IRI Expansion</a> algorithm,
+ using the <a href="#iri-expansion">IRI Expansion algorithm</a>,
passing <tref>active context</tref>, <em>key</em> for
<em>value</em>, and <tref>true</tref> for <em>vocabRelative</em>.</li>
<li>If <em>expanded property</em> is either <tref>null</tref> or
@@ -1622,8 +1619,8 @@
<li>If <em>expanded property</em> is an <tref>array</tref>:
<ol class="algorithm">
<li>Set <em>expanded value</em> to the result of the
- <a href="#label-blank-nodes-subalgorithm">Label Blank Nodes</a>
- subalgorithm, passing <tref>active context</tref> and
+ <a href="#label-blank-nodes-subalgorithm">Label Blank Nodes subalgorithm</a>,
+ passing <tref>active context</tref> and
<em>expanded value</em> as <em>element</em>.</li>
<li>For each item <em>iri</em> in <em>expanded property</em>:
<ol class="algorithm">
@@ -1733,7 +1730,7 @@
<tref>keyword</tref> aliases. Then, for certain
<tref title="keyword">keywords</tref> like <code>@id</code> and
<code>@type</code>, we simply expand <em>value</em>
- using the <a href="#iri-expansion">IRI Expansion</a> algorithm and return
+ using the <a href="#iri-expansion">IRI Expansion algorithm</a> and return
the result.</p>
<p>Next, we check to see if <tref>active property</tref> has a
@@ -1742,7 +1739,7 @@
<code>@type</code> or if the <em>expanded property</em> is <code>@graph</code>
then we return a <tref>JSON object</tref> with a single key-pair of
<code>@id</code> and the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm on <em>value</em>.</p>
+ <a href="#iri-expansion">IRI Expansion algorithm</a> on <em>value</em>.</p>
<p>If we haven't returned yet and the <em>expanded property</em> is a
<tref>keyword</tref>, then there is no special <tref>expansion</tref> to be
@@ -1765,17 +1762,17 @@
<ol class="algorithm">
<li>If <em>value</em> is <tref>null</tref>, then return <tref>null</tref>.</li>
<li>Initialize <em>expanded property</em> to the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <tref>active property</tref> for
<em>value</em>, and <tref>true</tref> for <em>vocabRelative</em>.</li>
<li>If <em>expanded property</em> is <code>@id</code> then return
the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>value</em>, and <tref>true</tref>
for <em>documentRelative</em>.</li>
<li>If <em>expanded property</em> is <code>@type</code> then
return the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>value</em>, <tref>true</tref> for
<em>vocabRelative</em>, and <tref>true</tref> for
<em>documentRelative</em>.</li>
@@ -1785,7 +1782,7 @@
is a <tref>string</tref>, then return a new <tref>JSON object</tref>
containing a single key-value pair where the key is <code>@id</code> and
the value is the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>value</em>, and <tref>true</tref> for
<em>documentRelative</em>.</li>
<li>If <tref>active property</tref> has a <tref>type mapping</tref> in
@@ -1793,7 +1790,7 @@
a new <tref>JSON object</tref> containing a single key-value pair
where the key is <code>@id</code> and the value is the result of
using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>value</em>, <tref>true</tref> for
<em>vocabRelative</em>, and <tref>true</tref> for
<em>documentRelative</em>.</li>
@@ -1808,8 +1805,8 @@
<tref>type mapping</tref>.</li>
<li>If <em>type</em> is a <tref>blank node identifier</tref> (it
begins with <code>_:</code>), then set it to the result of the
- <a href="#generate-blank-node-identifier">Generate Blank Node Identifier</a>
- algorithm, passing <tref>active context</tref> and <em>type</em> for
+ <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>,
+ passing <tref>active context</tref> and <em>type</em> for
<em>identifier</em>.</li>
<li>Add the key-value pair, (<code>@type</code>-<em>type</em>), to
<em>result</em>.</li>
@@ -1871,8 +1868,7 @@
<li>If <em>element</em> has no <code>@id</code> member, i.e., it
represents an unlabeled <em>blank node</em>, add an <code>@id</code>
member to element and set its value to the result of using the
- <a href="#generate-blank-node-identifier">Generate Blank Node Identifier</a>
- algorithm.</li>
+ <a href="#generate-blank-node-identifier">Generate Blank Node Identifier algorithm</a>.</li>
<li>For each <em>key</em>-<em>value</em> pair ordered lexicographically
by <em>key</em>:
<ol class="algorithm">
@@ -1935,14 +1931,14 @@
<em>element</em>. Then, we compact each value in the shallow copy
for each key recursively. Some of the keys will be
compacted, using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a> algorithm,
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
to <tref title="term">terms</tref> or
<tref title="compact IRI">compact IRIs</tref> and others will be
compacted from <tref title="keyword">keywords</tref> to
<tref>keyword</tref> aliases or simply left unchanged because
they do not have definitions in the <tref>context</tref>. Values will
be converted to <tref>compacted form</tref> via the
- <a href="#value-compaction">Value Compaction</a> algorithm. Some data
+ <a href="#value-compaction">Value Compaction algorithm</a>. Some data
will be reshaped based on
<tref title="container mapping">container mappings</tref> specified
in the context such as <code>@index</code> or <code>@language</code>
@@ -1969,7 +1965,7 @@
<a href="#context-processing">Context Processing</a> on the passed
<em>context</em>, the <tref>active property</tref> is set to
<tref>null</tref>, and <em>element</em> is set to the result of performing
- the <a href="#expansion-algorithm">Expansion Algorithm</a> on the
+ the <a href="#expansion-algorithm">Expansion algorithm</a> on the
<tref>JSON-LD input</tref>.</p>
<ol class="algorithm">
@@ -1999,7 +1995,7 @@
<li>If <em>element</em> contains the key <code>@value</code> or
if it contains only one key and that key is <code>@id</code>,
then return the result of using the
- <a href="#value-compaction">Value Compaction</a> algorithm,
+ <a href="#value-compaction">Value Compaction algorithm</a>,
passing <tref>active context</tref>, <tref>active property</tref>,
and <em>element</em> as <em>value</em>.</li>
<li>Create a shallow copy of <em>element</em> and each <tref>array</tref>
@@ -2036,8 +2032,8 @@
<li>If <em>expanded value</em> is a <tref>string</tref>,
then initialize <em>compacted value</em> to the result
of using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref>,
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref>,
<em>expanded value</em> for <em>iri</em>,
and <tref>true</tref> for <em>vocabRelative</em> if
<em>expanded property</em> is <code>@type</code>,
@@ -2050,8 +2046,8 @@
<li>For each item <em>expanded type</em> in
<em>expanded value</em>, append the result of
of using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref>,
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref>,
<em>expanded type</em> for <em>iri</em>, and
<tref>true</tref> for <em>vocabRelative</em>,
to <em>compacted value</em>.</li>
@@ -2061,8 +2057,8 @@
</ol>
</li>
<li>Initialize <em>alias</em> to the result of using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref> and
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref> and
<em>expanded property</em> for <em>iri</em>.</li>
<li>Add the key-value pair,
(<em>alias</em>-<em>compacted value</em>) to
@@ -2081,8 +2077,8 @@
property by continuing to the next
<em>expanded property</em>.</li>
<li>Otherwise, initialize <em>alias</em> to the result of using
- the <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref> and
+ the <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref> and
<em>expanded property</em> for <em>iri</em>.</li>
<li>Add the key-value pair,
(<em>alias</em>-<em>expanded value</em>) to
@@ -2094,8 +2090,8 @@
<ol class="algorithm">
<li>Initialize <em>item active property</em> to the result of
using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref>,
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref>,
<em>expanded property</em> for <em>iri</em>,
<em>expanded value</em> for <em>value</em>,
<tref>true</tref> for <em>vocabRelative</em>, and
@@ -2114,8 +2110,8 @@
For each item <em>expanded item</em> in <em>expanded value</em>:
<ol class="algorithm">
<li>Initialize <em>item active property</em> to the result of using
- the <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref>,
+ the <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref>,
<em>expanded property</em> for <em>iri</em>,
<em>expanded item</em> for <em>value</em>,
<tref>true</tref> for <em>vocabRelative</em>, and
@@ -2127,8 +2123,8 @@
<li>If there is a <tref>term definition</tref> for
<em>item active property</em> in <tref>active context</tref>
that is a <tref>property generator</tref>, then invoke the
- <a href="#find-property-generator-duplicates-subalgorithm">Find Property Generator Duplicates</a>
- algorithm, passing <tref>active context</tref>,
+ <a href="#find-property-generator-duplicates-subalgorithm">Find Property Generator Duplicates algorithm</a>,
+ passing <tref>active context</tref>,
<em>shallow</em> for <em>element</em>,
<em>expanded property</em>, <em>expanded item</em> for
<em>value</em>, <em>item active property</em> for
@@ -2153,16 +2149,16 @@
<tref>list object</tref> by setting it to a
<tref>JSON object</tref> containing key-value pair
where the key is the result of the
- <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref> and
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref> and
<code>@list</code> for <em>iri</em>, and the
value is <em>compacted item</em>.</li>
<li>If <em>expanded item</em> contains the key
<code>@index</code>, then add a key-value pair
to <em>compacted item</em> where the key is the
result of the
- <a href="#iri-compaction-algorithm">IRI Compaction</a>
- algorithm, passing <tref>active context</tref> and
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>,
+ passing <tref>active context</tref> and
<code>@index</code> for <em>iri</em>, and the
value is the value associated with the
<code>@index</code> key in
@@ -2239,7 +2235,7 @@
an <tref>array</tref> with two or more items and a <em>context</em> has
been passed, replace it with a new <tref>JSON object</tref> with a single
key-value pair where the key is the result of using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a> algorithm, passing
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>, passing
<tref>active context</tref> and <code>@graph</code> for <em>iri</em>, and
the value is <em>result</em>. Otherwise, if <em>result</em> is an
<tref>array</tref> with only one item, set <em>result</em> to that item.
@@ -2276,8 +2272,8 @@
<tref title="container mapping">container mappings</tref> and the
<tref>type mapping</tref> or <tref>language mapping</tref> are gathered
for a particular value associated with an <tref>IRI</tref>. These parameters
- are then fed to the <a href="#term-selection-subalgorithm">Term Selection</a>
- subalgorithm, which will find the <tref>term</tref> that most appropriately
+ are then fed to the <a href="#term-selection-subalgorithm">Term Selection subalgorithm</a>,
+ which will find the <tref>term</tref> that most appropriately
matches the value's mappings.</p>
<section class="informative">
@@ -2305,7 +2301,7 @@
<tref>language mapping</tref> (or some combination of these), then it
will have an entry in the <tref>inverse context</tref> using the special
key <code>@none</code>. This allows the
- <a href="#term-selection-subalgorithm">Term Selection</a> subalgorithm to fall back
+ <a href="#term-selection-subalgorithm">Term Selection subalgorithm</a> to fall back
to choosing more generic <tref title="term">terms</tref> when a more
specifically-matching <tref>term</tref> is not available for a particular
<tref>IRI</tref> and value combination.</p>
@@ -2508,7 +2504,7 @@
JSON-LD lists, the <tref>type mapping</tref> or <tref>language mapping</tref>
will be chosen based on the most specific values that work for all items in
the list. Once this information is gathered, it is passed to the
- <a href="#term-selection-subalgorithm">Term Selection</a> subalgorithm, which will
+ <a href="#term-selection-subalgorithm">Term Selection subalgorithm</a>, which will
return the most appropriate <tref>term</tref> to use.</p>
<p>If no <tref>term</tref> was found that could be used to compact the
@@ -2545,9 +2541,9 @@
<li>If <em>vocabRelative</em> is <tref>true</tref> and
<tref>active context</tref> has no associated
<tref>inverse context</tref>, then generate it using the
- <a href="#inverse-context-creation-subalgorithm">Inverse Context Creation</a>
- algorithm. Set <em>inverse context</em> to the
- <tref>inverse context</tref> associated with <tref>active context</tref>.</li>
+ <a href="#inverse-context-creation-subalgorithm">Inverse Context Creation algorithm</a>.
+ Set <em>inverse context</em> to the <tref>inverse context</tref>
+ associated with <tref>active context</tref>.</li>
<li>If <em>vocabRelative</em> is <tref>true</tref> and <em>iri</em> is a
key in <em>inverse context</em>:
<ol class="algorithm">
@@ -2650,7 +2646,7 @@
</ol>
</li>
<li>Initialize <em>term</em> to the result of the
- <a href="#term-selection-subalgorithm">Term Selection</a> subalgorithm, passing
+ <a href="#term-selection-subalgorithm">Term Selection subalgorithm</a>, passing
<tref>active context</tref>, <em>inverse context</em>, <em>iri</em>,
<em>value</em>, <em>parent</em>, <em>containers</em>,
<em>typeOrLanguage</em>, and <em>typeOrLanguageValue</em>.</li>
@@ -2716,7 +2712,7 @@
<h2>Term Selection Subalgorithm</h2>
<p>This subalgorithm, invoked via the
- <a href="#iri-compaction-algorithm">IRI Compaction</a> algorithm, makes use
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>, makes use
of an <tref title="active context">active context's</tref>
<tref>inverse context</tref> to find the <tref>term</tref> that is best
used to <tref title="compaction">compact</tref> an <tref>IRI</tref>. Other
@@ -2794,7 +2790,7 @@
<code>@id</code>:
<ol class="algorithm">
<li>If the result of using the
- <a href="#iri-compaction-algorithm">IRI compaction</a> algorithm,
+ <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
passing <tref>active context</tref>, the value associated with the
<code>@id</code> key in <em>value</em> for
<em>iri</em>, <tref>true</tref> for <em>vocabRelative</em>, and
@@ -2837,8 +2833,8 @@
<em>selected term</em> is <tref>null</tref>:
<ol class="algorithm">
<li>Initialize <em>match</em> to the result of using the
- <a href="#find-property-generator-duplicates-subalgorithm">Find Property Generator Duplicates</a>
- algorithm, passing <tref>active context</tref>,
+ <a href="#find-property-generator-duplicates-subalgorithm">Find Property Generator Duplicates algorithm</a>,
+ passing <tref>active context</tref>,
<em>parent</em> for <em>element</em>, <em>iri</em> for
<em>expanded property</em>, <em>value</em>,
<em>propertyGeneratorTerm</em> for <em>activeProperty</em>,
@@ -2901,7 +2897,7 @@
<p>For the latter case, where the key <code>@id</code> appears in <em>value</em>,
we compact the associated value using the
- <a href="#iri-compaction-algorithm">IRI Compaction</a> algorithm, and
+ <a href="#iri-compaction-algorithm">IRI Compaction algorithm</a>, and
use its value if the <tref>type mapping</tref> associated with the
<tref>active property</tref> is <code>@id</code> or the expanded value for
the <tref>active property</tref> is <code>@graph</code>. Otherwise, we
@@ -2945,31 +2941,31 @@
<li>Initialize <em>result</em> to an empty <tref>JSON object</tref>.</li>
<li>If <em>preserveIndex</em> is <tref>true</tref>, then add
a key-value pair to <em>result</em> where the key is the result
- using the <a href="#iri-compaction-algorithm">IRI compaction</a>
- algorithm, passing <tref>active context</tref> and
+ using the <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
+ passing <tref>active context</tref> and
<code>@index</code> for <em>iri</em>, and the value is
the value associated with the <code>@index</code> key in
<em>value</em>.</li>
<li>If <em>value</em> contains the key <code>@type</code>, then add
a key-value pair to <em>result</em> where the key is the result
- using the <a href="#iri-compaction-algorithm">IRI compaction</a>
- algorithm, passing <tref>active context</tref> and
+ using the <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
+ passing <tref>active context</tref> and
<code>@type</code> for <em>iri</em>, and the value is the result
- of using the <a href="#iri-compaction-algorithm">IRI compaction</a>
- algorithm, passing <tref>active context</tref>, the value associated
+ of using the <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
+ passing <tref>active context</tref>, the value associated
with the <code>@type</code> key in <em>value</em> for <em>iri</em>,
and <tref>true</tref> for <em>vocabRelative</em>.</li>
<li>Otherwise, if <em>value</em> contains the key <code>@language</code>,
then add a key-value pair to <em>result</em> where the key is the
result using the
- <a href="#iri-compaction-algorithm">IRI compaction</a>
- algorithm, passing <tref>active context</tref> and
+ <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
+ passing <tref>active context</tref> and
<code>@language</code> for <em>iri</em>, and the value is the
value associated with the <code>@language</code> key in
<em>value</em>.</li>
<li>Add a key-value pair to <em>result</em> where the key is the result
- using the <a href="#iri-compaction-algorithm">IRI compaction</a>
- algorithm, passing <tref>active context</tref> and
+ using the <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
+ passing <tref>active context</tref> and
<code>@value</code> for <em>iri</em>, and the value is the value
associated with the <code>@value</code> key in <em>value</em>.</li>
<li>Return <em>result</em>.</li>
@@ -2977,11 +2973,11 @@
</li>
<li>Otherwise, <em>value</em> must contain the single key <code>@id</code>.
Initialize <em>expanded property</em> to the result of using the
- <a href="#iri-expansion">IRI Expansion</a> algorithm, passing
+ <a href="#iri-expansion">IRI Expansion algorithm</a>, passing
<tref>active context</tref>, <em>value</em>, and
<tref>true</tref> for <em>vocabRelative</em>.</li>
<li>Initialize <em>term</em> to the result of using the
- <a href="#iri-compaction-algorithm">IRI compaction</a> algorithm,
+ <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
passing <tref>active context</tref>, the value associated with
the key <code>@id</code> in <em>value</em> for <em>iri</em>, and
<tref>true</tref> for <em>vocabRelative</em> if
@@ -2993,8 +2989,8 @@
<code>@graph</code>, then return <em>term</em>.</li>
<li>Initialize <em>result</em> to an empty <tref>JSON object</tref>. Add
a key-value pair to <em>result</em> where the key is the result of
- using the <a href="#iri-compaction-algorithm">IRI compaction</a>
- algorithm, passing <tref>active context</tref>, and <code>@id</code> for
+ using the <a href="#iri-compaction-algorithm">IRI compaction algorithm</a>,
+ passing <tref>active context</tref>, and <code>@id</code> for
<em>iri</em>, and the value is <em>term</em>.</li>
<li>Return <em>result</em>.</li>
</ol>
@@ -3307,12 +3303,12 @@
<li>Expand <em>element</em> according the
<a href="#expansion-algorithm">Expansion algorithm</a>.</li>
<li>Generate a <em>nodeMap</em> according the
- <a href="#node-map-generation">Node Map Generation Subalgorithm</a>.</li>
+ <a href="#node-map-generation">Node Map Generation subalgorithm</a>.</li>
<li>Initialize an empty <tref>RDF dataset</tref> <em>dataset</em>.</li>
<li>For each <em>graph name</em> and <em>graph</em> in <em>nodeMap</em>:
<ol class="algorithm">
<li>Retrieve <em>triples</em> using the
- <a href="#nodemap-rdf">Node Map to RDF Subalgorithm</a>.</li>
+ <a href="#nodemap-rdf">Node Map to RDF subalgorithm</a>.</li>
<li>If <em>graph name</em> is <code>@default</code>, add
<em>triples</em> to the <tref>default graph</tref> in <em>dataset</em>.</li>
<li>Otherwise, create a <tref>named graph</tref> in <em>dataset</em>
@@ -3328,15 +3324,15 @@
<h3>Node Map to RDF Subalgorithm</h3>
<p>This algorithm takes the a <em>Node Map</em> for a particular graph as generated
- by the <a href="#node-map-generation">Node Map Generation Subalgorithm</a>
+ by the <a href="#node-map-generation">Node Map Generation subalgorithm</a>
and returns a set of <em>RDF triples</em>.</p>
<section class="informative">
<h3>Purpose</h3>
<p>Given a set of <tref title="node">nodes</tref> associated with a
- <tref>JSON-LD graph</tref> as obtained from the <a href="">Node Map Generation</a>
- algorithm, transform each <tref>node</tref> into one or more <tref
- title="RDF triple">RDF triples</tref>.</p>
+ <tref>JSON-LD graph</tref> as obtained from the
+ <a href="#node-map-generation">Node Map Generation algorithm</a>,
+ transform each <tref>node</tref> into one or more <tref title="RDF triple">RDF triples</tref>.</p>
</section>
<section class="informative">
@@ -3352,7 +3348,7 @@
<tref title="list">Lists</tref> are transformed into an
<tref
href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF Collection</tref>
- using the <a href="#list-conversion">List to RDF Conversion Subalgorithm.</a></p>
+ using the <a href="#list-conversion">List to RDF Conversion subalgorithm.</a></p>
</section>
<section>
@@ -3390,7 +3386,7 @@
<li>Otherwise, <em>item</em> is a <tref>value object</tref>
or a <tref>node object</tref>. Generate <em>object</em> as
the result of the
- <a href="#rdf-object-conversion">Object to RDF Conversion Subalgorithm</a>
+ <a href="#rdf-object-conversion">Object to RDF Conversion subalgorithm</a>
passing <em>item</em>. Append a <tref>triple</tref> composed of
<em>subject</em>, <em>property</em>, and <em>object</em> to
<em>result</em>.</li>
@@ -3513,10 +3509,9 @@
for each entry in <em>list</em>.</li>
<li>For each pair of <em>subject</em> from <em>array</em> and <em>item</em> from <em>list</em>:
<ol class="algorithm">
- <li>Generate <em>object</em> as
- the result of the <a href="#rdf-object-conversion">Object to
- RDF Conversion Subalgorithm</a> passing <em>item</em>. Append a
- <tref>triple</tref> composed of <em>subject</em>,
+ <li>Generate <em>object</em> as the result of the
+ <a href="#rdf-object-conversion">Object to RDF Conversion subalgorithm</a>
+ passing <em>item</em>. Append a <tref>triple</tref> composed of <em>subject</em>,
<code>rdf:first</code>, and <em>object</em> to <em>list triples</em>.</li>
<li>Set <em>rest</em> as the next entry in <em>array</em>, or if that
does not exist, <code>rdf:nil</code>. Append a
@@ -3597,8 +3592,9 @@
use the entry in <em>graph.listMap</em> identified by
<em>subject</em>, initializing it to a new <tref>JSON object</tref>
if necessary. Represent <em>object</em> in <tref>expanded
- form</tref>, as described in <a href="#value-expansion">Value
- Expansion</a>. Add the resulting <em>object representation</em> to
+ form</tref>, as described in the
+ <a href="#value-expansion">Value Expansion algorithm</a>.
+ Add the resulting <em>object representation</em> to
the entry indexed by <em>first</em>, and skip to the next
<tref>triple</tref>.</li>
<li>If <em>predicate</em> is <code>rdf:rest</code>:
@@ -3675,7 +3671,7 @@
expressed in <tref>expanded IRI form</tref> and let <em>object
representation</em> be <em>object</em> represented in
<tref>expanded form</tref> as described in <a
- href="#value-expansion">Value Expansion</a>.</li>
+ href="#value-expansion">Value Expansion algorithm</a>.</li>
<li>If <em>object</em> is a <tref>blank node</tref>,
use the entry in <em>graph.listMap</em> indexed by
<em>object</em>, initializing it to a new <tref>JSON
@@ -3816,7 +3812,7 @@
<dt>void expand()</dt>
<dd>
<a href="#expansion">Expands</a> the given <code>input</code> according to
- the steps in the <a href="#expansion-algorithm">Expansion Algorithm</a>.
+ the steps in the <a href="#expansion-algorithm">Expansion algorithm</a>.
<dl class="parameters">
<dt>(object or object[] or DOMString) input</dt>
@@ -3836,7 +3832,7 @@
<dd>
<a href="#compaction">Compacts</a> the given <code>input</code> using the
<code>context</code> according to the steps in the
- <a href="#compaction-algorithm">Compaction Algorithm</a>.
+ <a href="#compaction-algorithm">Compaction algorithm</a>.
<dl class="parameters">
<dt>(object or object[] or DOMString) input</dt>
@@ -3861,7 +3857,7 @@
<dd>
<a href="#flattening">Flattens</a> the given <code>input</code> and
<a href="#compaction">compacts</a> it using the passed <code>context</code>
- according to the steps in the <a href="#flattening-algorithm">Flattening Algorithm</a>.
+ according to the steps in the <a href="#flattening-algorithm">Flattening algorithm</a>.
<dl class="parameters">
<dt>(object or object[] or DOMString) input</dt>
@@ -3976,7 +3972,7 @@
<dd>A context that is used to initialize the active context when expanding a document.</dd>
<dt>boolean optimize = false</dt>
<dd>If set to <code>true</code>, the JSON-LD processor is allowed to
- optimize the output of the <a href="#compaction-algorithm">Compaction Algorithm</a>
+ optimize the output of the <a href="#compaction-algorithm">Compaction algorithm</a>
to produce even compacter representations. The algorithm for compaction
optimization is beyond the scope of this specification and thus
not defined. Consequently, different implementations MAY implement