@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix schema: <http://schema.org/> .
@prefix jsonld: <http://www.w3.org/ns/json-ld#> .

# Ontology definition
cred: a owl:Ontology ;
    dc:title """Verifiable Credentials Vocabulary v2.0"""@en ;
    dc:description """RDFS [[RDF-SCHEMA]] vocabulary used by the Verifiable Credentials [[VC-DATA-MODEL-2.0]]"""^^rdf:HTML ;
    rdfs:seeAlso <https://www.w3.org/TR/vc-data-model-2.0/> ;
    dc:date "2025-04-11"^^xsd:date ;
.

# Property definitions
cred:credentialSchema a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:range cred:CredentialSchema ;
    rdfs:label "Credential schema" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-credentialSchema>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:credentialStatus a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:range cred:CredentialStatus ;
    rdfs:label "Credential status" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-credentialStatus>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:confidenceMethod a rdf:Property, owl:ObjectProperty ;
    rdfs:range cred:ConfidenceMethod ;
    rdfs:label "Confidence method" ;
    rdfs:isDefinedBy <https://w3c-ccg.github.io/confidence-method-spec/>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "reserved" ;
.

cred:credentialSubject a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:label "Credential subject" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-credentialSubject>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:digestSRI a rdf:Property, owl:DatatypeProperty ;
    rdfs:range cred:sriString ;
    rdfs:label "Subresource integrity digest" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-digestSRI>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
    rdfs:seeAlso <https://www.w3.org/TR/SRI/#the-integrity-attribute> ;
.

cred:evidence a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:range cred:CredentialEvidence ;
    rdfs:label "Evidence" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-evidence>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:expirationDate a rdf:Property, owl:DeprecatedProperty, owl:DatatypeProperty ;
    owl:deprecated true ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Expiration date" ;
    rdfs:comment """<div>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 <a href="#validUntil">validUntil</a></div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://www.w3.org/TR/2022/REC-vc-data-model-20220303/#expiration>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "deprecated" ;
.

cred:holder a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiablePresentation ;
    rdfs:label "Holder" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-holder>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:jsonSchema a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain cred:JsonSchema ;
    rdfs:range rdf:JSON ;
    rdfs:label "Referring to a Json Schema" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-json-schema/#jsonschema-0>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:issuanceDate a rdf:Property, owl:DeprecatedProperty, owl:DatatypeProperty ;
    owl:deprecated true ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Issuance date" ;
    rdfs:comment """<div>The value of this property was used in the past to represent the earliest date when the information associated with the <a href="#credentialSubject">credentialSubject</a> property became valid. This property has been deprecated in favor of <a href="#validFrom">validFrom</a>.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://www.w3.org/TR/2022/REC-vc-data-model-20220303/#issuance-date>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "deprecated" ;
.

cred:issuer a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:label "Issuer" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-issuer>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:refreshService a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:range cred:RefreshService ;
    rdfs:label "Refresh service" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-refreshService>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:renderMethod a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:range cred:RenderMethod ;
    rdfs:label "Render method" ;
    rdfs:isDefinedBy <https://w3c-ccg.github.io/vc-render-method/#the-rendermethod-property>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "reserved" ;
.

cred:relatedResource a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiableCredential ;
    rdfs:label "Related resource" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-relatedResource>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:termsOfUse a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (cred:VerifiableCredential cred:VerifiablePresentation) ] ;
    rdfs:range cred:TermsOfUse ;
    rdfs:label "Terms of use" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-termsOfUse>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:validFrom a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (cred:VerifiableCredential cred:VerifiablePresentation) ] ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Valid from" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-validFrom>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:validUntil a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (cred:VerifiableCredential cred:VerifiablePresentation) ] ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Valid until" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-validUntil>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:verifiableCredential a rdf:Property, owl:ObjectProperty ;
    rdfs:domain cred:VerifiablePresentation ;
    rdfs:range cred:VerifiableCredentialGraph ;
    rdfs:label "Verifiable credential graph" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-verifiableCredential>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

# Class definitions
cred:CredentialEvidence a rdfs:Class ;
    rdfs:label "Credential evidence" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-credential-evidence>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:CredentialSchema a rdfs:Class ;
    rdfs:label "Credential schema" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-credential-schema>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:CredentialStatus a rdfs:Class ;
    rdfs:label "Credential status" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-credential-status>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:ConfidenceMethod a rdfs:Class ;
    rdfs:label "Confidence method" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-confidence-method>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "reserved" ;
.

cred:EnvelopedVerifiableCredential a rdfs:Class ;
    rdfs:label "Enveloped verifiable credential" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-EnvelopedVerifiableCredential>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:EnvelopedVerifiablePresentation a rdfs:Class ;
    rdfs:label "Enveloped verifiable presentation" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-EnvelopedVerifiablePresentation>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:JsonSchema a rdfs:Class ;
    rdfs:subClassOf cred:CredentialSchema ;
    rdfs:label "JSON schema validator" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-json-schema/#jsonschema>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:JsonSchemaCredential a rdfs:Class ;
    rdfs:subClassOf cred:VerifiableCredential ;
    rdfs:label "JSON schema validator with schema contained in a credential" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-json-schema/#jsonschemacredential>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:RefreshService a rdfs:Class ;
    rdfs:label "Refresh service" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-refresh-service>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:RenderMethod a rdfs:Class ;
    rdfs:label "Render method" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-render-method>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "reserved" ;
.

cred:TermsOfUse a rdfs:Class ;
    rdfs:label "Terms of use" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#bc-terms-of-use>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:VerifiableCredential a rdfs:Class ;
    rdfs:label "Verifiable credential" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#credentials>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:VerifiableCredentialGraph a rdfs:Class ;
    rdfs:label "Verifiable credential graph" ;
    rdfs:comment """<div>Instances of this class are <a href="https://www.w3.org/TR/rdf12-concepts/#section-rdf-graph">RDF Graphs</a> [[RDF12-CONCEPTS]].</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#dfn-verifiablecredentialgraph>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.

cred:VerifiablePresentation a rdfs:Class ;
    rdfs:label "Verifiable presentation" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#presentations>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
.



# Definitions of datatypes
cred:sriString a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    rdfs:label "Datatype for digest SRI values" ;
    rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#the-sristring-datatype>, <https://www.w3.org/2018/credentials#> ;
    vs:term_status "stable" ;
    rdfs:seeAlso <https://www.w3.org/TR/SRI/#the-integrity-attribute> ;
.

# Context files and their mentions
<https://www.w3.org/ns/credentials/v2> a jsonld:Context ;
    schema:mentions
        cred:EnvelopedVerifiableCredential,
        cred:EnvelopedVerifiablePresentation,
        cred:JsonSchema,
        cred:JsonSchemaCredential,
        cred:VerifiableCredential,
        cred:VerifiablePresentation,
        cred:confidenceMethod,
        cred:credentialSchema,
        cred:credentialStatus,
        cred:credentialSubject,
        cred:digestSRI,
        cred:evidence,
        cred:expirationDate,
        cred:holder,
        cred:issuanceDate,
        cred:issuer,
        cred:jsonSchema,
        cred:refreshService,
        cred:relatedResource,
        cred:sriString,
        cred:termsOfUse,
        cred:validFrom,
        cred:validUntil,
        cred:verifiableCredential ;
.

