Dropped all references to "JSON-LD processor" from the text.
authorFrançois Daoust <francois@joshfire.com>
Fri, 09 Nov 2012 15:06:19 +0100
changeset 956 97497a720b32
parent 955 b82bdd175e94
child 957 11e9b7e41859
Dropped all references to "JSON-LD processor" from the text.

There remains one occurrence in a note on low-memory footprint
JSON-LD processors, but it is self-explanatory. Also another one
in the Microformat appendix but I'm not clear what the sentence
actually means.
--- a/spec/latest/json-ld-syntax/index.html	Thu Nov 08 14:04:26 2012 +0100
+++ b/spec/latest/json-ld-syntax/index.html	Fri Nov 09 15:06:19 2012 +0100
@@ -538,21 +538,19 @@
 developers use the same IRI to describe a property, they are more than likely
 expressing the same concept. This allows both developers to re-use each others'
 data without having to agree to how their data will interoperate on a
-site-by-site basis. Contexts may also contain type information
-for certain <tref title="term">terms</tref> as well as other processing instructions for
-the JSON-LD processor.</p>
+site-by-site basis. Contexts may also contain type, language or additional information
+for certain <tref title="term">terms</tref>.</p>
 <p>External JSON-LD context documents may contain extra information
 located outside of the <code>@context</code> key, such as documentation about the
-<tref title="term">terms</tref> declared in the document. When importing a
-<code>@context</code> value from an external JSON-LD context document,
-<tref title="JSON-LD processor">JSON-LD processors</tref> MUST discard
-information contained outside of the <code>@context</code> value.</p>
+<tref title="term">terms</tref> declared in the document. Information contained
+outside of the <code>@context</code> value is simply discarded when the document
+is used as an external JSON-LD context document
+(see <a href="#referencing-contexts-from-json-documents"></a>).</p>
 <p>Contexts may also be specified in-line. This ensures that
-  <tref title="JSON-LD document">JSON-LD documents</tref>
-  can be processed when a <tref>JSON-LD processor</tref> does not have access to
-  the Web.</p>
+  <tref title="JSON-LD document">JSON-LD documents</tref> can be understood
+  even in the absence of a connection to the Web.</p>
 <pre class="example" data-transform="updateExample"
      title="In-line context definition">
@@ -581,8 +579,8 @@
 <p>Contexts may be used at any time a <tref>node definition</tref> is defined.
   A <tref>node definition</tref> may specify multiple contexts, using an
-  <tref>array</tref>, which <tref title="JSON-LD processor">JSON-LD processors</tref>
-  process in order. This is useful when an author would like to use an existing context
+  <tref>array</tref>, processed in order.
+  This is useful when an author would like to use an existing context
   and add application-specific terms to the existing context. Duplicate context
   <tref title="term">terms</tref> are overridden using a last-defined-overrides
@@ -615,8 +613,9 @@
   legacy applications that depend on the specific structure of the
   <tref>JSON object</tref>. If a <tref>term</tref> is re-defined within a
   context, all previous rules associated with the previous definition are
-  removed. A <tref>term</tref> defined in a previous context MUST be removed
-  by the <tref>JSON-LD processor</tref> if it is re-defined to <code>null</code>.</p>
+  removed. If that <tref>term</tref> is re-defined to <code>null</code>,
+  the <tref>term</tref> is effectively removed from the list of
+  <tref title="term">terms</tref> defined in the <tref>active context</tref>.</p>
 <p>The set of contexts defined within a specific <tref>node definition</tref> are
   referred to as <tdef title="local context">local contexts</tdef>. Setting the context to <code>null</code>
@@ -698,8 +697,7 @@
   <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>
+    key position in a <tref>JSON object</tref> that have a mapping in the <tref>active context</tref> expand to an <tref>IRI</tref>. 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
@@ -752,7 +750,7 @@
-<p><tref title="term">Terms</tref> are case sensitive, and MUST be matched by a <tref>JSON-LD processor</tref> using a case-sensitive comparison.</p>
+<p><tref title="term">Terms</tref> are case sensitive.</p>
 <p>JSON keys that do not expand to an absolute IRI are ignored, or removed
 in some cases, by the [[JSON-LD-API]]. However, JSON keys that do not include
