Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

Commit

Permalink
Restructure, stub Data Model
Browse files Browse the repository at this point in the history
  • Loading branch information
rhiaro committed Mar 2, 2019
1 parent aeb7bc6 commit 0366ed0
Showing 1 changed file with 97 additions and 56 deletions.
153 changes: 97 additions & 56 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -669,6 +669,35 @@ <h2>
</section>
</section>

<section class="informative">
<h1>
Core Data Model
</h1>
<p>
This section outlines the core data model concepts. These are elaborated
in <a href="#did-documents"></a>.
</p>

<section>
<h2>
Document
</h2>
</section>

<section>
<h2>
Keys
</h2>
</section>

<section>
<h2>
Services
</h2>
</section>

</section>

<section>
<h1>
Decentralized Identifiers (DIDs)
Expand Down Expand Up @@ -813,7 +842,7 @@ <h2>

<p>
A DID MUST be persistent and immutable, i.e., bound to an entity once
and never changed (forever).
and never changed (forever).
</p>

<p>
Expand All @@ -822,7 +851,7 @@ <h2>
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
<a href="https://en.wikipedia.org/wiki/List_of_DNS_record_types%23SOA">start-of-authority</a>
(SOA) problems. It also greatly increases implementation complexity
for developers.
Expand Down Expand Up @@ -853,70 +882,18 @@ <h1>
</h1>

<p>
DID Documents are the serialization of the <a href="#core-data-model"></a>.
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
identifier.
</p>

<p>
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 <a href="https://json-ld.org/">JSON-LD</a>, 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 <a href="http://docs.oasis-open.org/xdi/xdi-core/v1.0/csd01/xdi-core-v1.0-csd01.xml">
XDI graph model</a>.
</p>

<p>
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.
</p>

<section>
<h2>
Context
</h2>

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

<ol start="1">
<li>
A DID Document MUST have exactly one top-level context statement.
</li>

<li>
The key for this property MUST be <code>@context</code>.
</li>

<li>
The value of this key MUST be the URL for the generic DID context:
<code>https://w3id.org/did/v1</code>.
</li>
</ol>

<p>
Example (using an example URL):
</p>

<pre class="example nohighlight">
{
"@context": "https://w3id.org/did/v1"
}
</pre>
<p>
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.
</p>
</section>

<section>
<h2>
DID Subject
Expand Down Expand Up @@ -1758,6 +1735,70 @@ <h2>
</section>
</section>

<section>
<h1>
DID Document Syntax
</h1>
<p>
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
<a href="#data-model"></a> and <a href="#did-documents"></a>) is realized in JSON-LD.
</p>
<p>
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 <a href="http://docs.oasis-open.org/xdi/xdi-core/v1.0/csd01/xdi-core-v1.0-csd01.xml">
XDI graph model</a>), XML, YAML, or CBOR, that is capable of expressing the data model.
</p>

<section>
<h2>
JSON-LD
</h2>

<p>
JSON objects in JSON-LD format must include a JSON-LD context
statement. The
<a href="https://www.w3.org/TR/json-ld/#the-context">JSON-LD Context</a>
is described in detail in the [[!JSON-LD]] specification. The rules for this
statement are:
</p>

<ol start="1">
<li>
A DID Document MUST have exactly one top-level context statement.
</li>

<li>
The key for this property MUST be <code>@context</code>.
</li>

<li>
The value of this key MUST be the URL for the generic DID context:
<code>https://w3id.org/did/v1</code>.
</li>
</ol>

<p>
Example (using an example URL):
</p>

<pre class="example nohighlight">
{
"@context": "https://w3id.org/did/v1"
}
</pre>
<p>
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.
</p>
</section>
</section>

<section>
<h1>
DID Methods
Expand Down

1 comment on commit 0366ed0

@mwherman2000
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicating #151 (comment) ...

In the proposed changes 0366ed0, I don't see where the phrase "Decentralized Identifiers Data Model" was removed or changed.

We should make sure Core Data Model is used consistently through the document (including the title: #130 (comment)).

Please sign in to comment.