Description
A number of standards track specifications use JSON-LD for extensibility but intentionally place limitations on overriding the terms defined in a core context. For example:
Implementations may augment the provided @context with additional @context definitions but must not override or change the normative context.
https://www.w3.org/TR/activitystreams-core/#jsonld
Implementations MUST produce an error when an extension JSON-LD Context overrides the expanded URL for a term specified in the base JSON-LD Context (https://w3id.org/credentials/v1). To avoid the possibility of accidentally overriding terms, developers are urged to scope their extensions.
https://w3c.github.io/vc-data-model/#extensibility
It seems like it would be a nice feature to allow enforcement of this desire by JSON-LD processors. Then authors could be assured that the interpretation of a context would be proper and properly implemented JSON-LD processors would throw errors if rules were violated.
In short, I propose we add a keyword with boolean value such as "@sealed": true
(that could appear in contexts) to JSON-LD 1.1 that enables processors to enforce a desire to prevent defined terms from being redefined in subsequent contexts, but allows for new terms (aka extensions) to be defined.
Original issue: Introduce concept of "sealed" contexts #656