The JSON-LD Vocabulary

W3C

Alternate versions of the vocabulary definition exist in Turtle and JSON-LD.

Published:
Version Info:
https://github.com/w3c/json-ld-wg/commit/dfd1827c95a66bc36c01368e10b6e4f4bbb5c8b3

Introduction

This document, and the associated documents in alternative formats, defines the JSON-LD Namespace. This includes URIs required for HTTP Profile and media-type profile definitions, Link relations used for locating JSON-LD context files, and a vocabulary that can be used for representing JSON-LD contexts in RDF.

For example, the following Turtle defines a subset of the terms defined in the JSON-LD vocabulary context definition:

@prefix : <http://www.w3.org/ns/json-ld> .
[ a :Context
  :version 1.1;
  :definition [
    a :PrefixDefinition;
    :term "jsonld";
    :iri <http://www.w3.org/ns/json-ld#>;
  ], [
    a :TermDefinition;
    :term "Context";
    :iri :Context
  ], [
    a :TermDefinition;
    :term "base";
    :iri :base;
    :type "@id"
  ]
] .

Prefix Definitions

jsonld
http://www.w3.org/ns/json-ld#
owl
http://www.w3.org/2002/07/owl#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
schema
http://schema.org/
xsd
http://www.w3.org/2001/XMLSchema#

Class Definitions

The following are class definitions in the jsonld namespace:
Context Context §

Defines term definitions and other aspects of a JSON-LD Context.

A context definition MUST be a map whose keys MUST be either terms, compact IRIs, IRIs, or one of the keywords @base, @import, @language, @propagate, @protected, @type, @version, or @vocab.

You can read more about this feature in the JSON-LD Syntax Specification.
PrefixDefinition Prefix Definition §

A string (simple term definition), expanding to an IRI.

You can read more about this feature in the JSON-LD Syntax Specification.
TermDefinition Term Definition §

A term definition is an entry in a context, where the key defines a term which may be used within a dictionary as a key, type, or elsewhere that a string is interpreted as a vocabulary item. Its value is an expanded term definition.

An expanded term definition MUST be a map composed of zero or more keys from @id, @reverse, @type, @language, @container, @context, @prefix, @propagate, or @protected. An expanded term definition SHOULD NOT contain any other keys.

You can read more about this feature in the JSON-LD Syntax Specification.

Property Definitions

The following are property definitions in the jsonld namespace:
base base §

If the context definition has an @base key, its value MUST be an IRI reference, or null.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:anyUri
schema:domainIncludes
jsonld:Context
container container §

The associated @container value in an expanded term definition.

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords, or a combination of @set and any of @index, @id, @graph, @type, @language in any order.

@container may also be an array containing @graph along with either @id or @index and also optionally including @set.

If the value is @language, when the term is used outside of the @context, the associated value MUST be a language map.

If the value is @index, when the term is used outside of the @context, the associated value MUST be an index map.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
jsonld:ContainerType
schema:domainIncludes
jsonld:TermDefinition
context context §

As an IRI, this link relation is used to associate a JSON-LD context with a JSON document so that it can be interpreted as JSON-LD. In an HTTP request header, specifies the location of a context to use for compaction. As a Context, defines an inline context definition.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
jsonld:Context, xsd:anyUri
definition definition §

Term definition(s) associated with this context.

schema:rangeIncludes
jsonld:TermDefinition, jsonld:PrefixDefinition
schema:domainIncludes
jsonld:Context
direction direction §

If the context definition has an @direction key, its value MUST be one of "ltr" or "rtl", or be null.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:string
schema:domainIncludes
jsonld:Context, jsonld:TermDefinition
id id §

The @id mapping of a term definition.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:anyUri
schema:domainIncludes
jsonld:TermDefinition, jsonld:PrefixDefinition
import import §

If the context definition contains the @import keyword, its value MUST be an IRI reference. When used as a reference from an @import, the referenced context definition MUST NOT include an @import key, itself.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:anyUri
schema:domainIncludes
jsonld:Context
language 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.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:string
schema:domainIncludes
jsonld:Context, jsonld:TermDefinition
nest nest §

If the expanded term definition contains the @nest keyword, its value MUST be either @nest, or a term which expands to @nest.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:string
schema:domainIncludes
jsonld:TermDefinition
prefix prefix §

With the value true, allows this term to be used to construct a compact IRI when compacting.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:boolean
schema:domainIncludes
jsonld:TermDefinition
propagate propagate §

