Describe that non-JSON-LD keywords are ignored in context declarations
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Mon, 19 Mar 2012 22:08:01 +0800
changeset 389 438505c09b3a
parent 388 b990c7443f58
child 390 ce3532a7f23a
Describe that non-JSON-LD keywords are ignored in context declarations

Described that non-JSON-LD keywords are ignored in context declarations and thus removed during expansion, compaction, framing, and normalization. I also removed some redundant content.

This closes #82.
spec/latest/json-ld-syntax/index.html
--- a/spec/latest/json-ld-syntax/index.html	Mon Mar 19 21:30:28 2012 +0800
+++ b/spec/latest/json-ld-syntax/index.html	Mon Mar 19 22:08:01 2012 +0800
@@ -565,13 +565,20 @@
 <p>The Web uses <tref title="IRI">IRIs</tref> for unambiguous identification. The
   idea is that these <tref>term</tref>s mean something that may be of use to other developers and that it is useful to
   give them an unambiguous identifier. That is, it is useful for <tref>term</tref>s to expand to IRIs so that
-  developers don't accidentally step on each other's <tref>vocabulary</tref> terms. For example, the term <code>name</code> may
+  developers don't accidentally step on each other's <tdef>vocabulary</tdef> terms. Furthermore, developers, and
+  machines, are able to use this <tref>IRI</tref> (by plugging it directly into a web browser, for instance) to go to
+  the term and get a definition of what the term means. Much like we can use
+  <a href="http://wordnet.princeton.edu/">WordNet</a> today to see the definition of words in the English language.
+  Developers and machines need the same sort of definition of terms. <tref title="IRI">IRIs</tref> provide a way to
+  ensure that these terms are unambiguous. For example, the term <code>name</code> may
   map directly to the IRI <code>http://xmlns.com/foaf/0.1/name</code>. This allows JSON-LD documents to be constructed
   using the common JSON practice of simple name/value pairs while ensuring that the data is useful outside of the
   page, API or database in which it resides. The value of a term mapping
-  MUST be either; 1) a simple string with the lexical form of an absolute
-  <tref>IRI</tref> or, 2) an <tref>JSON object</tref> containing an
-  <code>@id</code>, <code>@type</code>, <code>@language</code>, or <code>@container</code> keyword.
+  MUST be either; 1) a simple string with the lexical form of an <tref>absolute IRI</tref>,
+  a <tref>compact IRI</tref>, or 3) an <tref>JSON object</tref> containing an
+  <code>@id</code>, <code>@type</code>, <code>@language</code>, or <code>@container</code> keyword (all other keywords are
+  ignored by a JSON-LD processor and will thus be lost when <a href="#expansion">expanding</a>,
+  <a href="#compaction">compacting</a>, <a href="#framing">framing</a> and <a href="#normalization">normalizing the document</a>).
 </p>
 
 <p>These Linked Data <tref>term</tref>s are typically collected in a
@@ -684,46 +691,6 @@
 -->
 </pre>
 
-<p>
-  JSON-LD uses a special type of machine-readable document called a
-  <tdef>vocabulary</tdef> to define <tref>term</tref>s that are then used
-  to describe concepts and "things" in the world.
-  Typically, these <tref>vocabulary</tref> documents have <tref>prefix</tref>es
-  associated with them and contain a number of <tref>term</tref> declarations.
-  <tref>Prefix</tref>es are helpful when a developer
-  wants to mix multiple <tref title="vocabulary">vocabularies</tref> together in a <tref>context</tref>, but
-  does not want to go to the trouble of defining every single term in every
-  single vocabulary. Some <tref title="vocabulary">vocabularies</tref> may have dozens of terms defined.
-  If a developer wants to use 3-4 different <tref title="vocabulary">vocabularies</tref>, the number of terms
-  that would have to be declared in a single <tref>context</tref> could become
-  quite large. To reduce the number of different terms that must be defined,
-  JSON-LD also allows prefixes to be used to <tref title="compact_iri">compact IRIs</tref>.
-</p>
-
-<p>For example, the <tref>IRI</tref> <code>http://xmlns.com/foaf/0.1/</code>
-specifies a <tref>vocabulary</tref> which may be represented using the
-<code>foaf</code> <tref>prefix</tref>. The <code>foaf</code> vocabulary
-contains a term called <strong>name</strong>. If you join the
-<code>foaf</code> <tref>prefix</tref> with the <strong>name</strong> suffix,
-you can build a <tref>compact IRI</tref> that will expand out into an <tref>absolute IRI</tref> for the
-<code>http://xmlns.com/foaf/0.1/name</code> <tref>vocabulary</tref> term.
-That is, the compact IRI (or short-form), is <code>foaf:name</code> and the
-expanded-form is <code>http://xmlns.com/foaf/0.1/name</code>. This vocabulary
-term is used to specify a person's name.
-</p>
-
-<p>Developers, and machines, are able to use this <tref>IRI</tref>
-(by plugging it directly into a web browser, for instance) to go to the term
-and get a definition of what the term means. Much like we can use
-<a href="http://wordnet.princeton.edu/">WordNet</a> today to see the definition
-of words in the English language. Developers and machines need the same sort of
-definition of terms. <tref title="IRI">IRIs</tref> provide a way to ensure that these terms
-are unambiguous.
-</p>
-
-<p>The <tref>context</tref> provides a collection of <tref>vocabulary</tref> <tref>term</tref>s
-  that can be used to expand JSON keys and values into <tref title="IRI">IRIs</tref>.</p>
-
 <p class="note">To ensure the best possible performance, it is a best practice to
 put the <tref>context</tref> definition at the top of the JSON-LD document. If it isn't listed
 first, processors have to save each key-value pair until the <tref>context</tref> is processed.