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

Specification of terms

In general, the terms — i.e., the properties and classes — used in the VCDM are formally specified in Recommendation Track documents published by the W3C Verifiable Credentials Working Group or, for some deprecated or reserved terms, in Reports published by the W3C Credentials Community Group. In each case of such external definition, the term's description in this document contains a link to the relevant specification. Additionally, the `rdfs:definedBy` property in the RDFS representation(s) refers to the formal specification.

In some cases, a local explanation is necessary to complement, or to replace, the definition found in an external specification. For instance, this is so when the term is needed to provide a consistent structure to the RDFS vocabulary, such as when the term defines a common supertype for class instances that are used as objects of specific properties, or when RDF Graphs are involved. For such cases, the extra definition is included in the current document (and the `rdfs:comment` property is used to include them in the RDFS representations).

Overview diagram of the vocabulary (without the deprecated items).
A separate, stand-alone SVG version of the diagram, as well as a textual description, are also available.

Namespaces

This specification makes use of the following namespaces:

cred
https://w3.org/2018/credentials#
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#
vs
http://www.w3.org/2003/06/sw-vocab-status/ns#

Regular terms

Class definitions

The following are class definitions in the cred namespace.

CredentialSchema

Credential schema

A credential schema provides verifiers with enough information to determine if the provided data conforms to the provided schema. This class serves as a supertype for specific schemas (e.g., JsonSchema).
stable
Range of:
credentialSchema

CredentialStatus

Credential status

A credential status provides enough information to determine the current status of the credential (for example, suspended or revoked). This class serves as a supertype for specific status types.
stable
Range of:
credentialStatus

JsonSchema

JSON schema validator

See the formal definition of the term.

stable
Subclass of:
CredentialSchema
Domain of:
jsonSchema

JsonSchemaCredential

JSON schema validator with schema contained in a credential

See the formal definition of the term.

stable
Subclass of:
VerifiableCredential

VerifiableCredential

Verifiable credential

See the formal definition of the term.

stable
Domain of:
credentialSchema, credentialStatus, credentialSubject, evidence, issuer, refreshService, renderMethod
In the domain of:
termsOfUse, validFrom, validUntil

VerifiableCredentialGraph

Verifiable credential graph

Instances of this class are RDF Graphs [[RDF12-CONCEPTS]], where each of these graphs must include exactly one Verifiable Credential.
stable
Range of:
verifiableCredential

VerifiablePresentation

Verifiable presentation

See the formal definition of the term.

stable
Domain of:
holder, verifiableCredential
In the domain of:
termsOfUse, validFrom, validUntil

Property definitions

The following are property definitions in the cred namespace.

credentialSchema

Credential schema

See the formal definition of the term.

stable
Range:
CredentialSchema
Domain:
VerifiableCredential

credentialStatus

Credential status

See the formal definition of the term.

stable
Range:
CredentialStatus
Domain:
VerifiableCredential

credentialSubject

Credential subject

See the formal definition of the term.

An entity about which claims are made.

The property's value should be a URL, i.e., not a literal.
stable
Domain:
VerifiableCredential

holder

Holder

See the formal definition of the term.

The property's value should be a URL, i.e., not a literal.

stable
Domain:
VerifiablePresentation

jsonSchema

Referring to a Json Schema

See the formal definition of the term.

stable
Range:
rdf:JSON
Domain:
JsonSchema

issuer

Issuer

See the formal definition of the term.

The value of this property must be a URL uniquely identifying the issuer.

The property's value should be a URL, i.e., not a literal.
stable
Domain:
VerifiableCredential

validFrom

Valid from

See the formal definition of the term.

stable
Range:
xsd:dateTime
Domain:
Union of:
VerifiableCredential
VerifiablePresentation

validUntil

Valid until

See the formal definition of the term.

stable
Range:
xsd:dateTime
Domain:
Union of:
VerifiableCredential
VerifiablePresentation

verifiableCredential

Verifiable credential graph

See the formal definition of the term.

The value of this property identifies a Verifiable credential graph. (Informally, it indirectly identifies a Verifiable credential contained in a separate graph.)
stable
Range:
VerifiableCredentialGraph
Domain:
VerifiablePresentation

Reserved terms

All terms in this section are reserved. Implementers may use these properties, but should expect them and/or their meanings to change during the process to normatively specify them.

Reserved classes

The following are reserved class definitions in the cred namespace.

CredentialEvidence

Credential Evidence (reserved)

A credential evidence provides evidence schemes that are used by the evidence property. This class serves as a supertype for specific evidence types.
reserved
Range of:
evidence

ConfidenceMethod

Confidence method (reserved)

See the formal definition of the term.

