This document describes the Verifiable Credentials Vocabulary v2.0, i.e., the RDFS [[RDF-SCHEMA]] vocabulary used by the Verifiable Credentials [[VC-DATA-MODEL]].
Alternate versions of the vocabulary definition exist in Turtle and JSON-LD.
This vocabulary has been defined by the W3C Verifiable Credentials Working Group and provides the official RDFS vocabulary for Verifiable Credentials. Comments regarding this document are welcome. Please file issues directly on GitHub, or send them to public-vc-comments@w3.org (subscribe, archives).
This specification makes use of the following namespaces:
cred
https://w3.org/2018/credentials#
odrl
http://www.w3.org/ns/odrl/2/
dc
http://purl.org/dc/terms/
owl
http://www.w3.org/2002/07/owl#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
xsd
http://www.w3.org/2001/XMLSchema#
The following are class definitions in the cred
namespace:
RefreshService
Refresh service
A Refresh Service is a mechanism that can be utilized by software agents to retrieve an updated copy of a Verifiable Credential.
CredentialSchema
Credential schema
A Credential Schema provides verifiers with enough information to determine if the provided data conforms to the provided schema.
CredentialStatus
Credential status
A Credential Status provides enough information to determine the current status of the credential (for example, suspended or revoked). It MUST include the `id` property, which MUST be a URL, and the `type` property, which expresses the credential status type (also referred to as the credential status scheme)
CredentialEvidence
Credential evidence
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.
VerifiableCredential
Verifiable credential
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.
VerifiableCredentialGraph
Verifiable credential graph
Instances of this class are RDF Graphs, where each of these graphs must include exactly one Verifiable Credential
VerifiablePresentation
Verifiable presentation
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).
The following are property definitions in the cred
namespace:
credentialSchema
Credential schema
The value of the `credentialSchema` property MUST be one or more Credential schema instances.
cred:CredentialSchema
cred:VerifiableCredential
credentialStatus
Credential status
The value of the `credentialStatus` property MUST be an instance of a Credential status.
cred:CredentialStatus
cred:VerifiableCredential
credentialSubject
Credential subject
An entity about which claims are made.
The property's value should be a URL, i.e., not a literal.
cred:VerifiableCredential
evidence
Evidence
The value of the `evidence` property MUST be one or more Credential evidence instances.
cred:CredentialEvidence
cred:VerifiableCredential
holder
Holder
The value of the `holder` property MUST be a URI. It is RECOMMENDED that dereferencing the URI results in a document containing machine-readable information about the holder that can be used to verify the information expressed in the credential.
The property's value should be a URL, i.e., not a literal.
cred:VerifiableCredential
cred:VerifiablePresentation
issued
issue date
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
xsd:dateTime
cred:VerifiableCredential
issuer
issuer
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.
The property's value should be a URL, i.e., not a literal.
cred:VerifiableCredential
refreshService
refresh service
The value of the `refreshService` property MUST be one or more Refresh Service instances such that the holder can refresh the credential.
cred:RefreshService
cred:VerifiableCredential
serviceEndpoint
service endpoint
The value of the `serviceEndpoint` property MUST be a URL to the service endpoint associated with the subject.
The property's value should be a URL, i.e., not a literal.
cred:RefreshService
termsOfUse
terms of use
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.
odrl:Policy
cred:VerifiableCredential,cred:VerifiablePresentation
validFrom
Valid from
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
xsd:dateTime
cred:VerifiableCredential
validUntil
Valid until
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.
xsd:dateTime
cred:VerifiableCredential
verifiableCredential
verifiable credential
The value of the `verifiableCredential` property MUST identify a Verifiable credential graph (informally, it indirectly identifies a Verifiable credential contained in a separate graph).
cred:VerifiableCredentialGraph
cred:VerifiablePresentation
All terms in this section are deprecated, and are only kept in this vocabulary for backward compatibility.
New applications should not use them.
The following are deprecated class definitions in the cred
namespace:
JsonSchemaValidator2018
Json schema validator 2018 (deprecated)
A type of validator that can be used to syntactically validate JSON documents using the JSON Schema language.
cred:CredentialSchema
ManualRefreshService2018
Manual refresh service 2018 (deprecated)
A type of Refresh Service that must be interacted with in a manual fashion.
cred:RefreshService
The following are deprecated property definitions in the cred
namespace:
expirationDate
Expiration date (deprecated)
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 `validUntil`
xsd:dateTime
cred:VerifiableCredential
issuanceDate
Issuance date (deprecated)
The value of the `issuanceDate` property was used to represents the earliest date when the information associated with the `credentialSubject` property became valid. This property has been deprecated in favour of `validFrom`.
xsd:dateTime
cred:VerifiableCredential