diff --git a/index.html b/index.html index 1547a876..e06efc08 100644 --- a/index.html +++ b/index.html @@ -3666,14 +3666,115 @@
While protected terms can in general not be overridden,
- there is an exception to this rule:
- a property-scoped context is not affected by protection,
- and can therefore override protected terms,
+ there are two exceptions to this rule.
+ The first exception is that a context is allowed to redefine a protected term
+ if the new definition is identical to the protected term definition
+ (modulo the @protected
flag).
+ The rationale is that the new definition does not violate the protection,
+ as it does not change the semantics of the protected term.
+ This is useful for widespread term definitions,
+ such as aliasing @type
to type
,
+ which may occur (including in a protected form) in several contexts.
+
The second exception is that a property-scoped context
+ is not affected by protection, and can therefore override protected terms,
either with a new term definition,
or by clearing the context with "@context": null
.
- The rationale is that "plain JSON" implementations, +
The rationale is that "plain JSON" implementations, relying on a given specification, will only traverse properties defined by that specification. Scoped contexts belonging to the specified properties are part of the specification, @@ -12729,6 +12830,8 @@
application/ld+json;profile=http://www.w3.org/ns/json-ld#frame
.