id.sifa.profile.education
Schema Diff
+2 -0
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"id": "id.sifa.profile.education",
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
"institution",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"grade": {
15
15
"type": "string",
16
16
"maxLength": 500,
17
17
"description": "Grade, GPA, or classification achieved.",
18
18
"maxGraphemes": 50
19
19
},
20
20
"degree": {
21
21
"type": "string",
22
22
"maxLength": 2560,
23
23
"description": "Degree name (e.g., 'Bachelor of Science', 'Master of Arts').",
24
24
"maxGraphemes": 256,
25
25
"x-skos:closeMatch": [
26
26
"schema:hasCredential",
27
27
"bibo:degree"
28
28
]
29
29
},
30
30
"labels": {
31
31
"refs": [
32
32
"com.atproto.label.defs#selfLabels"
33
33
],
34
34
"type": "union",
35
35
"description": "Self-label values for this education record."
36
36
},
37
37
"endedAt": {
38
38
"type": "string",
39
39
"description": "End date (graduation or expected graduation) in YYYY-MM or YYYY-MM-DD format. Omit if currently enrolled."
40
40
},
41
41
"location": {
42
42
"ref": "community.lexicon.location.address",
43
43
"type": "ref",
44
44
"description": "Institution location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer."
45
45
},
46
46
"createdAt": {
47
47
"type": "string",
48
48
"format": "datetime",
49
49
"description": "Client-declared timestamp when this record was originally created."
50
50
},
51
51
"entityRef": {
52
52
"type": "string",
53
53
"format": "uri",
54
54
"description": "Portable, app-neutral identifier for the educational institution 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 institution claims an ATproto account. Absent for free-text entries."
55
55
},
56
56
"startedAt": {
57
57
"type": "string",
58
58
"description": "Start date in YYYY-MM or YYYY-MM-DD format."
59
59
},
60
60
"activities": {
61
61
"type": "string",
62
62
"maxLength": 10000,
63
63
"description": "Activities, societies, and extracurriculars.",
64
64
"maxGraphemes": 1000
65
65
},
66
66
"description": {
67
67
"type": "string",
68
68
"maxLength": 50000,
69
69
"description": "Additional description or notes about the education.",
70
70
"maxGraphemes": 5000
71
71
},
72
72
"institution": {
73
73
"type": "string",
74
74
"maxLength": 2560,
75
75
"minLength": 1,
76
76
"description": "Name of the educational institution.",
77
77
"maxGraphemes": 256,
78
78
"x-skos:exactMatch": [
79
79
"schema:alumniOf"
80
80
]
81
81
},
82
82
"fieldOfStudy": {
83
83
"type": "string",
84
84
"maxLength": 2560,
85
85
"description": "Field of study or major.",
86
+
"x-skos:note": "ISCED-F is the value anchor.",
86
87
"maxGraphemes": 256,
87
88
"x-skos:closeMatch": [
88
89
"schema:educationalCredentialAwarded"
89
90
]
90
91
},
91
92
"institutionDid": {
92
93
"type": "string",
93
94
"format": "did",
94
95
"description": "DID of the institution's ATproto account, if one exists."
95
96
}
96
97
}
97
98
},
98
99
"description": "Record representing a single education credential.",
100
+
"x-skos:note": "One record maps to two schema.org assertions: alumniOf for the institution and hasCredential for the degree.",
99
101
"x-skos:closeMatch": [
100
102
"schema:EducationalOccupationalCredential"
101
103
]
102
104
}
103
105
},
104
106
"$type": "com.atproto.lexicon.schema",
105
107
"lexicon": 1,
106
108
"description": "An education entry in the user's professional profile."
107
109
}