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.

Published:
Version Info:
2.0
See Also: https://www.w3.org/TR/vc-data-model-2.0/

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).

Namespaces

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#

Term definitions

Class definitions

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).

Property definitions

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.

Range:
cred:CredentialSchema
Domain:
cred:VerifiableCredential

credentialStatus

Credential status

The value of the `credentialStatus` property MUST be an instance of a Credential status.

Range:
cred:CredentialStatus
Domain:
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.

Domain:
cred:VerifiableCredential

evidence

Evidence

The value of the `evidence` property MUST be one or more Credential evidence instances.

Range:
cred:CredentialEvidence
Domain:
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.

Domain:
Union of:
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

Range:
xsd:dateTime
Domain:
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.

Domain:
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.

Range:
cred:RefreshService
Domain:
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.

Domain:
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.

Range:
odrl:Policy
Domain:
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

Range:
xsd:dateTime
Domain:
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.

Range:
xsd:dateTime
Domain:
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).

Range:
cred:VerifiableCredentialGraph
Domain:
cred:VerifiablePresentation

Deprecated term definitions

All terms in this section are deprecated, and are only kept in this vocabulary for backward compatibility.
New applications should not use them.

Deprecated classes

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.

true
Subclass of:
cred:CredentialSchema

ManualRefreshService2018

Manual refresh service 2018 (deprecated)

A type of Refresh Service that must be interacted with in a manual fashion.

true
Subclass of:
cred:RefreshService

Deprecated properties

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`

true
Range:
xsd:dateTime
Domain:
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`.

true
Range:
xsd:dateTime
Domain:
cred:VerifiableCredential