json-ld 0.21.4

JSON-LD implementation
Documentation
<section><h3>Terms imported from Other Specifications</h3>
<p>Terms imported from [[[ECMASCRIPT]]] [[ECMASCRIPT]], [[[RFC8259]]] [[RFC8259]], [[[INFRA]]] [[INFRA]], and [[[WEBIDL]]] [[WEBIDL]]</p>
<dl class="termlist" data-sort>
  <dt><dfn data-cite="INFRA#list" class="preserve">array</dfn></dt><dd>
    In the JSON serialization,
    an <a>array</a> structure is represented as square brackets surrounding zero or more values.
    Values are separated by commas.
    In the <a>internal representation</a>,
    a <a data-ld="array">list</a> (also called an <a>array</a>) is an <em>ordered</em> collection of zero or more values.
    While JSON-LD uses the same array representation as JSON,
    the collection is <em>unordered</em> by default.
    While order is preserved in regular JSON arrays,
    it is not in regular JSON-LD arrays unless specifically defined
    (see the <a data-cite="JSON-LD11#sets-and-lists">Sets and Lists</a> section of JSON-LD 1.1.</dd>
  <dt><dfn data-cite="INFRA#boolean" class="preserve">boolean</dfn></dt><dd>
    The values <code>true</code> and <code>false</code> that are used
    to express one of two possible states.</dd>
  <dt><dfn data-cite="RFC8259#section-4" class="preserve">JSON object</dfn></dt><dd>
    In the JSON serialization,
    an <a>object</a> structure
    is represented as a pair of curly brackets surrounding zero or more name/value pairs (or members).
    A name is a <a>string</a>.
    A single colon comes after each name,
    separating the name from the value.
    A single comma separates a value from a following name.
    In JSON-LD the names in an object must be unique.
    <p>In the <a>internal representation</a> a <a>JSON object</a> is described as a
      <dfn data-cite="INFRA#ordered-map" class="preserve">map</dfn> (see [[INFRA]]),
      composed of <dfn data-cite="INFRA#map-entry" data-lt="map entry|entry" data-ld-noDefault class="preserve">entries</dfn> with key/value pairs.</p>
    <p>In the <a data-cite="JSON-LD11-API#the-application-programming-interface">Application Programming Interface</a>,
      a <a>map</a> is described using a [[WEBIDL]] <a data-cite="WEBIDL#idl-record">record</a>.</p></dd>
  <dt><dfn data-cite="INFRA#nulls" class="preserve">null</dfn></dt><dd>
    The use of the <a>null</a> value within JSON-LD
    is used to ignore or reset values.
    A <a>map entry</a> in the <code>@context</code> where the value,
    or the <code>@id</code> of the value, is <code>null</code>,
    explicitly decouples a term's association with an IRI.
    A <a>map entry</a> in the body of a <a>JSON-LD document</a>
    whose value is <code>null</code>
    has the same meaning as if the <a>map entry</a> was not defined.
    If <code>@value</code>, <code>@list</code>, or <code>@set</code> is set to <code>null</code> in expanded form,
    then the entire <a>JSON object</a> is ignored.</dd>
  <dt><dfn data-cite="ECMASCRIPT#sec-terms-and-definitions-number-value" data-lt="number|JSON number" class="preserve">number</dfn></dt><dd>
    In the JSON serialization, a <a>number</a>
    is similar to that used in most programming languages,
    except that the octal and hexadecimal formats are not used and that leading zeros are not allowed.
    In the <a>internal representation</a>,
    a <a>number</a> is equivalent to either a <dfn data-cite="WEBIDL#idl-long" class="preserve">long</dfn>
    or <dfn data-cite="WEBIDL#idl-double" class="preserve">double</dfn>,
    depending on if the number has a non-zero fractional part (see [[WEBIDL]]).</dd>
  <dt><dfn data-cite="INFRA#primitive-data-types" class="preserve">scalar</dfn></dt><dd>
    A scalar is either a <a>string</a>, <a>number</a>, <code>true</code>, or <code>false</code>.</dd>
  <dt><dfn data-cite="INFRA#javascript-string" class="preserve">string</dfn></dt><dd>
    A <a>string</a>
    is a sequence of zero or more Unicode (UTF-8) characters,
    wrapped in double quotes, using backslash escapes (if necessary).
    A character is represented as a single character string.</dd>
</dl>

<p>Terms imported from [[[RFC3987]]] [[RFC3987]]</p>
<dl class="termlist" data-sort>
  <dt><dfn data-cite="RFC3987#section-2" data-lt="Internationalized Resource Identifier" class="preserve"><abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt><dd>
    The absolute form of an <a>IRI</a> containing a <em>scheme</em> along with a <em>path</em>
    and optional <em>query</em> and <em>fragment</em> segments.</dd>
  <dt><dfn data-cite="RFC3987#section-1.3" class="preserve">IRI reference</dfn></dt><dd>
    Denotes the common usage of an <a>Internationalized Resource Identifier</a>.
    An <a>IRI reference</a> may be absolute or
    <a data-lt="relative IRI reference">relative</a>.
    However, the "IRI" that results from such a reference only includes absolute <a>IRIs</a>;
    any <a>relative IRI references</a> are resolved to their absolute form.</dd>
  <dt><dfn data-cite="RFC3987#section-6.5" class="preserve">relative IRI reference</dfn></dt><dd>
    A relative IRI reference is an <a>IRI reference</a> that is relative to some other <a>IRI</a>,
    typically the <a>base IRI</a> of the document.
    Note that <a>properties</a>,
    values of <code>@type</code>,
    and values of <a>terms</a> defined to be <em>vocabulary relative</em>
    are resolved relative to the <a>vocabulary mapping</a>,
    not the <a>base IRI</a>.</dd>
</dl>

<p>Terms imported from [[[RDF11-CONCEPTS]]] [[RDF11-CONCEPTS]], [[[RDF-SCHEMA]]] [[RDF-SCHEMA]], and [[[LINKED-DATA]]] [[LINKED-DATA]]</p>
<dl class="termlist" data-sort>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-base-iri" class="preserve">base IRI</dfn></dt><dd>
    The <a>base IRI</a> is an <a>IRI</a> established in the <a>context</a>,
    or is based on the <a>JSON-LD document</a> location.
    The <a>base IRI</a> is used to turn <a>relative IRI references</a> into <a>IRIs</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-blank-node" class="preserve">blank node</dfn></dt><dd>
    A <a>node</a> in a <a>graph</a> that is neither an <a>IRI</a>,
    nor a <a>literal</a>.
    A <a>blank node</a> does not contain
    a de-referenceable identifier because it is either ephemeral in nature
    or does not contain information that needs to be linked to from outside of the <a>linked data graph</a>.
    In JSON-LD,
    a blank node is assigned an identifier starting with the prefix <code>_:</code>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-blank-node-identifier" class="preserve">blank node identifier</dfn></dt><dd>
    A <a>blank node identifier</a>
    is a string that can be used as an identifier for a <a>blank node</a> within the scope of a JSON-LD document.
    Blank node identifiers begin with <code>_:</code>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-rdf-dataset" data-lt="RDF dataset" class="preserve">dataset</dfn></dt><dd>
    A <a>dataset</a>
    representing a collection of <a data-cite="RDF11-CONCEPTS#dfn-rdf-graph">RDF graphs</a>
    including exactly one <a>default graph</a> and zero or more <a>named graphs</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-datatype-iri" class="preserve">datatype IRI</dfn></dt><dd>
    A <a>datatype IRI</a> is an <a>IRI</a> identifying a datatype that determines how the lexical form maps to a
    <a data-cite="RDF11-CONCEPTS#dfn-literal-value">literal value</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-default-graph" class="preserve">default graph</dfn></dt><dd>
    The <a>default graph</a> of a <a>dataset</a> is an <a>RDF graph</a> having no <a data-lt="graph name">name</a>, which may be empty.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-graph-name" class="preserve">graph name</dfn></dt><dd>
    The <a>IRI</a> or <a>blank node</a> identifying a <a>named graph</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-language-tagged-string" class="preserve">language-tagged string</dfn></dt><dd>
    A <a>language-tagged string</a>
    consists of a string and a non-empty language tag
    as defined by [[BCP47]].
    The <dfn data-cite="RDF11-CONCEPTS#dfn-language-tag">language tag</dfn> must be well-formed
    according to <a data-cite="BCP47#section-2.2.9">section 2.2.9 Classes of Conformance</a> of [[BCP47]].
    <span class="changed note">Processors may normalize <a>language tags</a> to lowercase.</span>
  </dd>
  <dt><dfn data-cite="LINKED-DATA" data-no-xref="" class="preserve">Linked Data</dfn></dt><dd>
    A set of documents, each containing a representation of a <a>linked data graph</a> or <a>dataset</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-rdf-graph" data-lt="linked data graph|graph" class="preserve">RDF graph</dfn></dt><dd>
    A labeled directed <a>graph</a>,
    i.e., a set of <a>nodes</a> connected by directed-arcs.
    Also called <a>linked data graph</a>.
  </dd>
  <dt><dfn data-cite="RDF-SCHEMA#ch_collectionvocab" data-lt="collection|RDF collection" class="preserve">list</dfn></dt><dd>
    A <a>list</a> is an ordered sequence of <a>IRIs</a>, <a>blank nodes</a>, and <a>literals</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-literal" data-lt="RDF literal" class="preserve">literal</dfn></dt><dd>
    An <a>object</a> expressed as a value such as a <a>string</a> or <a>number</a>.
    Implicitly or explicitly includes a <a>datatype IRI</a> and, if the datatype is `rdf:langString`, an optional <a>language tag</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-named-graph" class="preserve">named graph</dfn></dt><dd>
    A <a>named graph</a>
    is a <a>linked data graph</a> that is identified by an <a>IRI</a> or <a>blank node</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-node" class="preserve">node</dfn></dt><dd>
    A <a>node</a> in an <a>RDF graph</a>, either the <a>subject</a> and <a>object</a> of at least one <a>triple</a>.
    Note that a <a>node</a> can play both roles (<a>subject</a> and <a>object</a>) in a <a>graph</a>, even in the same <a>triple</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-object" class="preserve">object</dfn></dt><dd>
    An <a>object</a> is a <a>node</a> in a <a>linked data graph</a>
    with at least one incoming edge.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-property" class="preserve">property</dfn></dt><dd>
    The name of a directed-arc in a <a>linked data graph</a>.
    Every <a>property</a> is directional
    and is labeled with an <a>IRI</a> or a <a>blank node identifier</a>.
    Whenever possible, a <a>property</a> should be labeled with an <a>IRI</a>.
    <div class="note">The use of <a>blank node identifiers</a> to label properties is obsolete,
      and may be removed in a future version of JSON-LD.</div>
    Also, see <dfn data-cite="RDF11-CONCEPTS#dfn-predicate" class="preserve">predicate</dfn> in [[RDF11-CONCEPTS]].</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-resource" class="preserve">resource</dfn></dt><dd>
    A <a>resource</a> denoted by an <a>IRI</a>, a <a>blank node</a> or <a>literal</a> representing something in the world (the "universe of discourse").</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-rdf-triple" class="preserve">triple</dfn></dt><dd>
    A component of an <a>RDF graph</a> including a <a>subject</a>, <a>predicate</a>, and <a>object</a>, which represents
    a node-arc-node segment of an <a>RDF graph</a>.</dd>
  <dt><dfn data-cite="RDF11-CONCEPTS#dfn-subject" class="preserve">subject</dfn></dt><dd>
    A <a>subject</a> is a <a>node</a> in a <a>linked data graph</a>
    with at least one outgoing edge,
    related to an <a>object</a> node through a <a>property</a>.</dd>
</dl>
</section>

<section><h3>JSON-LD Specific Term Definitions</h3>
<dl class="termlist" data-sort>
  <dt><dfn data-cite="JSON-LD11#dfn-active-context">active context</dfn></dt><dd>
    A <a>context</a> that is used to resolve <a>terms</a>
    while the processing algorithm is running.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-compact-iri">compact IRI</dfn></dt><dd>
    A compact IRI has the form of <a>prefix</a>:<em>suffix</em>
    and is used as a way of expressing an <a>IRI</a> without needing to define separate <a>term</a> definitions
    for each IRI contained within a common vocabulary identified by <a>prefix</a>.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-context">context</dfn></dt><dd>
    A set of rules for interpreting a <a>JSON-LD document</a>
    as described in the <a data-cite="JSON-LD11#the-context">The Context</a> section of JSON-LD 1.1,
    and normatively specified in the <a data-cite="JSON-LD11#context-definitions">Context Definitions</a> section of JSON-LD 1.1.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-default-language">default language</dfn></dt><dd>
    The <a>default language</a> is the language used when a string does not have a language associated with it directly.
    It can be set in the <a>context</a> using the <code>@language</code> key
    whose value must be a <a>string</a> representing a [[BCP47]] language code or <code>null</code>.
    See the <a data-cite="JSON-LD11#context-definitions">Context Definitions</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-default-object">default object</dfn></dt><dd>
    A <a>default object</a> is a <a>map</a> that has a <code>@default</code> key.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-base-direction" data-lt="base direction|default base direction" data-lt-noDefault>base direction</dfn></dt><dd>
    The <a>base direction</a> is the direction used when a string does not have a direction associated with it directly.
    It can be set in the <a>context</a> using the <code>@direction</code> key
    whose value must be one of the strings `"ltr"`, `"rtl"`, or <code>null</code>.
    See the <a data-cite="JSON-LD11#context-definitions">Context Definitions</a> section of JSON-LD 1.1 for a normative description.
    </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-embedded-context">embedded context</dfn></dt><dd>
    An embedded <a>context</a> is a context which appears
    as the <code>@context</code> <a>entry</a> of one of the following:
    a <a>node object</a>, a <a>value object</a>, a <a>graph object</a>, a <a>list object</a>,
    a <a>set object</a>, the value of a <a>nested property</a>,
    or the value of an <a>expanded term definition</a>.
    Its value may be a <a>map</a> for a <a data-cite="JSON-LD11#dfn-context-definition">context definition</a>,
    as an <a>IRI</a>, or as an <a>array</a> combining either of the above.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-scoped-context" class="preserve">scoped context</dfn></dt><dd>
    A <a>scoped context</a> is part of an <a>expanded term definition</a> using the
    <code>@context</code> <a>entry</a>. It has the same form as an <a>embedded context</a>.
    When the term is used as a type, it defines a <dfn data-cite="JSON-LD11#dfn-type-scoped-context" class="preserve">type-scoped context</dfn>,
    when used as a property it defines a <dfn data-cite="JSON-LD11#dfn-property-scoped-context" class="preserve">property-scoped context</dfn>.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-expanded-term-definition">expanded term definition</dfn></dt><dd>
    An expanded term definition is a <a>term definition</a>
    where the value is a <a>map</a>
    containing one or more <a>keyword</a> keys to define the associated <a>IRI</a>,
    if this is a reverse property,
    the type associated with string values, and a container mapping.
    See the <a data-cite="JSON-LD11#expanded-term-definition">Expanded Term Definition</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11-FRAMING#dfn-frame" data-lt="frame|JSON-LD frame">frame</dfn></dt><dd>
    A <a>JSON-LD document</a>,
    which describes the form for transforming another <a>JSON-LD document</a>
    using matching and embedding rules.
    A frame document allows additional keywords and certain <a>map entries</a>
    to describe the matching and transforming process.</dd>
  <dt><dfn data-cite="JSON-LD11-FRAMING#dfn-frame-object">frame object</dfn></dt><dd>
    A frame object is a <a>map</a> element within a <a>frame</a>
    which represents a specific portion of the <a>frame</a> matching either
    a <a>node object</a> or a <a>value object</a>
    in the input.
    See the <a data-cite="JSON-LD11#frame-objects">Frame Objects</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt class="changed"><dfn data-cite="JSON-LD11#dfn-graph-object">graph object</dfn></dt><dd class="changed">
    A <a>graph object</a> represents a <a>named graph</a>
    as the value of a <a>map entry</a> within a <a>node object</a>.
    When expanded, a graph object must have an <code>@graph</code> <a>entry</a>,
    and may also have <code>@id</code>, and <code>@index</code> <a>entries</a>.
    A <dfn data-cite="JSON-LD11#dfn-simple-graph-object" class="preserve">simple graph object</dfn>
    is a <a>graph object</a> which does not have an <code>@id</code> <a>entry</a>.
    Note that <a>node objects</a> may have a <code>@graph</code> <a>entry</a>,
    but are not considered <a>graph objects</a> if they include any other <a>entries</a>.
    A top-level object consisting of <code>@graph</code> is also not a <a>graph object</a>.
    Note that a <a>node object</a> may also represent a <a>named graph</a> if it includes other properties.
    See the <a data-cite="JSON-LD11#graph-objects">Graph Objects</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt class="changed"><dfn data-cite="JSON-LD11#dfn-id-map">id map</dfn></dt><dd class="changed">
    An <a>id map</a> is a <a>map</a> value of a <a>term</a>
    defined with <code>@container</code> set to <code>@id</code>.
    The values of the <a>id map</a> must be <a>node objects</a>,
    and its keys are interpreted as <a>IRIs</a> representing
    the <code>@id</code> of the associated <a>node object</a>.
    If a value in the <a>id map</a> contains a key expanding to <code>@id</code>,
    its value must be equivalent to the referencing key in the <a>id map</a>.
    See the <a data-cite="JSON-LD11#id-maps">Id Maps</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-implicitly-named-graph">implicitly named graph</dfn></dt><dd>
    A <a>named graph</a> created from the value of a <a>map entry</a>
    having an <a>expanded term definition</a>
    where <code>@container</code> is set to  <code>@graph</code>.</dd>
  <dt class="changed"><dfn data-cite="JSON-LD11#dfn-included-block">included block</dfn></dt><dd class="changed">
    An <a>included block</a> is an <a>entry</a> in a <a>node object</a> where the key is either `@included` or an alias of `@included`
    and the value is one or more <a>node objects</a>.
    See the <a data-cite="JSON-LD11#included-blocks">Included Blocks</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-index-map">index map</dfn></dt><dd>
    An <a>index map</a> is a <a>map</a> value of a <a>term</a>
    defined with <code>@container</code> set to <code>@index</code>,
    whose values must be any of the following types:
    <a>string</a>,
    <a>number</a>,
    <code>true</code>,
    <code>false</code>,
    <a>null</a>,
    <a>node object</a>,
    <a>value object</a>,
    <a>list object</a>,
    <a>set object</a>, or
    an <a>array</a> of zero or more of the above possibilities.
    See the <a data-cite="JSON-LD11#index-maps">Index Maps</a> section in JSON-LD 1.1 for a formal description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-json-literal">JSON literal</dfn></dt><dd>
    A <a>JSON literal</a> is a <a>literal</a> where the associated <a>datatype IRI</a> is <code>rdf:JSON</code>.
    In the <a>value object</a> representation, the value of <code>@type</code> is <code>@json</code>.
    JSON literals represent values which are valid JSON [[RFC8259]].
    See the <a data-cite="JSON-LD11#the-rdf-json-datatype">The `rdf:JSON` Datatype</a> section in JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-json-ld-document">JSON-LD document</dfn></dt><dd>
    A <a>JSON-LD document</a> is a serialization of
    an <a>RDF dataset</a>.
    See the <a data-cite="JSON-LD11#json-ld-grammar">JSON-LD Grammar</a> section in JSON-LD 1.1 for a formal description.
  </dd>
  <dt><dfn data-cite="JSON-LD11-API#dfn-json-ld-processor" data-lt="json-ld processor|Processors">JSON-LD Processor</dfn></dt><dd>
    A <a>JSON-LD Processor</a> is a system which can perform the algorithms defined in JSON-LD 1.1 Processing Algorithms and API.
    See the <a data-cite="JSON-LD11-API#conformance">Conformance</a> section in JSON-LD 1.1 API for a formal description.
  </dd>
  <dt class="changed"><dfn data-cite="JSON-LD11-API#dfn-internal-representation" data-lt="internal representation">JSON-LD internal representation</dfn></dt><dd class="changed">
    The JSON-LD internal representation
    is the result of transforming a JSON syntactic structure
    into the core data structures suitable for direct processing:
    <a>arrays</a>, <a>maps</a>, <a>strings</a>, <a>numbers</a>, <a>booleans</a>, and <a>null</a>.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-json-ld-value" class="preserve">JSON-LD value</dfn></dt><dd>
    A <a>JSON-LD value</a> is a <a>string</a>,
    a <a>number</a>,
    <code>true</code> or <code>false</code>,
    a <a>typed value</a>,
    or a <a>language-tagged string</a>.
    It represents an <a>RDF literal</a>.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-keyword">keyword</dfn></dt><dd>
    A <a>string</a> that is specific to JSON-LD,
    described in the <a data-cite="JSON-LD11#syntax-tokens-and-keywords">Syntax Tokens and Keywords</a> section of JSON-LD 1.1,
    and normatively specified in the <a data-cite="JSON-LD11#keywords">Keywords</a> section of JSON-LD 1.1,
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-language-map">language map</dfn></dt><dd>
    A <a>language map</a> is a <a>map</a> value of a <a>term</a>
    defined with <code>@container</code> set to <code>@language</code>,
    whose keys must be <a>strings</a> representing [[BCP47]] language codes
    and the values must be any of the following types:
    <a>null</a>,
    <a>string</a>, or
    an <a>array</a> of zero or more of the above possibilities.
    See the <a data-cite="JSON-LD11#language-maps">Language Maps</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-list-object">list object</dfn></dt><dd>
    A <a>list object</a> is a <a>map</a> that has a <code>@list</code> key.
    It may also have an <code>@index</code> key, but no other <a>entries</a>.
    See the <a data-cite="JSON-LD11#lists-and-sets">Lists and Sets</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-local-context">local context</dfn></dt><dd>
    A <a>context</a> that is specified with a <a>map</a>,
    specified via the <code>@context</code> <a>keyword</a>.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-nested-property">nested property</dfn></dt><dd>
    A <a>nested property</a> is a key in a <a>node object</a>
    whose value is a <a>map</a> containing <a>entries</a> which are treated as if they were values of the <a>node object</a>.
    The <a>nested property</a> itself is semantically meaningless and used only to create a sub-structure within a <a>node object</a>.
    See the <a data-cite="JSON-LD11#property-nesting">Property Nesting</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-node-object">node object</dfn></dt><dd>
    A <a>node object</a> represents zero or more <a>properties</a> of a <a>node</a> in the <a>graph</a>
    serialized by the <a>JSON-LD document</a>.
    A <a>map</a> is a <a>node object</a>
    if it exists outside of the JSON-LD <a>context</a> and:
    <ul>
      <li>it does not contain the <code>@value</code>, <code>@list</code>, or <code>@set</code> keywords, or</li>
      <li>it is not the top-most <a>map</a> in the JSON-LD document
        consisting of no other <a>entries</a> than <code>@graph</code> and <code>@context</code>.</li>
    </ul>
    The <a>entries</a> of a <a>node object</a> whose keys are not keywords are also called <a>properties</a> of the <a>node object</a>.
    See the <a data-cite="JSON-LD11#node-objects">Node Objects</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-node-reference">node reference</dfn></dt><dd>
    A <a>node object</a> used to reference a node having only the <code>@id</code> key.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-prefix">prefix</dfn></dt><dd>
    A <a>prefix</a> is the first component of a <a>compact IRI</a>
    which comes from a <a>term</a> that maps to a string that,
    when prepended to the suffix of the <a>compact IRI</a>,
    results in an <a>IRI</a>.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-processing-mode">processing mode</dfn></dt><dd>
    The <a>processing mode</a> defines how a <a>JSON-LD document</a> is processed.
    By default, all documents are assumed to be conformant with this specification.
    By defining a different version using the <code>@version</code> <a>entry</a> in a <a>context</a>,
    publishers can ensure that processors conformant with <a data-cite="JSON-LD10" data-no-xref="">JSON-LD 1.0</a> [[JSON-LD10]]
    will not accidentally process JSON-LD 1.1 documents, possibly creating a different output.
    The API provides an option for setting the <a>processing mode</a> to `json-ld-1.0`,
    which will prevent JSON-LD 1.1 features from being activated,
    or error if <code>@version</code> <a>entry</a> in a <a>context</a> is explicitly set to `1.1`.
    This specification extends <a data-cite="JSON-LD10" data-no-xref="">JSON-LD 1.0</a>
    via the `json-ld-1.1` <a>processing mode</a>.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-set-object">set object</dfn></dt><dd>
    A <a>set object</a> is a <a>map</a> that has an <code>@set</code> <a>entry</a>.
    It may also have an <code>@index</code> key, but no other <a>entries</a>.
    See the <a data-cite="JSON-LD11#lists-and-sets">Lists and Sets</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-term">term</dfn></dt><dd>
    A <a>term</a> is a short word defined in a <a>context</a>
    that may be expanded to an <a>IRI</a>.
    See the <a data-cite="JSON-LD11#terms">Terms</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-term-definition">term definition</dfn></dt><dd>
    A term definition is an entry in a <a>context</a>,
    where the key defines a <a>term</a>
    which may be used within a <a>map</a>
    as a key, type, or elsewhere that a string is interpreted as a vocabulary item.
    Its value is either a string (<dfn data-cite="JSON-LD11#dfn-simple-term-definition" data-lt="simple term definition|simple term" data-lt-noDefault>simple term definition</dfn>),
    expanding to an <a>IRI</a>,
    or a map (<a>expanded term definition</a>).
  </dd>
  <dt class="changed"><dfn data-cite="JSON-LD11#dfn-type-map">type map</dfn></dt><dd class="changed">
    A <a>type map</a> is a <a>map</a> value of a <a>term</a>
    defined with <code>@container</code> set to <code>@type</code>,
    whose keys are interpreted as <a>IRIs</a>
    representing the <code>@type</code> of the associated <a>node object</a>;
    the value must be a <a>node object</a>, or <a>array</a> of node objects.
    If the value contains a <a>term</a> expanding to <code>@type</code>,
    its values are merged with the map value when expanding.
    See the <a data-cite="JSON-LD11#type-maps">Type Maps</a> section of JSON-LD 1.1 for a normative description.
  </dd>
  <dt><dfn data-cite="JSON-LD11#dfn-typed-value" class="preserve">typed value</dfn></dt><dd>
    A <a>typed value</a> consists of a value,
    which is a <a>string</a>,
    and a type,
    which is an <a>IRI</a>.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-value-object">value object</dfn></dt><dd>
    A <a>value object</a> is a <a>map</a> that has an <code>@value</code> <a>entry</a>.
    See the <a data-cite="JSON-LD11#value-objects">Value Objects</a> section of JSON-LD 1.1 for a normative description.</dd>
  <dt><dfn data-cite="JSON-LD11#dfn-vocabulary-mapping" class="preserve">vocabulary mapping</dfn></dt><dd>
    The vocabulary mapping is set in the <a>context</a> using the <code>@vocab</code> key
    whose value must be an <a>IRI</a>, a <a>compact IRI</a>, a <a>term</a>, or <code>null</code>.
    See the <a data-cite="JSON-LD11#context-definitions">Context Definitions</a> section of JSON-LD 1.1 for a normative description.</dd>
</dl>
</section>