reserved
Range of:
confidenceMethod

RefreshService

Refresh service (reserved)

A refresh service is a mechanism that can be utilized by software agents to retrieve an updated copy of a Verifiable Credential. This class serves as a supertype for specific refresh service types.
reserved
Range of:
refreshService

RenderMethod

Render method (reserved)

A specific render method specifies how a software expresses the verifiable credential using a visual, auditory, or haptic mechanism. This class serves as a supertype for specific render method types.
reserved
Range of:
renderMethod

TermsOfUse

Terms of use (reserved)

Policy under which the creator issued the credential or presentation. This class serves as a supertype for specific types for terms of use.
reserved
Range of:
termsOfUse

Reserved properties

The following are reserved property definitions in the cred namespace.

confidenceMethod

Confidence method (reserved)

See the formal definition of the term.

reserved
Range:
ConfidenceMethod

evidence

Evidence (reserved)

See the formal definition of the term.

reserved
Range:
CredentialEvidence
Domain:
VerifiableCredential

refreshService

Refresh service (reserved)

See the formal definition of the term.

reserved
Range:
RefreshService
Domain:
VerifiableCredential

renderMethod

Render method (reserved)

See the formal definition of the term.

reserved
Range:
RenderMethod
Domain:
VerifiableCredential

termsOfUse

Terms of use (reserved)

See the formal definition of the term.

reserved
Range:
TermsOfUse
Domain:
Union of:
VerifiableCredential
VerifiablePresentation

Deprecated terms

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

Deprecated properties

The following are deprecated property definitions in the cred namespace.

expirationDate

Expiration date (deprecated)

See the formal definition of the term.

The value of this property was used in the past to express the date and time the credential ceased to be valid. It has been deprecated in favor of validUntil
deprecatedtrue
Range:
xsd:dateTime

issuanceDate

Issuance date (deprecated)

See the formal definition of the term.

The value of this property was used in the past to represent the earliest date when the information associated with the credentialSubject property became valid. This property has been deprecated in favor of validFrom.
deprecatedtrue
Range:
xsd:dateTime

Diagram description

Overview diagram of the vocabulary (without the deprecated items).

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.

In the middle of the diagram there is a column of labeled boxes, all styled as Property. The labels, from top to bottom, are: "credentialSchema", "credentialStatus", "credentialSubject", "issuer", "evidence", "refreshService", "renderMethod", "confidenceMethod", "termsOfUse", "validFrom", "validUntil", and "holder". On the left side of this column, there are four labeled ellipses, styled as Class. These are, from top to bottom, "VerifiableCredential", "JsonSchemaCredential", "VerifiableCredentialGraph", and "VerifiablePresentation". There is also a small, unlabeled circle, which serves as an intersection point for connector lines, with two pointing in, and three pointing out.

The "VerifiableCredential" ellipse is connected to the "credentialSchema", "credentialStatus", "credentialSubject", "issuer", "evidence", "refreshService", "renderMethod", and "confidenceMethod" boxes, through connecting lines styled as Domain Of. It is also connected to the crossing point circle with a similar connecting line, styled as Domain Of. The "VerifiablePresentation" ellipse is connected to the crossing point circle, as well as the "holder" and "verifiableCredential" boxes, with a similar connecting line, styled as Domain Of. The crossing point circle is connected to the "termsOfUse", "validFrom", and "validUntil" boxes with a connecting line styled as Domain Of. The "verifiableCredential" box is connected to the "VerifiableCredentialGraph" ellipse with a connecting line styled as Range. The "JsonSchemaCredential" ellipse is connected to the "VerifiableCredential" ellipse with a connecting line styled as Superclass. Finally, the "VerifiableCredentialGraph" ellipse is connected to the "VerifiableCredential" ellipse with a connector line styled as Contains.

On the right side of the column, there is another column of ellipses, styled as "Class", and labeled as "CredentialSchema", "CredentialStatus", "CredentialEvidence", "RefreshService", "RenderMethod", "ConfidenceMethod", and "TermsOfUse". The Property boxes labeled as "credentialSchema", "credentialStatus", "credentialEvidence, "refreshService", "renderMethod", "confidenceMethod", and "termsOfUse" are respectively connected to those Class ellipses, with connecting lines styled as Range.

Finally, the "CredentialSchema" ellipse is connected to one more ellipse, on the far right side of the diagram, styled as Class and labeled as "JsonSchema", with a connecting line styled as Superclass. This "JsonSchema" ellipse is also connected to a Property box labeled as "jsonSchema", through a connector line styled as Domain Of. This "jsonSchema" box is connected to a Datatype shape labeled as "rdf:JSON", with a connecting line styled as Range.