Verifiable Credentials Vocabulary v2.0 (original) (raw)

This document describes the Verifiable Credentials Vocabulary v2.0, i.e., the RDFS [[RDF-SCHEMA]] vocabulary used by the Verifiable Credentials [[VC-DATA-MODEL-2.0]].

Alternate versions of the vocabulary definition exist inTurtle andJSON-LD.

Published:

2024-10-19

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 topublic-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://www.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#

schema

http://schema.org/

jsonld

http://www.w3.org/ns/json-ld#

@context files

The following @context files make use of the terms defined in this specification:

Regular terms

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

Relevant @context:

https://www.w3.org/ns/credentials/v2

credentialStatus

Credential status

See the formal definition of the term.

stable

Range:

CredentialStatus

Domain:

VerifiableCredential

Relevant @context:

https://www.w3.org/ns/credentials/v2

credentialSubject

Credential subject

See the formal definition of the term.

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

stable

Domain:

VerifiableCredential

Relevant @context:

https://www.w3.org/ns/credentials/v2

digestSRI

Subresource integrity digest

See the formal definition of the term.

See also:

Subresource Integrity Metadata

stable

Range:

sriString

Relevant @context:

https://www.w3.org/ns/credentials/v2

evidence

Evidence

See the formal definition of the term.

stable

Range:

CredentialEvidence

Domain:

VerifiableCredential

Relevant @context:

https://www.w3.org/ns/credentials/v2

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

Relevant @context:

https://www.w3.org/ns/credentials/v2

jsonSchema

Referring to a Json Schema

See the formal definition of the term.

stable

Range:

rdf:JSON

Domain:

JsonSchema

Relevant @context:

https://www.w3.org/ns/credentials/v2

issuer

Issuer

See the formal definition of the term.

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

stable

Domain:

VerifiableCredential

Relevant @context:

https://www.w3.org/ns/credentials/v2

refreshService

Refresh service

See the formal definition of the term.

stable

Range:

RefreshService

Domain:

VerifiableCredential

Relevant @context:

https://www.w3.org/ns/credentials/v2

termsOfUse

Terms of use

See the formal definition of the term.

stable

Range:

TermsOfUse

Domain:

Union of:
VerifiableCredential
VerifiablePresentation

Relevant @context:

https://www.w3.org/ns/credentials/v2

validFrom

Valid from

See the formal definition of the term.

stable

Range:

xsd:dateTime

Domain:

Union of:
VerifiableCredential
VerifiablePresentation

Relevant @context:

https://www.w3.org/ns/credentials/v2

validUntil

Valid until

See the formal definition of the term.

stable

Range:

xsd:dateTime

Domain:

Union of:
VerifiableCredential
VerifiablePresentation

Relevant @context:

https://www.w3.org/ns/credentials/v2

verifiableCredential

Verifiable credential graph

See the formal definition of the term.

stable

Range:

VerifiableCredentialGraph

Domain:

VerifiablePresentation

Relevant @context:

https://www.w3.org/ns/credentials/v2

Class definitions

The following are class definitions in the cred namespace.

CredentialEvidence

Credential evidence

See the formal definition of the term.

stable

Range of:

evidence

CredentialSchema

Credential schema

See the formal definition of the term.

stable

Range of:

credentialSchema

CredentialStatus

Credential status

See the formal definition of the term.

stable

Range of:

credentialStatus

EnvelopedVerifiableCredential

Enveloped verifiable credential

See the formal definition of the term.

stable

Relevant @context:

https://www.w3.org/ns/credentials/v2

EnvelopedVerifiablePresentation

Enveloped verifiable presentation

See the formal definition of the term.

stable

Relevant @context:

https://www.w3.org/ns/credentials/v2

JsonSchema

JSON schema validator

See the formal definition of the term.

stable

Subclass of:

CredentialSchema

Domain of:

jsonSchema

Relevant @context:

https://www.w3.org/ns/credentials/v2

JsonSchemaCredential

JSON schema validator with schema contained in a credential

See the formal definition of the term.

stable

Subclass of:

VerifiableCredential

Relevant @context:

https://www.w3.org/ns/credentials/v2

RefreshService

Refresh service

See the formal definition of the term.

stable

Range of:

refreshService

TermsOfUse

Terms of use

See the formal definition of the term.

stable

Range of:

termsOfUse

VerifiableCredential

Verifiable credential

See the formal definition of the term.

stable

Domain of:

credentialSchema, credentialStatus, credentialSubject, evidence, issuer, refreshService, renderMethod, relatedResource

In the domain of:

termsOfUse, validFrom, validUntil

Relevant @context:

https://www.w3.org/ns/credentials/v2

VerifiableCredentialGraph

Verifiable credential graph

See the formal definition of the term.

Instances of this class are RDF Graphs [[RDF12-CONCEPTS]].

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

Relevant @context:

https://www.w3.org/ns/credentials/v2

Datatype definitions

The following are datatype definitions in the cred namespace.

sriString

Datatype for digest SRI values

See the formal definition of the term.

See also:

Subresource Integrity Metadata

stable

Derived from:

xsd:string

Range of:

digestSRI

Relevant @context:

https://www.w3.org/ns/credentials/v2

Reserved terms

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

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

Relevant @context:

https://www.w3.org/ns/credentials/v2

renderMethod

Render method (reserved)

See the formal definition of the term.

reserved

Range:

RenderMethod

Domain:

VerifiableCredential

Reserved classes

The following are reserved class definitions in the cred namespace.

ConfidenceMethod

Confidence method (reserved)

See the formal definition of the term.

reserved

Range of:

confidenceMethod

RenderMethod

Render method (reserved)

See the formal definition of the term.

reserved

Range of:

renderMethod

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

Relevant @context:

https://www.w3.org/ns/credentials/v2

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

Relevant @context:

https://www.w3.org/ns/credentials/v2

Deprecated properties

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 five labeled ellipses, styled as Class. These are, from top to bottom, "VerifiableCredential", "JsonSchemaCredential", "EnvelopedVerifiableCredential", "VerifiableCredentialGraph", and "VerifiablePresentation". There is also a small, unlabeled circle, which serves as an intersection point for connector lines, with two pointing in, and four pointing out.

The "VerifiableCredential" ellipse is connected to the "credentialSchema", "credentialStatus", "credentialSubject", "issuer", "relatedResource", "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" and "EnvelopedVerifiableCredential" ellipses with connector lines 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.

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, and to a Datatype shape labeled as "rdf:JSON", through a connecting line styled as Range.

Finally, on the lower far right side of the diagram, there is a separate Property box labeled as "digestSRI", connected to a Datatype shape labeled as "sriString", with a connecting line styled as Range.