json-ld / json-ld.org

JSON for Linked Data's documentation and playground site
https://json-ld.org/
Other
852 stars 151 forks source link

The playground silently ignores bugged contexts #842

Open pchampin opened 3 weeks ago

pchampin commented 3 weeks ago

An easy mistake for context publisher is to forget to wrap their context in { "@context": ... }. See for example https://openprovenance.org/prov-jsonld/2020-03-23/context.json (yes, this context has other issue, but that's not relevant to my point here).

Unfortunately, the JSON-LD Playground does not report any error when asked to use that context. It just silently ignores it.

I guess the rationale was that the absence of @context was equivalent to an empty @context, but I would argue that the absence of @context in a resource that is explicitly used as a context is very likely to be an error instead, and should be reported.

By the way, that's other JSON-LD implementations (@gkellogg's or @timothee-haudebourg's) do.

Example in the playground where the invalid context is silently ignored.

pchampin commented 3 weeks ago

In fact, this behavior does not conform to the spec. See the Context Processing Algorithm:

5.2.5.2) If the document has no top-level map with an @context entry, an invalid remote context has been detected and processing is aborted.