Skip to content
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

Changed the proofPurpose range in the vocabulary - issue 248 #258

Merged
merged 5 commits into from
Apr 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
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
155 changes: 74 additions & 81 deletions vocab/security/template.html
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,6 @@ <h2>Specification of terms</h2>
is used to include them in the RDFS representations).
</p>
<figure id="vocabulary-diagram" style="text-align:center">
<!--
Original diagram is in https://drive.google.com/file/d/1-kg7AzhahSzIwiIHeh5ANGJB_JK-kugs/view?usp=drive_link
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 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
Expand Down Expand Up @@ -258,115 +254,112 @@ <h2>Diagram description</h2>
<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.
(border color, end marker, line type) to differentiate their semantic meaning:
"Property", "Class", and "Datatype" are identified by the shape of the
graph node (e.g., an ellipse signifies a "Class"); "Superclass", "Domain Of", "Range",
"Type", and "Contains" relationships are identified by the style of the connecting line.
These style names are used in the explanation text that follows, below.
</p>
<p>
The diagram is roughly divided into left and right sections
(although there are some common nodes; see later).
To make this description easier to understand, these will be referred to as the
"Proof Section" and the "Verification Section".
Each of these sections has an ellipse at the top, styled as Class,
and respectively labeled as "Proof" and "VerificationMethod".
The diagram is roughly divided into three sections — lower left, lower right, and upper.
To make this description easier to understand, these sections will be respectively referred to
as the "Proof", "Verification Method", and "Verification Relationship" sections.
Shapes in the three sections are connected by lines of different styles; additionally, one box,
labeled as "multibase" and shaped as "Datatype", bridges the two lower sections
("Proof" and "Verification Method").
</p>
<p>
Each of these sections has an ellipse at the top, labeled as "Proof", "VerificationMethod",
and "VerificationRelationship", respectively.
</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.
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.
The left side of the section contains another ellipse,
labeled as "ProofGraph", and connected with a line
styled as "Contains" to the "Proof" ellipse.
A separate box, styled as "Property" and labeled as "proof", is connected
with a line styled as "Range" to the "ProofGraph" ellipse.
</p>
<p>
There are two more ellipses in this section, styled as Class
and labeled as "Ed25519Signature2020" and "DataIntegrityProof",
each connected to the ellipse labeled as "Proof"
with connecting lines styled as Superclass.
The ellipse labeled as "DataIntegrityProof" is
also connected to a box styled as Property,
and labeled as "cryptosuite", with a connecting
line styled as Domain Of. The "cryptosuite" Property box
is connected to a shape
styled as Datatype and labeled as
"cryptosuiteString", with a connecting
line styled as Range.
There are two more ellipses in this section,
labeled as "Ed25519Signature2020" and "DataIntegrityProof", and
each connected to the "Proof" ellipse with lines styled as "Superclass".
The "DataIntegrityProof" ellipse is also connected to a box, styled as "Property" and labeled as
"cryptosuite", with a line styled as "Domain Of".
The "cryptosuite" Property box is connected to a shape, styled as "Datatype" and labeled as "cryptosuiteString",
with a line styled as "Range".
</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 to a shape styled as Datatype
and labeled as "multibase", with a connecting line styled as Range.
Finally, another box, styled as Property and labeled as "digestMultibase",
is connected to the same "multibase" Datatype shape with
a connecting line styled as Range.
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", "nonce", "created", and "proofValue".
The "Proof" ellipse is connected to all of these boxes with lines styled as "Domain Of".
The "previousProof" box is also connected to the "Proof" ellipse, with a line styled as "Range".
The "proofValue" box is connected to a shape, styled as "Datatype" and labeled as "multibase", with a line styled as "Range".
Finally, the same "multibase" "Datatype" shape is connected to another box, styled as "Property" and labeled as "digestMultibase", with a line styled as "Range".
</p>
</section>
<section>
<h3>VerificationMethod Section</h3>
<h3>Verification Method Section</h3>

<p>
The right side of this 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".
Each of these boxes is connected to
the ellipse labeled "VerificationMethod",
with a connecting line styled as Range.
The left side of this section contains a column of three labeled boxes, all styled as "Property".
The labels, from top to bottom, are "expires", "controller", and "revoked".
Each of these is connected to the "VerificationMethod" ellipse, with a line styled as "Domain Of".
The "expires" "Property" box is also connected to the "Proof" ellipse (in the Proof section),
with a line styled as "Domain Of".
</p>

<p>
The left side of this Section contains a column of three labeled
boxes, all styled as Property. The labels, from top to bottom, are
"expires", "controller", and "revoked". Each of these is connected
to the ellipse labeled "VerificationMethod",
with connecting lines styled as Domain Of.
The "expires" Property box is also connected to the ellipse
labeled "Proof" in the Proof Section, with a connecting line
styled as Domain Of.
There is also a distinct box, styled as "Property" and labeled as "verificationMethod".
This "verificationMethod" box is connected to the "VerificationMethod"
ellipse, with a connecting line styled as "Range".
</p>

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

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

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

</section>
<section>
<h3>Verification Relationship Section</h3>
<p>
The left side of the section contains a single box, styled as "Property"
and labeled as "proofPurpose".
This box is connected to the "VerificationRelationship" ellipse,
with a line styled as "Range".
It is also connected to the "Proof" ellipse in the Proof section,
with a line styled as "Domain Of".
</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 "verificationMethod", "authentication", "assertionMethod", "capabilityDelegation", "capabilityInvocation", and "keyAgreement".
Each of these boxes is connected to the "VerificationMethod" ellipse in the Verification Method section,
with a line styled as "Range".
Finally, each of these boxes is also connected to the "VerificationRelationship" ellipse,
with a line styled as "Type".
</p>
</section>
</details>
</section>


</body>
</html>
Loading
Loading