-
Notifications
You must be signed in to change notification settings - Fork 125
Adding the "Credential" class #1057
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -33,6 +33,11 @@ class: | |
| label: Refresh service | ||
| comment: A Refresh Service is a mechanism that can be utilized by software agents to retrieve an updated copy of a Verifiable Credential. | ||
|
|
||
| - id: Credential | ||
| label: Credential | ||
| comment: | | ||
| A Credential is a set of one or more claims made by an issuer. | ||
iherman marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| - id: CredentialSchema | ||
| label: Credential schema | ||
| comment: A Credential Schema provides verifiers with enough information to determine if the provided data conforms to the provided schema. | ||
|
|
@@ -45,56 +50,56 @@ class: | |
| label: Credential evidence | ||
| comment: A Credential Evidence scheme provides enough information to a verifier to determine whether the evidence gathered meets their requirements for issuing a credential. The precise content of each evidence scheme is determined by the specific evidence type definition. | ||
|
|
||
| - id: CredentialGraph | ||
| label: (Verifiable) credential graph | ||
| comment: Instances of this class are RDF Graphs, where each of these graphs must include exactly one <a href="#Credential">Credential</a> (usually a <a href="#VerifiableCredential">Verifiable Credential</a>). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I strongly dislike the "usually" language here...
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a bit the same question as for |
||
|
|
||
| - id: VerifiableCredential | ||
| label: Verifiable credential | ||
| comment: | | ||
| A Credential is a set of one or more claims made by an issuer. A Verifiable Credential is a tamper-evident credential that has authorship that can be cryptographically verified. Verifiable Credentials can be used to build Verifiable Presentations, which can also be cryptographically verified. | ||
|
|
||
| - id: VerifiableCredentialGraph | ||
| label: Verifiable credential graph | ||
| comment: Instances of this class are RDF Graphs, where each of these graphs must include exactly one Verifiable Credential | ||
| A Verifiable Credential is a <a href="#Credential">Credential</a> that is tamper-evident and has authorship that can be cryptographically verified. Verifiable Credentials can be used to build Verifiable Presentations, which can also be cryptographically verified. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems like an improvement... but I note the conflict with https://github.com/w3c/vc-data-model/pull/1057/files#r1124649817
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Conflict?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry, more detail would have helped here... Are VerifiablePresentations made of Credentials? Are VerifiablePresentations made of VerifiableCredentials? Are Presentations made of VerifiableCredentials? Are Presentations made of Credentials? If a VerifiableCredential is a Credential, and a VerifiablePresentations is a Presentation.... These are the conflicts I mean.... The current spec defines "VerifiablePresentations" in terms of "VerifiableCredentials", you noted the confusion here:
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Whenever possible, when presenting text, please present it as text. It is difficult to read the screencap, and impossible to copy-and-paste from it, which is likely to be helpful in suggesting revisions (on either side of the flagged conflict). |
||
|
|
||
| - id: VerifiablePresentation | ||
| label: Verifiable presentation | ||
| comment: | | ||
| A Presentation is data derived from one or more Credentials, issued by one or more `issuers`, that is shared with a specific `verifier`. A Verifiable Presentation is a tamper-evident Presentation encoded in such a way that authorship of the data can be trusted after a process of cryptographic verification. Certain types of verifiable presentations might contain data that is synthesized from, but do not contain, the original verifiable credentials (for example, zero-knowledge proofs). | ||
| A Presentation is data derived from one or more <a href="#Credential">Credentials</a> (usually, but not necessarily, <a href="#VerifiableCredential">Verifiable Credentials</a>), issued by one or more `issuers`, that is shared with a specific `verifier`. A Verifiable Presentation is a tamper-evident Presentation encoded in such a way that authorship of the data can be trusted after a process of cryptographic verification. Certain types of verifiable presentations might contain data that is synthesized from, but do not contain, the original verifiable credentials (for example, zero-knowledge proofs). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is wrong, presentations are made from "VerifiableCredentials"... not "Credentials".
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The block you quoted (by screencap, which is rather hard to work with, and really should be copied-and-pasted text, still including the link to the original) speaks of VERIFIABLE presentations, not presentations. PLEASE stop acting as if quite specific words and phrases (which were carefully and painfully arrived at, as I know from being a participant at the time) were meant to have less specific meaning, as I will continue to tell you, they were not, and your disingenuous quotations will only make the current process longer and more painful!
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @TallTed there is no RDF definition for "Presentation", and the section I am commenting on is regarding the id "VerifiablePresentation".
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes indeed, I had to stop on how I would have to describe a However. Do we have cases when a Presentation structure is used for Credentials only? If I encapsulate a Presentation in JWT with the proof left as external, I would indeed present a credential and not a Verifiable credential, right (I am not a JWT expert)? If so, do we want to go down the (painful) route of differentiating between a
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Forgot to say: it is a bit like in #1057 (comment) insofar as defining a
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @TallTed I do not agree that Orie is acting disingenuously. If you have concerns that WG members are acting in bad faith, the appropriate step is to contact the chairs for a conversation. Making accusations in github comments is not appropriate. |
||
|
|
||
| property: | ||
| - id: credentialSchema | ||
| label: Credential schema | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: cred:CredentialSchema | ||
| comment: The value of the `credentialSchema` property MUST be one or more <a href="#CredentialSchema">Credential schema</a> instances. | ||
|
|
||
| - id: credentialStatus | ||
| label: Credential status | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: cred:CredentialStatus | ||
| comment: The value of the `credentialStatus` property MUST be an instance of a <a href="#CredentialStatus">Credential status</a>. | ||
|
|
||
| - id: credentialSubject | ||
| label: Credential subject | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: IRI | ||
| comment: An entity about which claims are made. | ||
|
|
||
| - id: evidence | ||
| label: Evidence | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: cred:CredentialEvidence | ||
| comment: The value of the `evidence` property MUST be one or more <a href="#CredentialEvidence">Credential evidence</a> instances. | ||
|
|
||
| - id: expirationDate | ||
| label: Expiration date | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: xsd:dateTime | ||
| deprecated: true | ||
| comment: The value of the `expirationDate` property was used to express the date and time the credential ceases to be valid. It has been deprecated in favor of <a href="#validUntil">`validUntil`</a> | ||
|
|
||
| - id: holder | ||
| label: Holder | ||
| domain: | ||
| - cred:VerifiableCredential | ||
| - cred:Credential | ||
| - cred:VerifiablePresentation | ||
| range : IRI | ||
| comment: | | ||
|
|
@@ -110,21 +115,21 @@ property: | |
|
|
||
| - id: issued | ||
| label: issue date | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: xsd:dateTime | ||
| comment: | | ||
| The value of the `issued` property MUST be a string value of an ISO8601 combined date and time string representing the date and time the credential was issued. Note that this date represents the earliest date when the information associated with the <a href="#credentialSubject>`credentialSubject`</a> property became valid. | ||
|
|
||
| - id: issuer | ||
| label: issuer | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: IRI | ||
| comment: | | ||
| The value of the `issuer` property MUST be a URI. It is RECOMMENDED that dereferencing the URI results in a document containing machine-readable information about the issuer that can be used to verify the information expressed in the credential. | ||
|
|
||
| - id: refreshService | ||
| label: refresh service | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: cred:RefreshService | ||
| comment: The value of the `refreshService` property MUST be one or more Refresh Service instances such that the holder can refresh the credential. | ||
|
|
||
|
|
@@ -136,26 +141,26 @@ property: | |
|
|
||
| - id: termsOfUse | ||
| label: terms of use | ||
| domain: cred:VerifiableCredential,cred:VerifiablePresentation | ||
| domain: cred:Credential,cred:VerifiablePresentation | ||
| range: odrl:Policy | ||
| comment: | | ||
| If specified, the value of the optional `termsOfUse` property MUST specify one or more terms of use policies under which the issuer issued the credential or presentation. Each `termsOfUse` policy MUST specify its type (for example, `IssuerPolicy`) and MAY specify its instance `id`. The precise content of each term of use is determined by the specific `TermsOfUse` type definition. If the recipient (a holder or verifier) violates the specified terms of use, the responsibility is their own, and such violation may incur legal liability. | ||
|
|
||
| - id: validFrom | ||
| label: Valid from | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: xsd:dateTime | ||
| comment: | | ||
| The value of the `validFrom` property MUST be a string value of an ISO8601 combined date and time string representing the date and time the credential was issued. Note that this date represents the earliest date when the information associated with the <a href="#credentialSubject>`credentialSubject`</a> property became valid. | ||
|
|
||
| - id: validUntil | ||
| label: Valid until | ||
| domain: cred:VerifiableCredential | ||
| domain: cred:Credential | ||
| range: xsd:dateTime | ||
| comment: The value of the `validUntil` property MUST be a string value of an ISO8601 combined date and time string representing the date and time the credential ceases to be valid. | ||
|
|
||
| - id: verifiableCredential | ||
| label: verifiable credential | ||
| domain: cred:VerifiablePresentation | ||
| range: cred:VerifiableCredentialGraph | ||
| comment: The value of the `verifiableCredential` property MUST identify a <a href="#VerifiableCredentialGraph">Verifiable credential graph</a> (informally, it indirectly identifies a <a href="#VerifiableCredential">Verifiable credential</a> contained in a separate graph). | ||
| range: cred:CredentialGraph | ||
| comment: The value of the `verifiableCredential` property MUST identify a <a href="#CredentialGraph">(Verifiable) credential graph</a> (informally, it indirectly identifies a <a href="#Credential">Credential</a> contained in a separate graph). | ||


There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is
proofone of these claims?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not specified as part of this vocabulary and, by default, yes, it can be a
proof.Never forget: a
VerifiableCredentialis also aCredential(that is what subclassing means).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see the subclass as defining any new information then... and it seems... not helpful.
It leads me to consider that both names are equally useful, and as such, we need only define 1.