diff --git a/spec/latest/common/terms.html b/spec/latest/common/terms.html index e9d64b8e7..3c64f5133 100644 --- a/spec/latest/common/terms.html +++ b/spec/latest/common/terms.html @@ -212,6 +212,14 @@
@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.JSON-LD 1.1 introduces new features that are
+ compatible with JSON-LD 1.0 [[!JSON-LD-20140116]],
+ but if processed by a JSON-LD 1.0 processor may produce different results.
+ In order to detect this JSON-LD 1.1 requires that the processing
+ mode be explicitly set to json-ld-1.1
, either through the
+ processingMode API option, or using the
+ @version
member within a context.
There are four major types of transformation that are discussed in this document: expansion, compaction, flattening, and RDF serialization/deserialization.
@@ -656,6 +664,12 @@Unless specified using + processingMode API option, the first + context parsed which is a JSON object determines + sets the processing mode and + affects the behavior of expansion and compaction algorithms.
+If context is a string, it represents a reference to
a remote context. We dereference the remote context and replace context
with the value of the @context
key of the top-level object in the
@@ -767,6 +781,20 @@
@version
key:
+ 1.1
,
+ an invalid @version value
+ has been detected, and processing is aborted.json-ld-1.1
is not a prefix
+ of processing mode,
+ a processing mode conflict
+ error has been detected and processing is aborted.json-ld-1.1
, if not already set.@vocab
key:
json-ld-1.0
, if not already set.@language
. Otherwise, an
invalid container mapping
has been detected and processing is aborted.
+ json-ld-1.0
and the container value
+ is @id
or @type
, an
+ invalid container mapping
+ has been detected and processing is aborted.@context
:
json-ld-1.0
, an
+ invalid term definition
+ has been detected and processing is aborted.@context
key, which is treated as a local context.@nest
:
json-ld-1.0
, an
+ invalid term definition
+ has been detected and processing is aborted.@nest
key, which must be a string and
must not be a keyword other than @nest
. Otherwise, an
@@ -1234,7 +1274,7 @@ @embed
, @explicit
, @omitDefault
, or
@requireAll
) which are preserved through expansion.
Special processing for a JSON-LD Frame is invoked when the
- processingMode API option is set
+ processing mode is set
to json-ld-1.1-expand-frame
, indicated in the algorithm
with the frame expansion
flag.
@@ -4053,7 +4093,7 @@ true
, the JSON-LD processor may emit blank nodes for
triple predicates, otherwise they will be omitted.json-ld-1.1
, the implementation has to produce
- exactly the same results as the algorithms defined in this specification.
+ json-ld-1.0
or json-ld-1.1
, the
+ implementation must produce exactly the same results as the algorithms
+ defined in this specification.
If set to another value, the JSON-LD processor is allowed to extend
or modify the algorithms defined in this specification to enable
application-specific optimizations. The definition of such
@@ -4196,6 +4238,7 @@ @reverse
member has been detected,
i.e., the value was not a JSON object.@version
key was used in a context with
+ an out of range value.null
.http://www.w3.org/ns/json-ld#context
link relation
have been detected.frame expansion
flag, to enable content associated with JSON-LD
frames, which may not otherwise be valid JSON-LD documents.The following is a list of open issues being worked on for the next release.
- @@ -4392,9 +4441,10 @@expandContext
set to null
- and processingMode
set to "json-ld-framing-1.1-expand-frame".
+ and processingMode
set to json-ld-1.1-expand-frame.
@context
from frame, if it exists, or to
a new empty context, otherwise.Consider requirements from Self-Review Questionnaire: Security and Privacy.
+ +@nest
@version
json-ld-1.1
.
+ :
New features defined in JSON-LD 1.1 are available
+ when the processing mode is set to json-ld-1.1
.
+ This may be set using the @version
member in a context
+ set to the value 1.1
as a number, or through an API option.
+ ++ +
The first context
encountered when processing a
+ document determines the processing mode
,
+ unless it is defined explicitly through an API option.
Setting the processing mode explicitly + for JSON-LD 1.1 is necessary so that a JSON-LD 1.0 processor + does not attempt to process a JSON-LD 1.1 document and silently + produce different results.
+@
character are to be avoided as they
might be used as keyword in future versions
of JSON-LD. Terms starting with an @
character that are not
- JSON-LD 1.0 keywords are treated as any other term, i.e.,
+ JSON-LD 1.1 keywords are treated as any other term, i.e.,
they are ignored unless mapped to an IRI. Furthermore, the use of
empty terms (""
) is not allowed as
not all programming languages are able to handle empty JSON keys.
@@ -2101,7 +2138,7 @@ The @reverse
keyword can also be used in
+
The @reverse
keyword can also be used in
expanded term definitions
to create reverse properties as shown in the following example:
Scoping on @type
is useful when common properties are used to relate things of different types, where the vocabularies in use within different entities calls for different context scoping. For example, `hasPart`/`partOf` may be common terms used in a document, but mean different things depending on the context.
Scoped Contexts are a new feature in JSON-LD 1.1, requiring
+ processing mode set to json-ld-1.1
The interpretation of the data above is exactly the same as that in using a JSON-LD processor.
+ +Id maps are a new feature in JSON-LD 1.1, requiring
+ processing mode set to json-ld-1.1
schema:Corporpation
and
schema:ProfessionalService
keys will be interpreted
as the @type
property of the node object value.
+
+ Type maps are a new feature in JSON-LD 1.1, requiring
+ processing mode set to json-ld-1.1
Nested properties are a new feature in JSON-LD 1.1, requiring
+ processing mode set to json-ld-1.1
If the context definition has an @version
key,
+ its value MUST be a number with the value 1.1
.
The value of keys that are not keyword MUST be either an absolute IRI, a compact IRI, a term, a blank node identifier, a keyword, null, @@ -3728,7 +3780,6 @@
The following is a list of open issues being worked on for the next release.
- @@ -3743,8 +3794,8 @@