array
In the JSON serialization, an array structure is represented as square brackets surrounding zero or more values. Values are separated by commas. In the internal representation, an array is an ordered collection of zero or more values. While JSON-LD uses the same array representation as JSON, the collection is unordered by default. While order is preserved in regular JSON arrays, it is not in regular JSON-LD arrays unless specifically defined (see Sets and Lists in the JSON-LD Syntax specification [[JSON-LD11CG]]).
JSON object
In the JSON serialization, an object structure is represented as a pair of curly brackets surrounding zero or more key-value pairs. A key is a string. A single colon comes after each key, separating the key from the value. A single comma separates a value from a following key. In JSON-LD the keys in an object MUST be unique. In the internal representation a JSON object is equivalent to a dictionary (see [[WEBIDL]]).
JSON-LD internal representation
The JSON-LD internal representation is the result of transforming a JSON syntactic structure into the core data structures suitable for direct processing: arrays, dictionaries, strings, numbers, booleans, and null.
null
The use of the null value within JSON-LD is used to ignore or reset values. A key-value pair in the @context where the value, or the @id of the value, is null explicitly decouples a term's association with an IRI. A key-value pair in the body of a JSON-LD document whose value is null has the same meaning as if the key-value pair was not defined. If @value, @list, or @set is set to null in expanded form, then the entire JSON object is ignored.
number
In the JSON serialization, a number 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 internal representation, a number is equivalent to either a long or double, depending on if the number has a non-zero fractional part (see [[WEBIDL]]).
scalar
A scalar is either a JSON string, number, true, or false.
string
A string 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.
true and false
Values that are used to express one of two possible boolean states.

Furthermore, the following terminology is used throughout this document:

