diff --git a/index.html b/index.html index 2ed1a3ce..0ccfdb5e 100644 --- a/index.html +++ b/index.html @@ -2833,136 +2833,105 @@
-JSON-LD is a JSON-based format used to serialize
-Linked Data.
-This section establishes the requirements for producing and consuming DID
-documents that are expressed as JSON-LD. JSON-LD DID documents
-are indicated by a contentType
resolver metadata field that is
-set to application/did+ld+json
.
-
-Use of the media type application/did+ld+json
is pending
-clarification over the registration of
-
-media types with multiple suffixes. The alternative will be to use
-application/ld+json
with an expected profile parameter of
-https://www.w3.org/ns/did/json-ld-profile
if multiple suffixes
-cannot be registered by the time the rest of DID Core is ready for W3C
-Proposed Recommendation. See also
-Issue 208.
+JSON-LD [[JSON-LD11]] is a JSON-based format used to serialize Linked Data. This
+section defines the production and consumption rules for the
+JSON-LD representation.
-The following application-specific modifications are made by this specification -to the JSON-LD specification [[JSON-LD11]] to ease interoperability between -JSON and JSON-LD implementations: +The JSON-LD representation defines the following representation-specific +entries:
-@id
and @type
keywords are aliased to
-id
and type
respectively, enabling developers
-to use this specification as idiomatic JSON.
- id
that refers to the DID subject MUST be a valid
-DID and not any other kind of IRI.
-
-The DID document MUST be serialized according to the
-production rules for JSON, with one additional
-requirement: The serialized DID document MUST include the
-@context
member.
+The DID document and any DID document data structures expressed by the data model MUST
+be serialized to the JSON-LD representation according to the JSON
+representation production rules as defined in .
-The JSON-LD
-specification defines values that are valid for this member. It
-contains representation-specific syntax and therefore could be present as an
-entry in the data model to aid in lossless conversion. If the entry
-is present in the data model, it MUST be used during
-production unless either an alternative @context
value is
-explicitly provided to the producer or if the value from the data model is not
-valid according to the consumption rules.
-
-The value of @context
MUST be exactly one of these values.
-
+In addition to using the JSON representation production rules,
+JSON-LD production MUST include the representation-specific
+@context
entry. The serialized value of
+@context
MUST be the JSON
+String https://www.w3.org/ns/did/v1
, or a JSON Array where the first item is the JSON String
+https://www.w3.org/ns/did/v1
and the subsequent items are
+serialized according to the JSON representation production
+rules.
+
https://www.w3.org/ns/did/v1
.
- +{ "@context": "https://www.w3.org/ns/did/v1", ... } --
https://www.w3.org/ns/did/v1
, and subsequent items of
-type JSON String or
-JSON Object.
- ++
{ "@context": [ "https://www.w3.org/ns/did/v1", - "https://example.com/blockchain-identity/v1" + "https://did-method-extension.example/v1" ], ... } --
-All JSON-LD terms defined by the @context
SHOULD exist in the DID
-Specification Registries [[?DID-SPEC-REGISTRIES]] in order to achieve
-interoperability across different representations. If a term does not exist
-in the DID Specification Registries, then the DID document might not be
-interoperable across representations.
-
+All implementers creating conforming producers that produce JSON-LD +representations are advised to ensure that their algorithms +produce valid JSON-LD [[JSON-LD11]] documents. Invalid JSON-LD documents will +cause JSON-LD processors to halt and report errors. +
+ ++In order to achieve interoperability across different representations, +all JSON-LD Contexts and their terms SHOULD be registered in the DID +Specification Registries [[?DID-SPEC-REGISTRIES]]. +
-
-It is RECOMMENDED that dereferencing each URI value of the
-@context
entry results in a document containing
-machine-readable information about the context. Note that further expectations
-of additional JSON-LD contexts are described as part of the DID Specification
-Registries registration process.
-
-Producers SHOULD NOT produce DID documents that contain properties not
-defined via the @context
. Properties that are not defined via the
-@context
MAY be dropped by Consumers.
+A conforming producer that generates a JSON-LD representation
+SHOULD NOT produce a DID document that contains terms not defined
+via the @context
as conforming consumers are expected
+to remove unknown terms. When serializing a JSON-LD representation of a DID
+document, a conforming producer MUST specify a media type of
+application/did+ld+json
to downstream applications such as
+described in .
+
+Use of the media type application/did+ld+json
is pending
+clarification over the registration of
+
+media types with multiple suffixes. The alternative will be to use
+application/ld+json
with an expected profile parameter of
+https://www.w3.org/ns/did/json-ld-profile
if multiple suffixes
+cannot be registered by the time the rest of DID Core is ready for W3C
+Proposed Recommendation. See also
+Issue 208.
-The DID document MUST be deserialized as a JSON document according to
-the consumption rules for JSON, with one additional
-requirement: The serialized DID document MUST include the
-@context
member and be processed according to the rules below.
+The DID document and any DID document data structures expressed by a JSON-LD representation MUST be
+deserialized into the data model according to the JSON
+representation consumption rules as defined in .
-The value of the @context
member conforms to the
-JSON-LD Production Rules. If more than one
-URI is provided, the URIs MUST be interpreted as an
-ordered set.
-
+In addition to using the JSON representation consumption rules, +JSON-LD consumption MUST add the representation-specific entries into +the data model according to the +JSON representation consumption rules. +
+ ++All implementers creating conforming consumers that consume JSON-LD +representations are advised to ensure that their algorithms only accept +valid JSON-LD [[JSON-LD11]] documents. Invalid JSON-LD documents will cause +JSON-LD processors to halt and report errors. +
-Consumers SHOULD drop all properties from a DID document that are not
-defined via the @context
.
+Conforming consumers that process a JSON-LD representation SHOULD
+drop all terms from a DID document that are not defined via the
+@context
.