diff --git a/common/jsonld.js b/common/jsonld.js index 1756474b..f37bb152 100644 --- a/common/jsonld.js +++ b/common/jsonld.js @@ -61,11 +61,11 @@ const jsonld = { }, "JCS": { title: "JSON Canonicalization Scheme (JCS)", - href: 'https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-05', + href: 'https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-17', authors: ['A. Rundgren', 'B. Jordan', 'S. Erdtman'], publisher: 'Network Working Group', status: 'Internet-Draft', - date: 'February 16, 2019' + date: '20 January 2020' }, // These necessary as specref uses the wrong URLs "RFC7231": { diff --git a/index.html b/index.html index 8c7ed1ce..e71031a6 100644 --- a/index.html +++ b/index.html @@ -1070,6 +1070,7 @@
Each term definition consists of:
A term definition can not only be used to map a term @@ -1153,6 +1155,15 @@
+ When an active context is initialized, the value + of the original base URL + is initialized from the original {{RemoteDocument/documentUrl}} + of the document containing the initial context. + This is necessary when resetting the active context + by setting it to `null` + to retain the original default base IRI.
+Then, for every other entry in local context, we update the term definition in result. Since term definitions in a local context @@ -1171,11 +1182,15 @@
This algorithm specifies how a new active context is updated
- with a local context. The algorithm takes two required
+ with a local context. The algorithm takes three required
and three optional
input variables.
- The required inputs are an active context and a local context.
- The optional inputs are an array remote contexts,
+ The required inputs are
+ an active context,
+ a local context,
+ and a base URL used when resolving relative context URLs.
+ The optional inputs are
+ an array remote contexts,
defaulting to a new empty array, which is used to detect cyclical context inclusions,
override protected, defaulting to false
,
@@ -1206,49 +1221,22 @@ Algorithm
contains any protected term definitions,
an invalid context nullification
has been detected and processing is aborted.
- false
.
- Continue with the next context.
- false
+ and both base IRI and original base URL to the value of
+ original base URL in active context.
+
http://www.w3.org/ns/json-ld#context
for profile
and for requestProfile.
@context
entry, an
invalid remote context
has been detected and processing is aborted.@import
against
- the base IRI which is established as specified in
- section 5.1 Establishing a Base URI
- of [[RFC3986]]. Only the basic algorithm in
- section 5.2
- of [[RFC3986]] is used; neither
- Syntax-Based Normalization nor
- Scheme-Based Normalization
- are performed. Characters additionally allowed in IRI
- references are treated in the same way that unreserved
- characters are treated in URI references, per
- section 6.5
- of [[RFC3987]].@protected
entry from context, if any, for protected
.
@@ -1508,11 +1501,14 @@ The algorithm has four required and two optional inputs. +
The algorithm has four required and three optional inputs.
The required inputs are
- an active context, a local context,
- a term, and a map defined.
+ an active context,
+ a local context,
+ a term,
+ and a map defined.
The optional inputs are
+ base URL,
protected which defaults to false
,
and override protected, defaulting to false
,
which is used to allow changes to protected terms..
@@ -1561,7 +1557,10 @@
false
.@protected
entry in value
is true
set the protected flag in definition to true.
If the value of `@protected` is not a boolean,
@@ -1569,9 +1568,6 @@ @protected
entry in value
- and the protected parameter is true
,
- set the protected in definition to true.@type
:
true
and return.false
.@id
and its value
does not equal term:
@context
entry, which is treated as a local context.true
for override protected.
If any error is detected, an
invalid scoped context error
@@ -1795,7 +1790,8 @@ @language
and
@@ -1844,7 +1840,7 @@ :
) or slash (`/`), an
invalid term definition
has been detected and processing is aborted.@prefix
entry, which MUST be a boolean. Otherwise, an
invalid @prefix value
error has been detected and processing is aborted.The algorithm takes three required and three optional input variables. +
The algorithm takes four required and three optional input variables.
The required inputs are an active context,
- an active property, and an element to be expanded.
+ an active property, an element to be expanded,
+ and a base URL associated with the {{RemoteDocument/documentUrl}} of the original
+ document to expand.
The optional inputs are the
{{JsonLdOptions/frameExpansion}}
flag allowing special forms of input used for frame expansion,
@@ -2426,7 +2424,9 @@ If the documentLoader
option is specified, it is used to dereference remote documents and contexts.
- The documentUrl
+ The {{RemoteDocument/documentUrl}}
in the returned RemoteDocument
is used as base IRI and the
- contextUrl
+ {{RemoteDocument/contextUrl}}
is used instead of looking at the HTTP Link Header directly. For the sake of simplicity, none of the algorithms
in this document mention this directly.Algorithm
Algorithm
Algorithm
set active context to the result of the
Context Processing algorithm,
passing active context, property-scoped context as local context,
+ base URL from the term definition for active property,
+ in active context
and `true` for override protected.
@context
, set
active context to the result of the
Context Processing algorithm,
- passing active context and the value of the
- @context
entry as local context.@context
entry as local context
+ and base URL.
Algorithm
passing active context,
the value of the
term's local context as local context,
+ base URL from the term definition for value
+ in active context,
and `false` for propagate.
@@ -2590,6 +2596,7 @@ Algorithm
expanded value to the result of using this algorithm
recursively passing active context, @graph
for active property, value for element,
+ base URL,
and the {{JsonLdOptions/frameExpansion}}
and {{JsonLdOptions/ordered}} flags,
@@ -2601,6 +2608,7 @@ Algorithm
Algorithm
Algorithm
expanded value to the result of using this algorithm
recursively, passing active context,
active property, value for element,
+ base URL,
and the {{JsonLdOptions/frameExpansion}}
and {{JsonLdOptions/ordered}} flags.
@reverse
:
@@ -2714,6 +2724,7 @@ Algorithm
algorithm recursively, passing active context,
@reverse
as active property,
value as element,
+ base URL,
and the {{JsonLdOptions/frameExpansion}}
and {{JsonLdOptions/ordered}} flags.@reverse
entry,
@@ -2763,6 +2774,7 @@ Algorithm
Expansion Algorithm
recursively, passing active context,
active property, value for element,
+ base URL,
and the {{JsonLdOptions/frameExpansion}}
and {{JsonLdOptions/ordered}} flags.null
,
@@ -2849,8 +2861,10 @@ Algorithm
map context to the result of the
Context Processing algorithm,
passing map context as active context
- and the value of the index's local context
- as local context.Algorithm
map context as active context,
key as active property,
index value as element,
+ base URL,
and the {{JsonLdOptions/frameExpansion}}
and {{JsonLdOptions/ordered}} flags.
Algorithm
null
, ignore key
@@ -3397,14 +3413,17 @@ Algorithm
and element does not consist of a single @id
entry,
set active context to previous context from active context,
as the scope of a term-scoped context does not apply when processing new node objects.
true
for override protected.true
for override protected.Algorithm
Algorithm
Algorithm
and options,
with {{JsonLdOptions/ordered}} set to false
,
and {{JsonLdOptions/extractAllScripts}} defaulting to false
.
+ @context
entry,
set context to that entry's value,
@@ -5665,7 +5689,8 @@ Algorithm
Algorithm
for url,
the {{JsonLdOptions/extractAllScripts}} option for extractAllScripts.
null
.
If set, the {{JsonLdOptions/base}} option from options overrides the base IRI.@context
entry,
pass that entry's value instead.LoadDocumentCallback
+json
suffix as defined in [[RFC6839]].
Reject the promise passing a loading document failed error.profile
parameter,
and any contextUrl.LoadDocumentOptions
unless a specific fragment identifier is targeted,
extracts all encountered JSON-LD script elements using an array form, if necessary.
text/html
+ text/html
or application/xhtml+xml
,
this option determines the profile to use for selecting JSON-LD script elements.RemoteDocument
of the loaded document, exclusive of any optional parameters.
profile
parameter
- retrieved as part of the original contentType.