diff --git a/index.html b/index.html index cf8ac74..d68eab9 100644 --- a/index.html +++ b/index.html @@ -669,6 +669,35 @@

+
+

+Core Data Model +

+

+This section outlines the core data model concepts. These are elaborated +in . +

+ +
+

+Document +

+
+ +
+

+Keys +

+
+ +
+

+Services +

+
+ +
+

Decentralized Identifiers (DIDs) @@ -813,7 +842,7 @@

A DID MUST be persistent and immutable, i.e., bound to an entity once -and never changed (forever). +and never changed (forever).

@@ -822,7 +851,7 @@

to multiple underlying distributed ledgers or networks over time, thus maintaining its persistence independent of any particular ledger or network. However registering the same identifier on multiple -ledgers or networks introduces extremely hard entityship and +ledgers or networks introduces extremely hard entityship and start-of-authority (SOA) problems. It also greatly increases implementation complexity for developers. @@ -853,6 +882,7 @@

+DID Documents are the serialization of the . If a DID is the index key in a key-value pair, then the DID Document is the value to which the index key points. The combination of a DID and its associated DID Document forms the root record for a decentralized @@ -860,63 +890,10 @@

-A DID Document MUST be a single JSON object conforming to [[RFC7159]]. -For purposes of this version of the DID specification, the format of -this JSON object is specified in JSON-LD, a format for mapping JSON data into -the RDF semantic graph model as defined by [[JSON-LD]]. Future versions -of this specification MAY specify other semantic graph formats for a -DID Document such as JXD (JSON XDI Data), a serialization format for -the -XDI graph model. -

- -

-The following sections define the properties of this JSON object, +The following sections define the properties of the DID Document, including whether these properties are required or optional.

-
-

-Context -

- -

-JSON objects in JSON-LD format must include a JSON-LD context -statement. The rules for this statement are: -

- -
    -
  1. -A DID Document MUST have exactly one top-level context statement. -
  2. - -
  3. -The key for this property MUST be @context. -
  4. - -
  5. -The value of this key MUST be the URL for the generic DID context: -https://w3id.org/did/v1. -
  6. -
- -

-Example (using an example URL): -

- -
-{
-  "@context": "https://w3id.org/did/v1"
-}
-
-

-DID method specifications MAY define their own JSON-LD contexts. -However it is NOT RECOMMENDED to define a new context unless -necessary to properly implement the method. Method-specific contexts -MUST NOT override the terms defined in the generic DID context. -

-
-

DID Subject @@ -1758,6 +1735,70 @@

+
+

+DID Document Syntax +

+

+A DID Document MUST be a single JSON object conforming to [[RFC7159]]. +Many of the concepts in this document were introduced by example using the +JSON-LD syntax, a format for mapping JSON data into the RDF semantic graph model as defined by +[[!JSON-LD]]. This section formalizes how the data model (described in Sections + and ) is realized in JSON-LD. +

+

+Although syntactic mappings are provided for JSON-LD only, applications and +services can use any other data representation syntax, such as JXD (JSON XDI Data, a serialization format for +the +XDI graph model), XML, YAML, or CBOR, that is capable of expressing the data model. +

+ +
+

+JSON-LD +

+ +

+JSON objects in JSON-LD format must include a JSON-LD context +statement. The +JSON-LD Context +is described in detail in the [[!JSON-LD]] specification. The rules for this +statement are: +

+ +
    +
  1. +A DID Document MUST have exactly one top-level context statement. +
  2. + +
  3. +The key for this property MUST be @context. +
  4. + +
  5. +The value of this key MUST be the URL for the generic DID context: +https://w3id.org/did/v1. +
  6. +
+ +

+Example (using an example URL): +

+ +
+{
+  "@context": "https://w3id.org/did/v1"
+}
+
+

+DID method specifications MAY define their own JSON-LD contexts. +However it is NOT RECOMMENDED to define a new context unless +necessary to properly implement the method. Method-specific contexts +MUST NOT override the terms defined in the generic DID context. +

+
+
+

DID Methods