absolute IRI
An absolute IRI is defined in [[!RFC3987]] containing a scheme along with a path and optional query and fragment segments.
active context
A context that is used to resolve terms while the processing algorithm is running.
base IRI
The base IRI is an absolute IRI established in the context, or is based on the JSON-LD document location. The base IRI is used to turn relative IRIs into absolute IRIs.
blank node
A node in a graph that is neither an IRI, nor a JSON-LD value, nor a list. A blank node 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 linked data graph. A blank node is assigned an identifier starting with the prefix _:.
blank node identifier
A blank node identifier is a string that can be used as an identifier for a blank node within the scope of a JSON-LD document. Blank node identifiers begin with _:.
compact IRI
A compact IRI is has the form of prefix:suffix and is used as a way of expressing an IRI without needing to define separate term definitions for each IRI contained within a common vocabulary identified by prefix.
context
A a set of rules for interpreting a JSON-LD document as specified in The Context of the JSON-LD Syntax specification [[JSON-LD11CG]].
datatype IRI
A datatype IRI as specified by [[RDF11-CONCEPTS]].
default graph
The default graph is the only graph in a JSON-LD document which has no graph name. When executing an algorithm, the graph where data should be placed if a named graph is not specified.
default language
The default language is set in the context using the @language key whose value MUST be a string representing a [[!BCP47]] language code or null.
default object
A default object is a JSON object that has a @default member.
edge
Every edge has a direction associated with it and is labeled with an IRI or a blank node identifier. Within the JSON-LD syntax these edge labels are called properties. Whenever possible, an edge should be labeled with an IRI.
expanded term definition
An expanded term definition, is a term definition where the value is a JSON object containing one or more keyword properties to define the associated absolute IRI, if this is a reverse property, the type associated with string values, and a container mapping.
Frame
A JSON-LD document, which describes the form for transforming another JSON-LD document using matching and embedding rules. A frame document allows additional keywords and certain property values to describe the matching and transforming process.
JSON-LD Processor
A JSON-LD Processor is a system which can perform the algorithms defined in [[JSON-LD11CG-API]].
frame object
A frame object is a dictionary element within a frame which represents a specific portion of the frame matching either a node object or a value object in the input.
graph name
The IRI identifying a named graph.
id map
An id map is a JSON object value of a term defined with @container set to @id, who's keys are interpreted as IRIs representing the @id of the associated node object; value MUST be a node object. If the value contains a property expanding to @id, it's value MUST be equivalent to the referencing key.
graph object
A graph object represents a named graph represented as the value of a property within a node object. When expanded, a graph object MUST have an @graph member, and may also have @id, and @index members. A simple graph object is a graph object which does not have an @id member. Note that node objects may have a @graph member, but are not considered graph objects if they include any other properties. A top-level object consisting of @graph is also not a graph object.
index map
An index map is a JSON object value of a term defined with @container set to @index, whose values MUST be any of the following types: string, number, true, false, null, node object, value object, list object, set object, or an array of zero or more of the above possibilities.
IRI
An Internationalized Resource Identifier as described in [[!RFC3987]].
JSON-LD document
A JSON-LD document is a serialization of a collection of graphs and comprises exactly one default graph and zero or more named graphs.
JSON-LD value
A JSON-LD value is a string, a number, true or false, a typed value, or a language-tagged string.
keyword
A JSON key that is specific to JSON-LD, specified in the JSON-LD Syntax specification [[JSON-LD11CG]] in the section titled Syntax Tokens and Keywords.
language map
An language map is a JSON object value of a term defined with @container set to @language, whose keys MUST be strings representing [[!BCP47]] language codes and the values MUST be any of the following types: null, string, or an array of zero or more of the above possibilities.
language-tagged string
A language-tagged string consists of a string and a non-empty language tag as defined by [[!BCP47]]. The language tag MUST be well-formed according to section 2.2.9 Classes of Conformance of [[!BCP47]], and is normalized to lowercase.
Linked Data
A set of documents, each containing a representation of a linked data graph.
linked data graph
A labeled directed graph, i.e., a set of nodes connected by edges, as specified in the Data Model section of the JSON-LD specification [[JSON-LD11CG]]. A linked data graph is a generalized representation of an RDF graph as defined in [[!RDF-CONCEPTS]].
list
A list is an ordered sequence of IRIs, blank nodes, and JSON-LD values. See RDF collection in [[RDF-SCHEMA]].
list object
A list object is a JSON object that has an @list member.
literal
An object expressed as a value such as a string, number or in expanded form.
local context
A context that is specified within a JSON object, specified via the @context keyword.
named graph
A named graph is a linked data graph that is identified by an IRI or blank node.
implicitly named graph
A named graph created from the value of a property having an expanded term definition where @container is set to @graph.
nested property
A nested property is a property which is contained within an object referenced by a semantically meaningless nesting property.
node
Every node is an IRI, a blank node, a JSON-LD value, or a list. A piece of information that is represented in a linked data graph.
node object
A node object represents zero or more properties of a node in the graph serialized by the JSON-LD document. A JSON object is a node object if it exists outside of the JSON-LD context and:
node reference
A node object used to reference a node having only the @id key.
object
An object is a node in a linked data graph with at least one incoming edge. See RDF objectin [[RDF11-CONCEPTS]].
prefix
A prefix is the first component of a compact IRI which comes from a term that maps to a string that, when prepended to the suffix of the compact IRI results in an absolute IRI.
processing mode
The processing mode defines how a JSON-LD document is processed. By default, all documents are assumed to be conformant with JSON-LD 1.0 [[!JSON-LD]]. By defining a different version using the @version member in a context, or via explicit API option, other processing modes can be accessed. This specification defines extensions for the json-ld-1.1 processing mode.
property
The IRI label of an edge in a linked data graph. See RDF predicate in [[RDF11-CONCEPTS]].
quad
A piece of information that contains four items; a subject, a property, an object, and a graph name.
RDF dataset
A dataset as specified by [[RDF11-CONCEPTS]] representing a collection of RDF graphs.
RDF resource
A resource as specified by [[RDF11-CONCEPTS]].
RDF triple
A triple as specified by [[RDF11-CONCEPTS]].
relative IRI
A relative IRI is an IRI that is relative to some other absolute IRI, typically the base IRI of the document. Note that properties, values of @type, and values of terms defined to be vocabulary relative are resolved relative to the vocabulary mapping, not the base IRI.
set object
A set object is a JSON object that has an @set member.
subject
A subject is anode in a linked data graph with at least one outgoing edge, related to an object node through a property. See RDF subject in [[RDF11-CONCEPTS]].
term
A term is a short word defined in a context that MAY be expanded to an IRI
term definition
A term definition is an entry in a context, where the key defines a term which may be used within a JSON object as a property, type, or elsewhere that a string is interpreted as a vocabulary item. Its value is either a string (simple term definition), expanding to an absolute IRI, or an expanded term definition.
type map
An type map is a JSON object value of a term defined with @container set to @type, who's keys are interpreted as IRIs representing the @type of the associated node object; value MUST be a node object, or array of node objects. If the value contains a property expanding to @type, it's values are merged with the map value when expanding.
typed literal
A typed literal is a literal with an associated IRI which indicates the literal's datatype. See RDF literal in [[!RDF-CONCEPTS]].
typed value
A typed value consists of a value, which is a string, and a type, which is an IRI.
value object
A value object is a JSON object that has an @value member.
vocabulary mapping
The vocabulary mapping is set in the context using the @vocab key whose value MUST be an absolute IRI null.