Credential Engine, CTDL, Registry for VC-EDU
W3C VC-EDU CG. Feb, 2022
Phil Barker, Cetis LLP, metadata consultant to Credential Engine
www.credentialengine.org
Outline
2
Introduction to Credential Engine, CTDL and Registry.
3
Who We Are & What We Do
Our Mission: Credential Engine is a non-profit whose mission is to map the credential landscape with clear and consistent information, fueling the creation of resources that empower people to find the pathways that are best for them.
Our Vision: We envision a future where millions of people worldwide have access to information about credentials that opens their eyes to the full range of opportunities for learning, advancement, and meaningful careers.
How we accomplish our Mission and Vision:
4
Credential Engine’s Open Technologies
5
Publishing Tools
After creating a user account, organizations use the API or any of the Publishing System tools to convert information to CTDL and publish to the Registry.
Credential Registry More than a database, the Registry collects and connects credential data described with CTDL and supports an open applications marketplace.
Credential Finder
A tool to view and explore the information stored in the Registry.
Community – A wide range of stakeholders provide and receive technical assistance and other services to both publish to the Registry and consume the data it houses. Credentialing bodies, developers, and other users have access to resources such as do-it-yourself guides, best practices, and technical support.
Credential Transparency Description Language� Common language that describes key features of credentials/qualifications.
CTDL: Credential Transparency Description Language
and:
6
Credential Transparency Description Language (CTDL)
A common language modeled on the semantic web for transparency and comparability of credential and competency information.��Supports customizable CTDL profiles to meet community needs.�https://credreg.com/ctdl/terms
7
7
Supporting Rich Descriptions of Credentials
8
9
Credential Transparency Description Language (CTDL) Terms
Defines many different types of credential, and other things that may be achieved.
Certification:
Time-limited, revocable, renewable credential awarded by an authoritative body for demonstrating the knowledge, skills, and abilities to perform specific tasks or an occupation.
Credential Example: all of the information about this credential is directly from the Credential Registry
10
Credential Example: all of the information about this credential is directly from the Credential Registry as JSON-LD
11
CTDL Coverage
12
Outline
13
Base use case
From here on presentation is based on (Google doc) CTDL terms and Registry data in Verifiable Credentials (VC / Open Badges 3.0 / CLR 1.1)
14
Example in VC spec
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": "https://example.edu/issuers/565049",
"issuanceDate": "2010-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
}
}
15
It is not enough to just to say that you have a degree.
CTDL Context, CTDL Types, and References to Registry [1]
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"http://credreg.net/ctdl/schema/context/json", // makes all of CTDL available
"http://credreg.net/ctdlasn/schema/context/json", // ditto CTDL-ASN
{"res": "https://credentialengineregistry.org/resources/"}, // to shorten URIs
{ // for new terms
"new": "http://example.org/new/",
"achievement": {
"@id": "new:achievement"
}
}
],
// pto
}
16
CTDL Context, CTDL Types, and References to Registry [2]
{"@context": [...]
"id": "http://example.edu/credentials/3732", // do not put Registry CTID here- this is the � //ID for the issued credential, not the abstract credential
"type": "VerifiableCredential",
"issuer": "res:ce-ca493a91-b9ec-4a45-ac6f-a6259656ea50", // Issuer data in Registry
"issuanceDate": "2010-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21", //Pat's DID
"achievement": {
"id": "res:ce-49247727-7cbd-4f0e-8179-e51036d1f14a", // Credential data in Registry
"type": "ceterms:BachelorDegree",
"ceterms:name": {"en-US": "Bachelor’s Degree"}
// CTDL recognises other languages exist
}
},
"proof": { }
}
17
In JSON-LD Playground : https://tinyurl.com/yrszsy6u
More CTDL data included in the VC
"id": "http://example.edu/credentials/3732",
"type": "VerifiableCredential",
"issuer": "res:ce-ca493a91-b9ec-4a45-ac6f-a6259656ea50",
"issuanceDate": "2010-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21", //Pat's DID
"achievement": {
"id": "res:ce-49247727-7cbd-4f0e-8179-e51036d1f14a",
"type": "ceterms:BachelorDegree",
"ceterms:name": {"en-US": "Bachelor’s Degree"},
"ceterms:description": {"en-US": "... ... ... "},
"ceterms:subjectWebpage": "find:credential/0000/Science_and_Arts",
"ceterms:offeredBy": "res:ce-ca493a91-b9ec-4a45-ac6f-a6259656ea50"
// in this case credential offered and issued by same org
// for other use cases they could be different orgs.
"ceterms:subject": {
"type": "ceterms:AlignmentObject",
"ceterms:targetNodeName": "Science and Arts"
// alignment object allows identification of subject in
// a taxonomy or other framework.
},
"ceterms:requires": [
{
"type": "ceasn:Competency",
"id": "res:ce-84958217-1323-46fe-87c8-652120800190",
"ceasn:codedNotation": "EXKSCI1",
"ceasn:competencyLabel": "Knowledge of Science",
"ceasn:competencyText": "Demonstrate a good knowledge of science…"
},{
"type": "ceasn:Competency",
"id": "res:ce-8aa6b5b5-095c-4152-89b2-06438129002c",
"ceasn:codedNotation": "EXKART1",
"ceasn:competencyLabel": "Knowledge of Arts",
"ceasn:competencyText": "Demonstrate a good knowledge of arts…"
}
// This could be a long list of competencies…
]
}
},
"proof": { ... }
}
18
Variation: Using the organization's own identifiers
{"@context": [...
{ "owl": "http://www.w3.org/2002/07/owl#", // add prefix for owl namespace
"owl:sameAs": { @type": "@id" } // make sure URI is a link
}, ],
"id": "http://example.edu/credentials/3732",
"type": "VerifiableCredential",
"issuer": {
"id": "did:example:4bc4ba39fc280d2549863dc74f6",
"owl:sameAs": "res:ce-ca493a91-b9ec-4a45-ac6f-a6259656ea50" // resolves to info about same resource
},
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"achievement": {
"id": "http://inludo.docemus.edu/creds/BSSciArt",
"type": "ceterms:BachelorDegree",
"owl:sameAs": "res:ce-49247727-7cbd-4f0e-8179-e51036d1f14a", // info about same resource
"ceterms:name": {"en-US": "Bachelor’s Degree"}
}
},
"proof": { }
}
19
In JSON-LD playground https://tinyurl.com/2p8n3tmv
VC to assert Pat has achieved a Competency
{ "@context": [...],
"id": "http://example.edu/credentials/3732",
"type": "VerifiableCredential",
"issuer": "res:ce-ca493a91-b9ec-4a45-ac6f-a6259656ea50",
"issuanceDate": "2010-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"achievement": [ // List of competencies acquired
{
"type": "ceasn:Competency",
"id": "res:ce-84958217-1323-46fe-87c8-652120800190",
"ceasn:codedNotation": "EXKSCI1",
"ceasn:competencyLabel": "Knowledge of Science",
"ceasn:competencyText": "Demonstrate a good knowledge of science…"
},{
"type": "ceasn:Competency",
"id": "res:ce-8aa6b5b5-095c-4152-89b2-06438129002c",
"ceasn:codedNotation": "EXKART1",
"ceasn:competencyLabel": "Knowledge of Arts",
"ceasn:competencyText": "Demonstrate a good knowledge of arts…"
}
]
},
"proof": { }
}
20
Combination of degree and competencies
{"@context": [...],
…
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"achievement": [
{ "id": "res:ce-49247727-7cbd-4f0e-8179-e51036d1f14a", // the degree achieved
"type": "ceterms:BachelorDegree",
"ceterms:name": {"en-US": "Bachelor’s Degree"},
"ceterms:requires": [ "res:ce-84958217-1323-46fe-87c8-652120800190",
"res:ce-8aa6b5b5-095c-4152-89b2-06438129002c" ]
},{
"id": "res:ce-84958217-1323-46fe-87c8-652120800190", // List of competencies acquired
"type": "ceasn:Competency",
"ceasn:codedNotation": "EXKSCI1",
"ceasn:competencyLabel": "Knowledge of Science",
"ceasn:competencyText": "Demonstrate a good knowledge of science…"
},{
"id": "res:ce-8aa6b5b5-095c-4152-89b2-06438129002c",
"type": "ceasn:Competency",
"ceasn:codedNotation": "EXKART1",
"ceasn:competencyLabel": "Knowledge of Arts",
"ceasn:competencyText": "Demonstrate a good knowledge of arts…"
}
21
In JSON-LD playground https://tinyurl.com/2twaddyv
Some of the use cases met by CTDL in verifiable credentials
And a whole lot more.
22
For More Information
Scott Cheney
Executive Director
��Jeanne Kitchens�Chief Technology Services Officer
jkitchens@credentialengine.org
Deborah Everhart
Chief Strategy Officer
Website: credentialengine.org�Email us: info@credentialengine.org�Technical Information: credreg.net �Credential Finder: credentialfinder.org � � Find @CredEngine on Social Media
23
This work is licensed under the Creative Commons Attribution 4.0 International License.