--- a/spec/latest/json-ld-syntax/index.html Sun Jan 22 18:32:12 2012 -0500
+++ b/spec/latest/json-ld-syntax/index.html Mon Jan 23 20:47:56 2012 +0800
@@ -324,7 +324,7 @@
allows one to easily add meaning by simply adding or referencing a context.
The syntax is designed to not disturb already deployed systems
running on JSON, but provide a smooth upgrade path from JSON to JSON-LD with
-added semantics. Finally, the format is intended to be easy to parse, efficient
+added semantics. Finally, the format is intended to be easy to parse, efficient
to generate, and only requires a very small memory footprint in order to operate.
</p>
@@ -347,7 +347,7 @@
<p>This specification does not describe the programming interfaces for the
JSON-LD Syntax. The specification that describes the programming interfaces
-for JSON-LD documents is the JSON-LD Application Programming Interface
+for JSON-LD documents is the JSON-LD Application Programming Interface
[[JSON-LD-API]].</p>
<p>
@@ -398,39 +398,39 @@
<dl>
<dt><code>@context</code></dt>
- <dd>Used to define the short-hand names that are used throughout a JSON-LD
+ <dd>Used to define the short-hand names that are used throughout a JSON-LD
document. These short-hand names are called <tref>term</tref>s and help
developers express specific identifiers in a compact manner. The
<code>@context</code> keyword is described in detail in the section titled
<a href="#the-context">The Context</a>.</dd>
<dt><code>@id</code></dt>
<dd>Used to uniquely identify things that are being described in the document.
- This keyword is described in the section titled
+ This keyword is described in the section titled
<a href="#identifying-the-subject">Identifying the Subject</a>.</dd>
<dt><code>@value</code></dt>
- <dd>Used to specify the data that is associated with a particular
- <tref>property</tref> in the graph. This keyword is described
- in the sections titled
+ <dd>Used to specify the data that is associated with a particular
+ <tref>property</tref> in the graph. This keyword is described
+ in the sections titled
<a href="#string-internationalization">String Internationalization</a> and
<a href="#typed-values">Typed Values</a>.</dd>
<dt><code>@language</code></dt>
- <dd>Used to specify the native language for a particular value.
- This keyword is described in the section titled
+ <dd>Used to specify the native language for a particular value.
+ This keyword is described in the section titled
<a href="#string-internationalization">String Internationalization</a>.</dd>
<dt><code>@type</code></dt>
- <dd>Used to set the data type of a <tref>subject</tref> or
+ <dd>Used to set the data type of a <tref>subject</tref> or
<tref>typed value</tref>.
- This keyword is described in the section titled
+ This keyword is described in the section titled
<a href="#typed-values">Typed Values</a>.</dd>
<dt><code>@list</code></dt>
<dd>Used to express an ordered set of data.
- This keyword is described in the section titled
+ This keyword is described in the section titled
<a href="#lists">Lists</a>.</dd>
<dt><code>:</code></dt>
- <dd>The separator for JSON keys and values that use the
+ <dd>The separator for JSON keys and values that use the
<tref>prefix</tref> mechanism.</dd>
</dl>
-
+
<p>For the avoidance of doubt, all keys, keywords and values in JSON-LD are
case-sensitive.</p>
</section>
@@ -565,27 +565,27 @@
developers don't accidentally step on each other's <tref>vocabulary</tref> terms. 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
+ 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>, or <code>@list</code> keyword.
</p>
-<p>These Linked Data <tref>term</tref>s are typically collected in a
+<p>These Linked Data <tref>term</tref>s are typically collected in a
context document that would look something like this:</p>
<pre class="example" data-transform="updateExample">
<!--
{
- "@context":
+ "@context":
{
"name": "http://xmlns.com/foaf/0.1/name",
- "depiction":
+ "depiction":
{
"@id": "http://xmlns.com/foaf/0.1/depiction",
"@type": "@id"
},
- "homepage":
+ "homepage":
{
"@id": "http://xmlns.com/foaf/0.1/homepage",
"@type": "@id"
@@ -628,15 +628,15 @@
<pre class="example" data-transform="updateExample">
<!--
{
- ****"@context":
+ ****"@context":
{
"name": "http://xmlns.com/foaf/0.1/name",
- "depiction":
+ "depiction":
{
"@id": "http://xmlns.com/foaf/0.1/depiction",
"@type": "@id"
},
- "homepage":
+ "homepage":
{
"@id": "http://xmlns.com/foaf/0.1/homepage",
"@type": "@id"
@@ -652,17 +652,17 @@
<p>Contexts MAY be used at any time a <tref>JSON object</tref> is defined.
A <tref>JSON object</tref> MAY specify multiple contexts, using an
<tref>array</tref>, which is processed in array-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>term</tref>s MUST be overridden using a last-defined-overrides
+ when an author would like to use an existing context and add
+ application-specific terms to the existing context. Duplicate context
+ <tref>term</tref>s MUST be overridden using a last-defined-overrides
mechanism.</p>
<p>
The set of contexts defined within a specific <tref>JSON Object</tref> are
- referred to as <tdef>local context</tdef>s. The
- <tdef>active context</tdef> refers to the accumulation of
- <tref>local context</tref>s that are in scope at a specific point within
- the document. The following example specifies an external context and then
+ referred to as <tdef>local context</tdef>s. The
+ <tdef>active context</tdef> refers to the accumulation of
+ <tref>local context</tref>s that are in scope at a specific point within
+ the document. The following example specifies an external context and then
layers a local context on top of the external context:</p>
<pre class="example" data-transform="updateExample">
@@ -685,15 +685,15 @@
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
+ 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 Web Vocabularies 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,
+ 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 compact IRIs.
</p>
@@ -709,9 +709,9 @@
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
+<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. IRIs provide a way to ensure that these terms
@@ -732,7 +732,7 @@
<section>
<h3>From JSON to JSON-LD</h3>
-<p>If a set of <tref>term</tref>s such as, <strong>name</strong>,
+<p>If a set of <tref>term</tref>s such as, <strong>name</strong>,
<strong>homepage</strong>, and <strong>depiction</strong>,
are defined in a <tref>context</tref>, and that context is used to resolve the
names in JSON objects, machines are able to automatically expand the terms to
@@ -753,10 +753,10 @@
<p class="note">The example above does not use the <code>@id</code> keyword
to set the <tref>subject</tref> of the node being described above. This type
-of node is called an <tdef>unlabeled node</tdef> and is considered to be
+of node is called an <tdef>unlabeled node</tdef> and is considered to be
a weaker form of <tref>Linked Data</tref>. It is advised that all nodes
-described in JSON-LD are given unique identifiers via the
-<code>@id</code> keyword unless the data is not intended to be linked to
+described in JSON-LD are given unique identifiers via the
+<code>@id</code> keyword unless the data is not intended to be linked to
from other data sets.</p>
</section>
@@ -766,19 +766,19 @@
<section>
<h1>Basic Concepts</h1>
-<p>JSON-LD is designed to ensure that <tref>Linked Data</tref> concepts can be
-marked up in a way that is simple to understand and create by Web authors.
-In many cases, regular JSON markup can become Linked Data with the
-simple addition of a <tref>context</tref>. As more JSON-LD features are
+<p>JSON-LD is designed to ensure that <tref>Linked Data</tref> concepts can be
+marked up in a way that is simple to understand and create by Web authors.
+In many cases, regular JSON markup can become Linked Data with the
+simple addition of a <tref>context</tref>. As more JSON-LD features are
used, more semantics are added to the JSON markup.</p>
<section>
<h2>IRIs</h2>
-<p>Expressing <tref>IRI</tref>s are fundamental to <tref>Linked Data</tref>
-as that is how most <tref>subject</tref>s, all
-<tref title="property">properties</tref> and many <tref>object</tref>s are
-identified. <tref>IRI</tref>s can be expressed in a variety of different ways
+<p>Expressing <tref>IRI</tref>s are fundamental to <tref>Linked Data</tref>
+as that is how most <tref>subject</tref>s, all
+<tref title="property">properties</tref> and many <tref>object</tref>s are
+identified. <tref>IRI</tref>s can be expressed in a variety of different ways
in JSON-LD.</p>
<ol>
@@ -792,7 +792,7 @@
</ol>
<p>IRIs may be represented as an absolute IRI, an IRI that is relative to the
-base location of the document, a <tref>term</tref>, or a
+base location of the document, a <tref>term</tref>, or a
<tref>prefix</tref>:suffix construct.</p>
<p>IRIs can be expressed directly in the key position like so:</p>
@@ -857,9 +857,9 @@
-->
</pre>
-<p class="note">Specifying a <tref>JSON Object</tref> with an
- <code>@id</code> key is used to identify that object using an
- <tref>IRI</tref>. This facility MAY also be used to link a
+<p class="note">Specifying a <tref>JSON Object</tref> with an
+ <code>@id</code> key is used to identify that object using an
+ <tref>IRI</tref>. This facility MAY also be used to link a
<tref>subject</tref> with an <tref>object</tref> using a mechanism called
<tref>embedding</tref>, which is covered in the section titled
<a href="#embedding">Embedding</a>.</p>
@@ -870,12 +870,12 @@
<pre class="example" data-transform="updateExample">
<!--
{****
- "@context":
+ "@context":
{
...
- "homepage":
+ "homepage":
{
- "@id": "http://xmlns.com/foaf/0.1/homepage",
+ "@id": "http://xmlns.com/foaf/0.1/homepage",
"@type": "@id"
}
...
@@ -887,8 +887,8 @@
-->
</pre>
-<p>Even though the value <code>http://manu.sporny.org/</code> is a
-<tref>string</tref>, the type <tref>coercion</tref> rules will transform
+<p>Even though the value <code>http://manu.sporny.org/</code> is a
+<tref>string</tref>, the type <tref>coercion</tref> rules will transform
the value into an IRI when processed by a JSON-LD Processor.</p>
</section>
@@ -897,12 +897,12 @@
<h2>Identifying the Subject</h2>
<p>
- To be able to externally reference nodes, it is important that each node has
- an unambiguous identifier. <tref>IRI</tref>s are a fundamental concept of
+ To be able to externally reference nodes, it is important that each node has
+ an unambiguous identifier. <tref>IRI</tref>s are a fundamental concept of
<tref>Linked Data</tref>, and nodes should have a de-referencable
- identifier used to name and locate them. For nodes to be truly linked,
- de-referencing the identifier should result in a representation of that node.
- Associating an IRI with a node tells an application that the returned
+ identifier used to name and locate them. For nodes to be truly linked,
+ de-referencing the identifier should result in a representation of that node.
+ Associating an IRI with a node tells an application that the returned
document contains a description of the node requested.
</p>
<p>
@@ -928,11 +928,11 @@
<code>http://example.org/people#joebob</code>.
</p>
-<p class="note">To ensure the best possible performance, it is a best practice
-to put the <code>@id</code> keyword before other key-value pairs in an object.
+<p class="note">To ensure the best possible performance, it is a best practice
+to put the <code>@id</code> keyword before other key-value pairs in an object.
If it isn't listed first, processors have to save each key-value pair until
-<code>@id</code> is processed before they can start generating triples.
-Not specifying the <code>@id</code> keyword first creates a memory and
+<code>@id</code> is processed before they can start generating triples.
+Not specifying the <code>@id</code> keyword first creates a memory and
complexity burden for one-pass processors.</p>
</section>
@@ -942,8 +942,8 @@
<p>The type of a particular subject can be specified using the
<code>@type</code> keyword. Specifying the type in this way will generate a
-triple of the form (subject, type, type-IRI). To be considered
-<tref>Linked Data</tref>, types MUST be uniquely identified by
+triple of the form (subject, type, type-IRI). To be considered
+<tref>Linked Data</tref>, types MUST be uniquely identified by
an <tref>IRI</tref>.</p>
<pre class="example" data-transform="updateExample">
@@ -1095,12 +1095,12 @@
</pre>
<p class="note">
- The <code>@type</code> keyword is also used to associate a type with
- a <tref>subject</tref>. Although the same keyword is used in both places,
- the concept of an <em>object type</em> and a <em>value type</em>
- are different. This is similar to object-oriented programming languages
- where both scalar and structured types use the same class inheritance
- mechanism, even though scalar types and structured types are
+ The <code>@type</code> keyword is also used to associate a type with
+ a <tref>subject</tref>. Although the same keyword is used in both places,
+ the concept of an <em>object type</em> and a <em>value type</em>
+ are different. This is similar to object-oriented programming languages
+ where both scalar and structured types use the same class inheritance
+ mechanism, even though scalar types and structured types are
inherently different.
</p>
@@ -1110,10 +1110,10 @@
<h2>Multiple Objects for a Single Property</h2>
<p>A JSON-LD author can express multiple values in a compact way by using
-<tref>array</tref>s. If a subject has multiple values for the same property,
+<tref>array</tref>s. If a subject has multiple values for the same property,
the author MAY express each property as an <tref>array</tref>.</p>
-<p class="note">In JSON-LD, multiple objects on a property are not ordered.
+<p class="note">In JSON-LD, multiple objects on a property are not ordered.
This is because graphs are inherently unordered data structures. To learn
more about creating ordered collections in JSON-LD, see the
section on <a href="#lists">Lists</a>.
@@ -1199,11 +1199,11 @@
-->
</pre>
<p>
- This results in three triples being generated, each relating the subject
+ This results in three triples being generated, each relating the subject
to an individual object, with no inherent order.</p>
<p>
- As the notion of ordered collections is rather important in data
- modeling, it is useful to have specific language support. In JSON-LD,
+ As the notion of ordered collections is rather important in data
+ modeling, it is useful to have specific language support. In JSON-LD,
a list may be represented using the <code>@list</code> keyword as follows:
</p>
<pre class="example" data-transform="updateExample">
@@ -1217,9 +1217,9 @@
-->
</pre>
<p>
- This describes the use of this <tref>array</tref> as being ordered,
- and order is maintained through alternate representations as
- described in [[JSON-LD-API]]. If every use of a given multi-valued property
+ This describes the use of this <tref>array</tref> as being ordered,
+ and order is maintained through alternate representations as
+ described in [[JSON-LD-API]]. If every use of a given multi-valued property
is a list, this may be abbreviated by adding a
<code>@type</code> <tref>coercion</tref>:
</p>
@@ -1261,62 +1261,62 @@
<section>
<h2>Prefixes</h2>
<p>
- <tref>Term</tref>s in <tref>Linked Data</tref> documents may draw from
- a number of different <tref title="vocabulary">vocabularies</tref>.
- At times, declaring every single term that a document uses can require the
- developer to declare tens, if not hundreds of potential
+ <tref>Term</tref>s in <tref>Linked Data</tref> documents may draw from
+ a number of different <tref title="vocabulary">vocabularies</tref>.
+ At times, declaring every single term that a document uses can require the
+ developer to declare tens, if not hundreds of potential
<tref>vocabulary</tref> <tref>term</tref>s that are used across an
application. This is a concern for at least three reasons; the
first is the cognitive load on the developer of remembering all of the
- <tref>term</tref>s, the second is the serialized size of the
- <tref>context</tref> if it is specified inline, the third is
- future-proofing embedded application <tref>context</tref>s that may not
- be easy to change after they are deployed. In order to address these issues,
+ <tref>term</tref>s, the second is the serialized size of the
+ <tref>context</tref> if it is specified inline, the third is
+ future-proofing embedded application <tref>context</tref>s that may not
+ be easy to change after they are deployed. In order to address these issues,
the concept of a <tref>prefix</tref> mechanism is introduced.</p>
<p>
A <tdef>prefix</tdef> is a compact way of expressing a base
<tref>IRI</tref> for a <tref>vocabulary</tref>.
Generally, these prefixes are used by concatenating the <em>prefix</em> and
a <em>suffix</em>, which is separated by a colon (<code>:</code>).
- The <tref>prefix</tref> is a <tref>term</tref> taken from the
- <tref>active context</tref> and is a short string identifying a
+ The <tref>prefix</tref> is a <tref>term</tref> taken from the
+ <tref>active context</tref> and is a short string identifying a
particular <tref>IRI</tref> in a JSON-LD document.
For example, the prefix <code>foaf</code> may be used as a short
hand for the Friend-of-a-Friend vocabulary, which is identified using
- the IRI <code>http://xmlns.com/foaf/0.1/</code>. A developer may append
- any of the FOAF <tref>vocabulary</tref> terms to the end of the prefix
- to specify a short-hand version of the absolute IRI for the
- <tref>vocabulary</tref> term. For example, <code>foaf:name</code> would
- be expanded out to the IRI <code>http://xmlns.com/foaf/0.1/name</code>.
- Instead of having to remember and type out the entire IRI, the developer
+ the IRI <code>http://xmlns.com/foaf/0.1/</code>. A developer may append
+ any of the FOAF <tref>vocabulary</tref> terms to the end of the prefix
+ to specify a short-hand version of the absolute IRI for the
+ <tref>vocabulary</tref> term. For example, <code>foaf:name</code> would
+ be expanded out to the IRI <code>http://xmlns.com/foaf/0.1/name</code>.
+ Instead of having to remember and type out the entire IRI, the developer
can instead use the prefix in their JSON-LD markup.
</p>
- <p>To generate an <tref>IRI</tref> out of a <code>prefix:suffix</code>
- construct, the value is first split into a <em>prefix</em> and
- <em>suffix</em> at the first occurrence of a colon (<code>:</code>).
- If the <tref>active context</tref> contains a term mapping for
- <em>prefix</em>, an IRI is generated by 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 used
- directly as an IRI. If the prefix is an underscore
+ <p>To generate an <tref>IRI</tref> out of a <code>prefix:suffix</code>
+ construct, the value is first split into a <em>prefix</em> and
+ <em>suffix</em> at the first occurrence of a colon (<code>:</code>).
+ If the <tref>active context</tref> contains a term mapping for
+ <em>prefix</em>, an IRI is generated by 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 used
+ directly as an IRI. If the prefix is an underscore
(<code>_</code>), the IRI remains unchanged.
</p>
<p>
The ability to use <tref>prefix</tref>es reduces the need for developers
to declare every <tref>vocabulary</tref> term that they intend to use in
- the JSON-LD <tref>context</tref>. This reduces stand-alone JSON-LD
- document serialization size because every <tref>vocabulary</tref> term
+ the JSON-LD <tref>context</tref>. This reduces stand-alone JSON-LD
+ document serialization size because every <tref>vocabulary</tref> term
need not be declared in the embedded context.
<tref>Prefix</tref> also
reduces the cognitive load on the developer. It is far easier to
remember <code>foaf:name</code> than it is to remember
<code>http://xmlns.com/foaf/0.1/name</code>. The use of prefixes also
- ensures that a <tref>context</tref> document does not have to be updated
- in lock-step with an externally defined <tref>vocabulary</tref>.
- Without prefixes, a developer would need to keep their application
- context terms in lock-step with an externally defined vocabulary. Rather,
- by just declaring the <tref>vocabulary</tref> prefix, one can use new
- terms as they're declared without having to update the application's
+ ensures that a <tref>context</tref> document does not have to be updated
+ in lock-step with an externally defined <tref>vocabulary</tref>.
+ Without prefixes, a developer would need to keep their application
+ context terms in lock-step with an externally defined vocabulary. Rather,
+ by just declaring the <tref>vocabulary</tref> prefix, one can use new
+ terms as they're declared without having to update the application's
JSON-LD <tref>context</tref>.
</p>
<p>Consider the following example:</p>
@@ -1348,8 +1348,8 @@
-->
</pre>
<p>
- In this example, two different <tref title="vocabulary">vocabularies</tref>
- are referred to using prefixes. Those prefixes are then used as type and
+ In this example, two different <tref title="vocabulary">vocabularies</tref>
+ are referred to using prefixes. Those prefixes are then used as type and
property values using the <code>prefix:suffix</code> notation.
</p>
<p>
@@ -1357,7 +1357,7 @@
<cite><a href="http://www.w3.org/TR/rdfa-core/#s_curies">Section 6
"CURIE Syntax Definition"</a></cite> [[RDFA-CORE]].
JSON-LD does not support the square-bracketed CURIE syntax as the
- mechanism is not required to disambiguate <tref>IRI</tref>s in a JSON-LD
+ mechanism is not required to disambiguate <tref>IRI</tref>s in a JSON-LD
document like it is in HTML documents.
</p>
</section>
@@ -1466,10 +1466,10 @@
<section>
<h3>Default Language</h3>
-<p>JSON-LD allows a default value to use as the language for
-<tref>string value</tref>s. It is commonly the case that documents are
-written using a single language. As described in
-<a href="string-internationalization">String Internationalization</a>, a
+<p>JSON-LD allows a default value to use as the language for
+<tref>string value</tref>s. It is commonly the case that documents are
+written using a single language. As described in
+<a href="string-internationalization">String Internationalization</a>, a
language-tagged value MAY be specified as follows:</p>
<pre class="example" data-transform="updateExample">
@@ -1554,10 +1554,10 @@
</pre>
<p>Object <tref title="property">properties</tref> that use the expanded form
-are considered explicitly defined. The <code>@language</code> keyword,
-when used in the <tref>context</tref>, MUST only be applied to
+are considered explicitly defined. The <code>@language</code> keyword,
+when used in the <tref>context</tref>, MUST only be applied to
<tref>string value</tref>s. That is, <tref>string value</tref>s expressed in
-expanded form are not affected by the <code>@language</code> keyword, when
+expanded form are not affected by the <code>@language</code> keyword, when
it is used in the <tref>context</tref>.
</p>
@@ -1565,16 +1565,16 @@
<section>
<h3>Expanded Term Definition</h3>
- <p>Within a <tref>context</tref> definition, <tref>term</tref>s MAY be
- defined using an expanded notation to allow for additional information
- associated with the term to be specified (see
- <a href="#type-coerceion">Type Coercion</a> and
+ <p>Within a <tref>context</tref> definition, <tref>term</tref>s MAY be
+ defined using an expanded notation to allow for additional information
+ associated with the term to be specified (see
+ <a href="#type-coerceion">Type Coercion</a> and
<a href="#lists">Lists</a>).</p>
<p>Instead of using a string representation of an IRI, the IRI MAY be
- specified using an object having an <code>@id</code> key.
- The value of the <code>@id</code> key MUST be either a
- <tref>prefix</tref>:suffix value, an <tref>IRI</tref>. Type information
+ specified using an object having an <code>@id</code> key.
+ The value of the <code>@id</code> key MUST be either a
+ <tref>prefix</tref>:suffix value, an <tref>IRI</tref>. Type information
may be specified</p>
<pre class="example" data-transform="updateExample">
@@ -1698,11 +1698,11 @@
<section>
<h3>IRI Expansion Within a Context</h3>
- <p>To be consistent with JSON-LD, in general, anywhere an IRI is expected,
- normal IRI expansion rules apply (see <a href="#iris">IRIs</a>). Within
+ <p>To be consistent with JSON-LD, in general, anywhere an IRI is expected,
+ normal IRI expansion rules apply (see <a href="#iris">IRIs</a>). Within
a <tref>context</tref> definition, this can mean that terms defined
- within a given context MAY also be used within that context, as long as
- there are no circular dependencies. For example, it is common to use
+ within a given context MAY also be used within that context, as long as
+ there are no circular dependencies. For example, it is common to use
the <code>xsd</code> namespace when defining <tref>typed value</tref>s:</p>
<pre class="example" data-transform="updateExample">
<!--
@@ -1718,11 +1718,11 @@
}
-->
</pre>
-<p>In this example, the <code>xsd</code> <tref>term</tref> is defined,
- and used as a <tref>prefix</tref> for the <code>@type</code> coercion
+<p>In this example, the <code>xsd</code> <tref>term</tref> is defined,
+ and used as a <tref>prefix</tref> for the <code>@type</code> coercion
of the <code>age</code> property.</p>
-<p><tref>Term</tref>s MAY also be used when defining the IRI of another
+<p><tref>Term</tref>s MAY also be used when defining the IRI of another
<tref>term</tref>:</p>
<pre class="example" data-transform="updateExample">
@@ -1764,11 +1764,11 @@
<p>
Note that in this example, the prefixed form is used in two different ways.
The first way, as shown with <code>foaf:age</code> declares both the
-<tref>IRI</tref> for the term (using short-form) as well as the
+<tref>IRI</tref> for the term (using short-form) as well as the
<code>@type</code> associated with the <tref>term</tref>. The second way, only
declares the <code>@type</code> associated with the <tref>term</tref>. In the
-second case, the JSON-LD processor will still derive the full <tref>IRI</tref>
-by looking up the <code>foaf</code> <tref>prefix</tref> in the
+second case, the JSON-LD processor will still derive the full <tref>IRI</tref>
+by looking up the <code>foaf</code> <tref>prefix</tref> in the
<tref>context</tref> for <code>foaf:homepage</code>.
</p>
@@ -1796,18 +1796,18 @@
Note that in order for the full IRI to match above, the full IRI MUST also
be used in the JSON-LD document. 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>foaf:homepage</code> is not the same as
<code>http://xmlns.com/foaf/0.1/homepage</code>. That is, a JSON-LD
-processor will use direct string comparison when looking up
-<tref>term</tref>s in a <tref>context</tref> before it applies the
+processor will use direct string comparison when looking up
+<tref>term</tref>s in a <tref>context</tref> before it applies the
<tref>prefix</tref> lookup mechanism.
</p>
<p>The only exception for using terms in the <tref>context</tref> is that
they MUST NOT be used in a circular manner. That is,
- a definition of <em>term-1</em> MUST NOT depend on the
+ a definition of <em>term-1</em> MUST NOT depend on the
definition of <em>term-2</em> if <em>term-2</em> also depends on
- <em>term-1</em>. For example, the following <tref>context</tref> definition
+ <em>term-1</em>. For example, the following <tref>context</tref> definition
is illegal:</p>
<pre class="example" data-transform="updateExample">
<!--
@@ -2001,7 +2001,7 @@
<!--
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-<http://manu.sporny.org/i/public>
+<http://manu.sporny.org/i/public>
a foaf:Person;
foaf:name "Manu Sporny";
foaf:knows [ a foaf:Person; foaf:name "Gregg Kellogg" ] .
@@ -2254,11 +2254,11 @@
<section class="appendix informative">
<h3>Mashing Up Vocabularies</h3>
-<p>Developers benefit by being able to mash other
+<p>Developers benefit by being able to mash other
<tref title="vocabulary">vocabularies</tref> into their
JSON-LD markup. There are over 200
-<tref title="vocabulary">vocabularies</tref> that are available for use
-on the Web today. Some of these <tref title="vocabulary">vocabularies</tref>
+<tref title="vocabulary">vocabularies</tref> that are available for use
+on the Web today. Some of these <tref title="vocabulary">vocabularies</tref>
include:
</p>
@@ -2276,7 +2276,7 @@
<li>DOAP - for describing projects.</li>
</ul>
-<p>You can use these <tref title="vocabulary">vocabularies</tref> in
+<p>You can use these <tref title="vocabulary">vocabularies</tref> in
combination, like so:</p>
<pre class="example" data-transform="updateExample">
@@ -2297,8 +2297,8 @@
-->
</pre>
-<p>Developers can also specify their own <tref>vocabulary</tref> documents
-by modifying the <tref>active context</tref> in-line using
+<p>Developers can also specify their own <tref>vocabulary</tref> documents
+by modifying the <tref>active context</tref> in-line using
the <code>@context</code> keyword, like so:</p>
<pre class="example" data-transform="updateExample">
@@ -2345,8 +2345,8 @@
<dd>Determines the serialization form for the JSON-LD document. Valid
values include; <code>compacted</code>, <code>expanded</code>,
and <code>normalized</code>. If no form is specified in an HTTP
- request header to an HTTP server, the server MAY choose any form.
- If no form is specified for an HTTP client, the form MUST NOT be
+ request header to an HTTP server, the server MAY choose any form.
+ If no form is specified for an HTTP client, the form MUST NOT be
assumed to take any particular form.</dd>
</dl>
</dd>