diff --git a/Gemfile.lock b/Gemfile.lock index f8b7428c..3cea9e32 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: git://github.com/ruby-rdf/json-ld.git - revision: afe7b3b10547b552676d1379a2be4bc34cf83d02 + revision: 6bb0c2d269e8cf80152d519ee5fd16696812b1f2 branch: develop specs: json-ld (3.0.2) @@ -12,7 +12,7 @@ GIT GEM remote: https://rubygems.org/ specs: - addressable (2.5.2) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) bcp47 (0.3.3) i18n @@ -31,7 +31,7 @@ GEM hamster (3.0.0) concurrent-ruby (~> 1.0) htmlentities (4.3.4) - i18n (1.5.1) + i18n (1.5.3) concurrent-ruby (~> 1.0) json-ld-preloaded (3.0.2) json-ld (~> 3.0) @@ -73,14 +73,14 @@ GEM multi_json (1.13.1) net-http-persistent (3.0.0) connection_pool (~> 2.2) - nokogiri (1.10.0) + nokogiri (1.10.1) mini_portile2 (~> 2.4.0) nokogumbo (1.5.0) nokogiri public_suffix (3.0.3) rack (2.0.6) rake (12.3.2) - rdf (3.0.9) + rdf (3.0.10) hamster (~> 3.0) link_header (~> 0.0, >= 0.0.8) rdf-aggregate-repo (2.2.1) @@ -126,7 +126,7 @@ GEM rdf-turtle (~> 3.0, >= 3.0.3) rdf-trix (2.2.1) rdf (>= 2.2, < 4.0) - rdf-turtle (3.0.3) + rdf-turtle (3.0.5) ebnf (~> 1.1) rdf (~> 3.0) rdf-vocab (3.0.4) diff --git a/index.html b/index.html index 2e11227d..7e882506 100644 --- a/index.html +++ b/index.html @@ -49,8 +49,14 @@ company: "Spec-Ops", companyURL: "https://spec-ops.io/", w3cid: "44770", - note: "v1.0 and v1.1" } - ], + note: "v1.0 and v1.1" }, + { name: "Pierre-Antoine Champin", + url: "http://champin.net/", + company: "LIRIS - Université de Lyon", + companyURL: "https://liris.cnrs.fr/", + w3cid: "42931", + note: "v1.1" } + ], // editors, add as many as you like // only "name" is required @@ -3104,6 +3110,295 @@

Using the Document Base for the Default Vocabulary

Scoped Contexts are a new feature in JSON-LD 1.1, requiring processing mode set to json-ld-1.1.

+ +

Sealed Term Definitions

+

JSON-LD is used in many specifications as the specified data format. + However, there is also a desire to allow some JSON-LD contents to be processed as plain JSON, + without using any of the JSON-LD algorithms. + Because JSON-LD is very flexible, + some terms from the original format may be locally overridden + through the use of embedded contexts, + and take a different meaning for JSON-LD based implementations. + On the other hand, "plain JSON" implementations may not be able to interpret these embedded contexts, + and hence will still interpret those terms with their original meaning. + To prevent this divergence of interpretation, + JSON-LD 1.1 allows term definitions to be sealed. +

+

A sealed term definition is a term definition with a member @sealed set to true. + It prevents further contexts to override this term definition. +

+ + + + +

When all or most term definitions of a context need to be sealed, + it is possible to add a member @sealed set to true + to the context itself. + It has the same effect as sealing each of its term definitions individually. + Exceptions can be made by adding a member @sealed set to false + in some term definitions. +

+ + + +

While sealed term definitions can not be directly overridden, + it is worth noting that setting @context to null + will erase everything from the active context, + including sealed term definitions. +

+ + +

By preventing terms from being overridden, + sealing also prevents any adaptation of a term + (e.g., defining a more precise datatype, restricting the term's use to lists, etc.). + This kind of adaptation is frequent with some general purpose contexts, + for which sealing would therefore hinder their usability. + As a consequence, context publishers should use this feature with care. +

+ +

Sealed term definitions are a new feature in JSON-LD 1.1, requiring + processing mode set to json-ld-1.1.

+

Describing Values