@@ -850,7 +848,7 @@
 <p>In the example above, even though the value
 <code>http://manu.sporny.org/</code> is expressed as a JSON
 <tref>string</tref>, the type <tref>coercion</tref> rules will transform
-the value into an IRI when processed by a JSON-LD Processor.</p>
+the value into an IRI when generating the <tref>JSON-LD graph</tref>.</p>
@@ -1049,8 +1047,7 @@
   <h2>JSON-LD Syntax</h2>
   <p>A <tref>JSON-LD document</tref> is first, and foremost, a JSON document
-    (as defined in [[!RFC4627]]), and any syntactically correct JSON document
-    MUST be processed by a conforming <tref>JSON-LD processor</tref>. However, JSON-LD
+    (as defined in [[!RFC4627]]). However, JSON-LD
     describes a specific syntax to use for expressing Linked Data. This
     includes the use of specific keywords, as identified in <a
     href="#syntax-tokens-and-keywords"></a> for
@@ -1111,8 +1108,7 @@
     prepending the mapped <em>prefix</em> to the (possibly empty) <em>suffix</em>
     using textual concatenation.  If no prefix mapping is defined, the value is interpreted
     as an <tref>absolute IRI</tref>. If the prefix is an underscore
-    (<code>_</code>), the IRI remains unchanged. This effectively means that every term
-    containing a colon will be interpreted by a JSON-LD processor as an IRI.
+    (<code>_</code>), the IRI remains unchanged.
   <p>Consider the following example:</p>
   <pre class="example" data-transform="updateExample"
@@ -1553,8 +1549,7 @@
 <p><tref title="term">Terms</tref> or <tref title="compact_iri">compact IRIs</tref> used as the value of a
   <code>@type</code> key may be defined within the same context. This means that one may specify a
   <tref>term</tref> like <code>xsd</code> and then use <code>xsd:integer</code> within the same
-  context definition - the JSON-LD processor will be able to determine the proper expansion for
-  <code>xsd:integer</code>.</p>
+  context definition.</p>
 <p>The example below demonstrates how a JSON-LD author can coerce values to
 <tref title="typed value">typed values</tref>, IRIs and lists.</p>
@@ -1706,8 +1701,8 @@
 <p>Unfortunately, the approach above produces redundant data and would become a
 publishing burden for large data sets.
 In these situations, the author may use
-a <tdef>property generator</tdef> to express a <tref>term</tref> once, but have
-the JSON-LD processor expand the single statement into multiple statements.
+a <tdef>property generator</tdef> to express a <tref>term</tref> that maps to
+multiple <tref title="property">properties</tref> in the <tref>JSON-LD graph</tref>.
 This method can be accomplished by using the following markup pattern:</p>
 <pre class="example" data-transform="updateExample"
@@ -1727,8 +1722,7 @@
 <p>While the term above is only used once outside of the <code>@context</code>,
-a JSON-LD processor will internally transform the document above into
-the following set of statements:</p>
+the document above is equivalent to the following set of statements:</p>
 <pre class="example" data-transform="updateExample">
@@ -1841,8 +1835,8 @@
 <tref>IRI</tref> for the <tref>term</tref> (using short-form) as well as the
 <code>@type</code> associated with the <tref>term</tref>. In the second
 approach, only the <code>@type</code> associated with the <tref>term</tref> is
-specified. The JSON-LD processor will derive the full <tref>IRI</tref> for
-<code>foaf:homepage</code> by looking up the <code>foaf</code>
+specified. The full <tref>IRI</tref> for
+<code>foaf:homepage</code> is determined by looking up the <code>foaf</code>
 <tref>prefix</tref> in the
@@ -1878,10 +1872,9 @@
 In order for the <tref>absolute IRI</tref> to match above, the <tref>absolute IRI</tref> needs to be used in the <tref>JSON-LD document</tref>. Also note that <code>foaf:homepage</code>
 will not use the <code>{ "@type": "@id" }</code> declaration because
 <code>foaf:homepage</code> is not the same as
