Skip to content

Updated vocabulary and diagram #189

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Sep 18, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 98 additions & 3 deletions vocab/security/template.html
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ <h2>Specification of terms</h2>
using the draw.io (diagrams.net plugin for google).
-->
<div data-include="vocabulary.svg" data-include-replace="true" data-oninclude="massageSVGLinks"></div>
<figcaption>Overview diagram of the vocabulary (without the deprecated items, the error codes, and xsd datatypes).<br />
<figcaption>Overview diagram of the vocabulary (without the reserved and deprecated items, error codes, and `xsd` datatypes).<br />
A separate, stand-alone <a href="vocabulary.svg" target="_blank">SVG version</a> of the diagram, as well as a <a
href="#vocabulary-diagram-alt">textual description</a>,
are also available.
Expand Down Expand Up @@ -244,8 +244,103 @@ <h2>Deprecated individuals</h2>
<section class="appendix" id="vocabulary-diagram-alt">
<h2>Diagram description</h2>
<details>
<summary>Overview diagram of the vocabulary (without the deprecated items).</summary>
<p>t.b.d.</p>
<summary>Overview diagram of the vocabulary (without the reserved and deprecated items, error codes, and `xsd` datatypes).</summary>
<p>
The diagram uses boxes, ellipses, and connecting lines with different "styles"
(border color, end marker, line type) to differentiate their semantic meaning;
these styles identify Property, Class, or Datatype, via the shapes used for the
graph nodes, and Superclass, Domain Of, Range, or Contains, via the styles of the connecting lines.
These style names are used in the explanation text in what follows.
</p>
<p>
The diagram is roughly divided in a left and a right section
(although there are some common nodes, see later).
To make this description easier, these will be referred to as the
"Proof Section" and the "Verification Section".
Each section contains, at the top, an ellipse, styled as Class,
and labeled as "Proof", respectively "VerificationMethod".
</p>
<section>
<h3>Proof Section</h3>
<p>
The left side of the Proof Section contains another ellipse,
styled as Class and labeled as "ProofGraph", and connected
to the ellipse labeled as "Proof" with a connecting line styled as Contains.
Copy link
Member

Choose a reason for hiding this comment

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

styled as Contains makes me think the key should be changed from Graph Containment, which change I was going to suggest anyway.

Copy link
Member Author

Choose a reason for hiding this comment

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

@TallTed I agree, but I would prefer to move that into a separate issue. The reason is that, for consistency's sake, this change should also be done in the VCDM, both in the descriptions and on the diagrams, and I do not want to mess up this PR for that. Would you agree? If so, can you put that into a separate issue? Thx.

Copy link
Member

Choose a reason for hiding this comment

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

There is also a box, styled as Property and labeled as "proof",
connected to the ellipse labeled as "ProofGraph"
with a connecting line styled as Range.
</p>
<p>
There are two more ellipses in the Section, styled as Class
and labeled as "Ed25519Signature2020" and "DataIntegrityProof",
respectively, connected through a line styled as Superclass
to the ellipse labeled as "Proof".
The ellipse labeled as "DataIntegrityProof" is connected, with a connecting
line styled as Domain Of, to a box styled as Property,
and labeled as "cryptosuite". The latter is connected, with a connecting
line styled as Range, to a shape styled as Datatype and labeled as
"cryptosuiteString".
</p>
<p>
The right side of the Section contains a column of labeled boxes,
all styled as Property. The labels, from top to
bottom, are "previousProof", "domain", "challenge", "proofPurpose",
"nonce", "created", "proofValue".
The ellipse labeled as "Proof" is connected to all of these with
connecting lines styled as Domain Of.
The box labeled as "previousProof" is also connected to the ellipse
labeled as "Proof" with a connecting line styled as Range.
The box labeled as "proofValue" is connected, with a connecting line
styled as Range, to a shape styled as Datatype and labeled as "multibase".
Finally, another box, styled as Property and labeled as "digestMultibase",
connects to the same Datatype shape with a connecting line styled as Range.
</p>
</section>
<section>
<h3>VefiricationMethod Section</h3>

<p>
The right side of the Section contains a column of labeled boxes,
all styled as Property. The labels, from top to bottom, are
"verificationMethod", "authentication", "assertionMethod",
"capabilityDelegation", "capabilityInvocation", and "keyAgreement". All these
boxes are connected, with a connecting lines styled as Range, to
the ellipse labeled "VerificationMethod".
</p>
<p>
The left side of the Section contains a column of three labeled
boxes, all styled as Property. The labels, from top to bottom, are
"expires", "controller", and "revoked". All these are connected, with
connecting lines styled as Domain Of, from the ellipse labeled "VerificationMethod".
Furthermore, the "expires" box is also connected, with a connecting line
styled as Domain Of, from the ellipse labeled "Proof" referred to in the Proof Section.
</p>

<p>
The middle of the section contains three ellipses, styled as Class, labeled as
"Multikey, "Ed25519VerificationKey2020", and "JsonWebKey". They are all connected to
the ellipse labeled as "VerificationMethod" with a connecting line styled as Superclass.
</p>

<p>
Two boxes, styled as Property and labeled, respectively, as "secretKeyMultibase"
and "publicKeyMultibase", are connected from the ellipse labeled as "Multikey" with
a connecting line styled as Domain Of.
Both these boxes are also connected, with connecting lines styled as Range,
to the shape styled as Datatype and labeled as "multibase", referred to in the Proof Section.
</p>

<p>
Finally, two boxes, styled as Property and labeled, respectively, as "secretKeyJwk"
and "publicKeyJwk", are connected from the ellipse labeled as "JsonWebKey" with
a connecting line styled as Domain Of.
Both these boxes are also connected, with connecting lines styled as Range, to
a shape styled as Datatype and labeled as "rdf:JSON".
</p>

</section>


</details>
</section>

Expand Down
Loading