If the context definition contains the @propagate keyword, its value MUST be true or false.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:boolean
schema:domainIncludes
jsonld:Context, jsonld:TermDefinition
protected protected §

If the context definition contains the @protected keyword, its value MUST be true or false.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:boolean
schema:domainIncludes
jsonld:Context, jsonld:TermDefinition
reverse reverse §

The @reverse mapping of an expanded term definition.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:anyUri
schema:domainIncludes
jsonld:TermDefinition
term term §

The term associated with a term definition.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:string
schema:domainIncludes
jsonld:TermDefinition, jsonld:PrefixDefinition
type type §

If the context definition contains the @type keyword, its value MUST be a map with only the entry @container set to @set, and optionally an entry @protected.

If the expanded term definition contains the @type keyword, its value MUST be an IRI reference, a term, null, or one of the keywords @id, @json, @none, or @vocab.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:anyUri, xsd:string
schema:domainIncludes
jsonld:Context, jsonld:TermDefinition
version version §

The processing mode defines how a JSON-LD document is processed. By default, all documents are assumed to be conformant with JSON-LD 1.1`. By defining a different version via explicit API option, other processing modes can be accessed. This specification defines extensions for the json-ld-1.1 processing mode.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:decimal
schema:domainIncludes
jsonld:Context
vocab vocab §

Used to expand properties and values in @type with a common prefix IRI.

You can read more about this feature in the JSON-LD Syntax Specification.
schema:rangeIncludes
xsd:anyUri
schema:domainIncludes
jsonld:Context

Instance Definitions

The following are instance definitions in the jsonld namespace:
compacted compacted §

This profile IRI is used to request or specify compacted JSON-LD document form.

You can read more about this feature in the JSON-LD Syntax Specification.
expanded expanded §

This profile URI is used to request or specify expanded JSON-LD document form.

You can read more about this feature in the JSON-LD Syntax Specification.
flattened flattened §

This profile URI is used to request or specify flattened JSON-LD document form.

You can read more about this feature in the JSON-LD Syntax Specification.
frame frame §

As an IRI, this link relation is used to associate a JSON-LD frame with a JSON-LD document. In an HTTP request header, specifies the location of a frame to use for framing.

You can read more about this feature in the JSON-LD Syntax Specification.
framed framed §

This profile URI is used to request or specify framed JSON-LD document form.

You can read more about this feature in the JSON-LD Syntax Specification.
graphContainerType @graph §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.
idContainerType @id §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.
indexContainerType @index §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.
languageContainerType @language §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.
listContainerType @list §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.
setContainerType @set §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.
streaming streaming §

This profile URI is used to request or specify streaming JSON-LD document form.

You can read more about this feature in the JSON-LD Syntax Specification.
typeContainerType @type §

If the expanded term definition contains the @container keyword, its value MUST be either @list, @set, @language, @index, @id, @graph, @type, or be null or an array containing exactly any one of those keywords.

You can read more about this feature in the JSON-LD Syntax Specification.

Term Definitions

Context
jsonld:Context
PrefixDefinition
jsonld:PrefixDefinition
TermDefinition
jsonld:TermDefinition
base
jsonld:base with string values interpreted as @id
compacted
jsonld:compacted
container
jsonld:container with string values interpreted as @id
context
jsonld:context with string values interpreted as @id
definition
jsonld:definition with string values interpreted as @id
direction
jsonld:direction
expanded
jsonld:expanded
flattened
jsonld:flattened
frame
jsonld:frame
framed
jsonld:framed
graphContainerType
jsonld:graphContainerType
id
jsonld:id with string values interpreted as @id
idContainerType
jsonld:idContainerType
import
jsonld:import with string values interpreted as @id
indexContainerType
jsonld:indexContainerType
language
jsonld:language
languageContainerType
jsonld:languageContainerType
listContainerType
jsonld:listContainerType
nest
jsonld:nest
prefix
jsonld:prefix with string values interpreted as xsd:boolean
propagate
jsonld:propagate with string values interpreted as xsd:boolean
protected
jsonld:protected with string values interpreted as xsd:boolean
reverse
jsonld:reverse with string values interpreted as xsd:anyUri
setContainerType
jsonld:setContainerType
streaming
jsonld:streaming
term
jsonld:term
type
jsonld:type with string values interpreted as @id
typeContainerType
jsonld:typeContainerType
version
jsonld:version with string values interpreted as xsd:decimal
vocab
jsonld:vocab with string values interpreted as @id