diff --git a/index.html b/index.html index 7b577680..8a81d72b 100644 --- a/index.html +++ b/index.html @@ -10856,12 +10856,31 @@

Graph Containers

-

Interpreting JSON as JSON-LD

+

Modifying Behavior with Link Relationships

+

Certain aspects of JSON-LD processing can be modified using + HTTP Link Headers [[RFC8288]]. + These can be used when retrieving resources that are not, themselves, JSON-LD, + but can be interpreted as JSON-LD by using information in a + Link Relation.

+ +

When processing normal JSON documents, a link relation can be specified using + the HTTP Link Header + returned when fetching a remote document, as described in .

+ +

In other cases, a resource may be returned using a representation that cannot easily be interpreted + as JSON-LD. Normally, HTTP content negotiation + would be used to allow a client to specify a preference for JSON-LD over another representation, + but in certain situations, it is not possible for a server to respond appropriately to such requests. + For this, an HTTP Link Header can be used to provide an alternate location for a document + to be used in place of the originally requested resource, + as described in .

+ +

Interpreting JSON as JSON-LD

Ordinary JSON documents can be interpreted as JSON-LD by providing an explicit JSON-LD context document. One way to provide this is by using referencing a JSON-LD - context document in an HTTP Link Header. + context document in an HTTP Link Header. Doing so allows JSON to be unambiguously machine-readable without requiring developers to drastically change their documents and provides an upgrade path for existing infrastructure without breaking existing clients that rely on the application/json @@ -10887,7 +10906,7 @@

Graph Containers

of the @context subtree in the referenced document MUST be discarded. Effectively this means that the active context is initialized with the referenced external context. A response MUST NOT - contain more than one HTTP Link Header [[RFC8288]] using the + contain more than one HTTP Link Header using the http://www.w3.org/ns/json-ld#context link relation.

Other mechanisms for providing a JSON-LD Context MAY be described for other @@ -10932,6 +10951,63 @@

Graph Containers

ignored for such documents.

+

Alternate Document Location

+ +

Documents which can't be directly interpreted as JSON-LD can provide an alternate location containing JSON-LD. + One way to provide this is by using referencing a JSON-LD document in an HTTP Link Header. + This might be useful, for example, when the URL associated with a namespace naturally + contains an HTML document, but the JSON-LD context associated with that URL is located elsewhere.

+ +

To specify an alternate location, a non-JSON resource + (i.e., one using a media type other than `application/json` or a derivative) + can return the alternate location using a Link Header with:

+ +
    +
  • rel="alternate", and
  • +
  • type="application/ld+json".
  • +
+ +

A response MUST NOT contain more than one HTTP Link Header using the + alternate link relation with type="application/ld+json" .

+ +

Other mechanisms for providing an alternate location MAY be described for other + URI schemes.

+ +

The following example demonstrates the use of an alternate location with an + ordinary HTTP document over HTTP:

+ +
+  
+  
+ +

A processor seeing a non-JSON result will note the presense of the link header + and load that document instead.

+
+
+

Embedding JSON-LD in HTML Documents

This section describes features available to a full Processor.

@@ -12597,7 +12673,7 @@

Relationship to RDF

also be used as a graph source. In that case, a consumer MUST only use the default graph and ignore all named graphs. This allows servers to expose data in languages such as Turtle and JSON-LD - using content negotiation.

+ using HTTP content negotiation.

Publishers supporting both dataset and graph syntaxes have to ensure that the primary data is stored in the default graph to enable consumers that do not support @@ -13466,6 +13542,8 @@

Changes since JSON-LD Community Group Final Report

This allows the use of the object form of a JSON-LD document when there is more than one node object being defined, and where those node objects are not embedded as values of the containing node object. +
  • The `alternate` link relation can be used to supply an alternate location for + retrieving a JSON-LD document when the returned document is not JSON.