Skip to content

Commit

Permalink
Update credentials vocabulary generation scripts.
Browse files Browse the repository at this point in the history
  • Loading branch information
msporny committed Jan 20, 2019
1 parent 3cc4b56 commit f1c2bee
Show file tree
Hide file tree
Showing 9 changed files with 266 additions and 227 deletions.
Empty file modified vocab/README.md
100755 → 100644
Empty file.
64 changes: 0 additions & 64 deletions vocab/context.jsonld

This file was deleted.

160 changes: 106 additions & 54 deletions vocab/credentials.html
100755 → 100644

Large diffs are not rendered by default.

120 changes: 76 additions & 44 deletions vocab/credentials.jsonld
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,21 @@
{
"@version": 1.1
},
"https://w3.org/2018/security/v1",
"https://w3id.org/security/v2",
{
"id": "@id",
"type": "@type",
"cred": "https://w3.org/2018/credentials#",
"dc": "http://purl.org/dc/terms/",
"schema": "http://schema.org/",
"odrl": "http://www.w3.org/ns/odrl/2/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"created": {
"@id": "dc:created",
"@type": "xsd:dateTime"
},
"creator": {
"@id": "dc:creator",
"@type": "@id"
},
"Policy": "cred:Policy",
"JsonSchemaValidator2018": "cred:JsonSchemaValidator2018",
"ManualRefreshService2018": "cred:ManualRefreshService2018",
"VerifiableCredential": "cred:VerifiableCredential",
"VerifiablePresentation": "cred:VerifiablePresentation",
"credentialSchema": {
"@id": "cred:credentialSchema",
"@type": "@id"
},
"credentialStatus": {
"@id": "cred:credentialStatus",
"@type": "@id"
Expand All @@ -46,8 +42,12 @@
"@id": "cred:issuer",
"@type": "@id"
},
"revocation": {
"@id": "cred:revocation",
"refreshService": {
"@id": "cred:refreshService",
"@type": "@id"
},
"serviceEndpoint": {
"@id": "cred:serviceEndpoint",
"@type": "@id"
},
"termsOfUse": {
Expand Down Expand Up @@ -142,38 +142,45 @@
"@id": "https://w3.org/2018/credentials#",
"@type": "owl:Ontology",
"dc:title": {
"en": "Verifiable Claims Vocabulary"
"en": "Verifiable Credentials Vocabulary"
},
"dc:description": {
"en": "This document describes the RDFS vocabulary description used for Verifiable Claims [[verifiable-claims-data-model]] along with the default JSON-LD Context."
"en": "This document describes the RDFS vocabulary description used for Verifiable Credentials [[VC-DATA-MODEL]] along with the default JSON-LD Context."
},
"dc:date": "2018-11-14",
"owl:imports": [
"http://purl.org/dc/terms/",
"https://w3.org/2018/security"
],
"dc:date": "2019-01-20",
"rdfs:seeAlso": [
"https://www.w3.org/TR/verifiable-claims-data-model/"
],
"rdfs_classes": [
{
"@id": "cred:Policy",
"@id": "cred:JsonSchemaValidator2018",
"@type": "rdfs:Class",
"rdfs:label": {
"en": "Policy"
"en": ""
},
"rdfs:comment": {
"en": "Issue: Generic policy with possible instance 0drlPolicy2017."
"en": "A type of validator that can be used to syntactically validate JSON documents using the JSON Schema language."
}
},
{
"@id": "cred:ManualRefreshService2018",
"@type": "rdfs:Class",
"rdfs:label": {
"en": ""
},
"rdfs:comment": {
"en": "A type of refresh service that must be interacted with in a manual fashion."
},
"rdfs:subClassOf": "cred:RefreshService"
},
{
"@id": "cred:VerifiableCredential",
"@type": "rdfs:Class",
"rdfs:label": {
"en": "Verifiable Credential"
},
"rdfs:comment": {
"en": "A `verifiable credential` is a credential that is tamper-resistant and whose authorship can be cryptographically verified."
"en": "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. The claims in a credential can be about different subjects."
}
},
{
Expand All @@ -183,30 +190,43 @@
"en": "Verifiable Presentation"
},
"rdfs:comment": {
"en": "A `verifiable presentation` is a presentation that is made tamper-resistant by the holder."
"en": "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)."
}
}
],
"rdfs_properties": [
{
"@id": "cred:credentialSchema",
"@type": "rdf:Property",
"rdfs:label": {
"en": "Credential Schema"
},
"rdfs:comment": {
"en": "The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema."
},
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "cred:CredentialSchema"
},
{
"@id": "cred:credentialStatus",
"@type": "rdf:Property",
"rdfs:label": {
"en": "credential status"
"en": "Credential Status"
},
"rdfs:comment": {
"en": "The value of this property MUST be a status scheme that provides enough information to determine the current status of the credential (e.g. suspended, revoked, etc.). The status scheme will vary depending on a variety of factors, such as whether it is simple to implement or privacy-enhancing."
"en": "The value of the credentialStatus property 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), which MUST provide enough information to determine the current status of the credential (for example, suspended or revoked)."
},
"rdfs:domain": "cred:VerifiableCredential"
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "cred:CredentialStatus"
},
{
"@id": "cred:credentialSubject",
"@type": "rdf:Property",
"rdfs:label": {
"en": "credentialSubject"
"en": "Credential Subject"
},
"rdfs:comment": {
"en": "The primary `subject` of a credential."
"en": "An entity about which claims are made."
},
"rdfs:domain": "cred:VerifiableCredential"
},
Expand All @@ -217,10 +237,10 @@
"en": "evidence"
},
"rdfs:comment": {
"en": "The value of this property MUST be one or more evidence schemes that provides enough information to a verifier to determine whether or not the evidence gathered meets their requirements."
"en": "The value of the evidence property MUST be one or more evidence schemes providing 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."
},
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "cred:DocumentationVerifier"
"rdfs:range": "cred:CredentialEvidence"
},
{
"@id": "cred:expirationDate",
Expand All @@ -229,7 +249,7 @@
"en": "expiration date"
},
"rdfs:comment": {
"en": "The value of this property MUST be a string value of an [[ISO8601]] combined date and time string and represents the date and time the `credential` will cease to be valid"
"en": "The value of the expirationDate 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."
},
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "xsd:dateTime"
Expand All @@ -241,7 +261,7 @@
"en": "issuance date"
},
"rdfs:comment": {
"en": "The value of this property MUST be a string value of an [[ISO8601]] combined date and time string and represents the date and time the `credential` was issued. Note that this date represents the earliest date when the information associated with the _claim property became valid."
"en": "The value of the issuanceDate 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 credentialSubject property became valid."
},
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "xsd:dateTime"
Expand All @@ -253,20 +273,32 @@
"en": "issuer"
},
"rdfs:comment": {
"en": "The value of this property MUST be a URI. It is RECOMMENDED that dereferencing the URI results in a document containing machine-readable information about the issuer that may be used to verify the information expressed in the `credential`."
"en": "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."
},
"rdfs:domain": "cred:VerifiableCredential"
},
{
"@id": "cred:revocation",
"@id": "cred:refreshService",
"@type": "rdf:Property",
"rdfs:label": {
"en": "revocation"
"en": "refresh service"
},
"rdfs:comment": {
"en": "FIXME"
"en": "The value of the refreshService property MUST be one or more refresh services that provides enough information to the holder's software such that the holder can refresh the credential."
},
"rdfs:domain": "cred:VerifiableCredential"
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "cred:RefreshService"
},
{
"@id": "cred:serviceEndpoint",
"@type": "rdf:Property",
"rdfs:label": {
"en": "service endpoint"
},
"rdfs:comment": {
"en": "The value of the serviceEndpoint property MUST be a URL to the service endpoint associated with the subject."
},
"rdfs:domain": "cred:RefreshService"
},
{
"@id": "cred:termsOfUse",
Expand All @@ -275,10 +307,10 @@
"en": "terms of use"
},
"rdfs:comment": {
"en": "The value of this property MUST be one or more terms of use descriptions that provide enough information to a verifier to determine how they may utilize the given information."
"en": "If specified, the value of the termsOfUse property MUST specify one or more terms of use policies under which the creator issued the credential or presentation. If the recipient (a holder or verifier) is not willing to adhere to the specified terms of use, then they do so on their own responsibility and might incur legal liability if they violate the stated Terms of Use. Each termsOfUse MUST specify its type, for example, IssuerPolicy, and optionally, its instance id. The precise contents of each term of use is determined by the specific TermsOfUse type definition."
},
"rdfs:domain": "cred:VerifiableCredential",
"rdfs:range": "cred:Policy"
"rdfs:range": "odrl:Policy"
},
{
"@id": "cred:verifiableCredential",
Expand All @@ -287,10 +319,10 @@
"en": "verifiable credential"
},
"rdfs:comment": {
"en": "The contents of the `verifiableCredential` property are `verifiable credentials` as described by this specification."
"en": "The value of the verifiableCredential property MUST describe a VerifiableCredential."
},
"rdfs:domain": "cred:VerifiablePresentation",
"rdfs:range": "cred:Credential"
"rdfs:range": "cred:VerifiableCredential"
}
]
}
Expand Down
Loading

0 comments on commit f1c2bee

Please sign in to comment.