id.sifa.profile.certification
Schema Diff
+18 -6
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.certification:body.entityRef" }
- AddedEdge AddedEdge { src: "id.sifa.profile.certification:body", tgt: "id.sifa.profile.certification:body.entityRef", kind: "prop", name: Some("entityRef") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.certification:body.issuedAt", sort: "format" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.certification:body.expiresAt", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.certification:body.entityRef" }
Constraint Changes
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.certification:body.issuedAt", sort: "format" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.certification:body.expiresAt", sort: "format" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.certification:body", tgt: "id.sifa.profile.certification:body.entityRef", kind: "prop", name: Some("entityRef") }
1
1
{
2
2
"id": "id.sifa.profile.certification",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"name": {
15
15
"type": "string",
16
16
"maxLength": 2560,
17
17
"minLength": 1,
18
18
"description": "Certification or license name.",
19
19
"maxGraphemes": 256
20
20
},
21
21
"labels": {
22
22
"refs": [
23
23
"com.atproto.label.defs#selfLabels"
24
24
],
25
25
"type": "union",
26
26
"description": "Self-label values for this certification record."
27
27
},
28
28
"issuedAt": {
29
29
"type": "string",
30
-
"format": "datetime",
31
-
"description": "Date the certification was issued."
30
+
"description": "Date the certification was issued, in YYYY-MM or YYYY-MM-DD format."
32
31
},
33
32
"authority": {
34
33
"type": "string",
35
34
"maxLength": 2560,
36
35
"description": "Issuing organization or authority.",
37
36
"maxGraphemes": 256
38
37
},
39
38
"createdAt": {
40
39
"type": "string",
41
40
"format": "datetime",
42
41
"description": "Client-declared timestamp when this record was originally created."
43
42
},
43
+
"entityRef": {
44
+
"type": "string",
45
+
"format": "uri",
46
+
"description": "Portable, app-neutral identifier for the issuing organization the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the organization claims an ATproto account. Absent for free-text entries."
47
+
},
44
48
"expiresAt": {
45
49
"type": "string",
46
-
"format": "datetime",
47
-
"description": "Expiry date. Omit if the certification does not expire."
50
+
"description": "Expiry date in YYYY-MM or YYYY-MM-DD format. Omit if the certification does not expire.",
51
+
"x-skos:exactMatch": [
52
+
"schema:validUntil"
53
+
]
48
54
},
49
55
"authorityDid": {
50
56
"type": "string",
51
57
"format": "did",
52
58
"description": "DID of the issuing authority's ATproto account, if one exists."
53
59
},
54
60
"credentialId": {
55
61
"type": "string",
56
62
"maxLength": 2560,
57
63
"description": "Credential ID or license number.",
58
64
"maxGraphemes": 256
59
65
},
60
66
"credentialUrl": {
61
67
"type": "string",
62
68
"format": "uri",
63
-
"description": "URL to verify the credential."
69
+
"description": "URL to verify the credential.",
70
+
"x-skos:exactMatch": [
71
+
"schema:url"
72
+
]
64
73
}
65
74
}
66
75
},
67
-
"description": "Record representing a single certification or license."
76
+
"description": "Record representing a single certification or license.",
77
+
"x-skos:exactMatch": [
78
+
"schema:EducationalOccupationalCredential"
79
+
]
68
80
}
69
81
},
70
82
"$type": "com.atproto.lexicon.schema",
71
83
"lexicon": 1,
72
84
"description": "A professional certification or license held by the user."
73
85
}