-<code>http://xmlns.com/foaf/0.1/homepage</code>. That is, a <tref>JSON-LD
-processor</tref> will use direct string comparison when looking up
-<tref title="term">terms</tref> in a <tref>context</tref> before it applies the
-<tref>prefix</tref> lookup mechanism.
+<code>http://xmlns.com/foaf/0.1/homepage</code>. That is, <tref title="term">terms</tref>
+are looked up in a <tref>context</tref> using direct string comparison before the
+<tref>prefix</tref> lookup mechanism is applied.
 <p>The only exception for using terms in the <tref>context</tref> is that
@@ -2041,7 +2034,6 @@
 <p class="note">List of lists are not allowed in this version of JSON-LD.
-  If a list of lists is detected, a JSON-LD processor will throw an exception.
   This decision was made due to the extreme amount of added complexity when
   processing lists of lists.</p>
@@ -2057,8 +2049,7 @@
   contains a single value.</p>
 <p class="note">The use of <code>@container</code> in the body of a JSON-LD
-  document, i.e., outside <code>@context</code> MUST be ignored by
-  JSON-LD processors.</p>
+  document has no meaning and is not allowed by the JSON-LD grammar (see <a href="#json-ld-grammar"></a>).</p>
@@ -2468,11 +2459,6 @@
 <p>This appendix restates the syntactic conventions described in the
   previous sections more formally.</p>
-<p>A <tref>JSON-LD processor</tref> SHOULD attempt to process non-conforming
-  <tref title="JSON-LD document">JSON-LD documents</tref>. Conformance violations
-  MUST be reported through a conformance violation callback mechanism defined in
-  the [[JSON-LD-API]].</p>
 <p class="note">The JSON-LD context allows <tref title="keyword">keywords</tref>
   to be aliased within the <tref>active context</tref> (see
   <a href="#aliasing-keywords"></a>). Whenever a <tref>keyword</tref> is
@@ -2520,13 +2506,13 @@
 <h3>Node Definition</h3>
 <p>A <tdef>node definition</tdef> represents one or more properties of a
-  <tref>node</tref> in the <tref>JSON-LD graph</tref> produced by
-  <tref title="JSON-LD processor">JSON-LD processors</tref> during expansion.
+  <tref>node</tref> in the <tref>JSON-LD graph</tref> serialized by the
+  <tref>JSON-LD document</tref>.
   The properties of a <tref>node</tref> in the <tref>JSON-LD graph</tref>
   may be spread among different <tref title="node definition">node definitions</tref>
-  within a document or even between different documents. When that happens,
-  a <tref>JSON-LD processor</tref> merges these properties during expansion to
-  create the <tref>node</tref> (see expansion algorithm in [[!JSON-LD-API]]).</p>
+  within a document. When that happens,
+  the keys of the different <tref title="node definition">node definitions</tref>
+  are merged to create the properties of the resulting <tref>node</tref>.</p>
 <p>In a JSON-LD document, a <tref>JSON object</tref> is a
   <tref>node definition</tref> if it does not contain the keys
@@ -2596,11 +2582,6 @@
   See <a href="#specifying-the-type"></a> for further discussion on
   <code>@type</code> values.</p>
-<p>A <tref>JSON-LD processor</tref> SHOULD process non-conforming documents
-  having <code>@type</code> values including <tref>node definition</tref> or
-  <tref>node reference</tref> entries but MUST
-  discard everything except for the value of the <code>@id</code> key.
 <pre class="example" data-transform="updateExample"
      title="Node definition with @type">
@@ -2735,8 +2716,7 @@
 <section id="grammar-term-reference">
   <p>A <tdef>term</tdef> is a short-hand <tref>string</tref> that expands
-    to an <tref>IRI</tref> or an <tref>unlabeled node</tref> identifier when
-    processed by a <tref>JSON-LD processor</tref>.</p>
+    to an <tref>IRI</tref> or an <tref>unlabeled node</tref> identifier.</p>
   <p>A <tref>term</tref> MUST NOT equal any of the JSON-LD
     <tref title="keyword">keywords</tref>.</p>