id.sifa.profile.position
Schema Diff
+43 -10
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Record representing a single work position or role.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"company": {
10
10
"description": "Company or organization name. Optional: omit for self-employed, freelance, contract, or independent work that has no separately named or registered entity.",
11
11
"maxGraphemes": 256,
12
12
"maxLength": 2560,
13
13
"minLength": 1,
14
-
"type": "string"
14
+
"type": "string",
15
+
"x-skos:exactMatch": [
16
+
"org:organization",
17
+
"schema:worksFor"
18
+
]
15
19
},
16
20
"companyDid": {
17
21
"description": "DID of the company's ATproto account, if one exists. Enables verified company linking.",
18
22
"format": "did",
19
23
"type": "string"
20
24
},
21
25
"createdAt": {
22
26
"description": "Client-declared timestamp when this record was originally created.",
23
27
"format": "datetime",
24
28
"type": "string"
25
29
},
26
30
"description": {
27
31
"description": "Description of responsibilities, achievements, and duties.",
28
32
"maxGraphemes": 5000,
29
33
"maxLength": 50000,
30
-
"type": "string"
34
+
"type": "string",
35
+
"x-skos:exactMatch": [
36
+
"dcterms:description"
37
+
]
31
38
},
32
39
"employmentType": {
33
40
"description": "Type of employment (full-time, part-time, contract, etc.).",
34
41
"knownValues": [
35
42
"id.sifa.defs#fullTime",
36
43
"id.sifa.defs#partTime",
37
44
"id.sifa.defs#temporary",
38
45
"id.sifa.defs#seasonal",
39
46
"id.sifa.defs#contract",
40
47
"id.sifa.defs#freelance",
41
48
"id.sifa.defs#selfEmployed",
42
49
"id.sifa.defs#independentWork",
43
50
"id.sifa.defs#internship",
44
51
"id.sifa.defs#apprenticeship",
45
52
"id.sifa.defs#fellowship",
46
53
"id.sifa.defs#trainee",
47
54
"id.sifa.defs#volunteer",
48
55
"id.sifa.defs#boardMember",
49
56
"id.sifa.defs#boardObserver",
50
57
"id.sifa.defs#advisor"
51
58
],
52
-
"type": "string"
59
+
"type": "string",
60
+
"x-skos:closeMatch": [
61
+
"schema:employmentType"
62
+
]
53
63
},
54
64
"endedAt": {
55
65
"description": "End date of the position in YYYY-MM or YYYY-MM-DD format. Omit if this is a current position.",
56
-
"type": "string"
66
+
"type": "string",
67
+
"x-skos:exactMatch": [
68
+
"schema:endDate"
69
+
]
57
70
},
58
71
"entityRef": {
59
72
"description": "Portable, app-neutral identifier for the 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 org claims an ATproto account. Absent for free-text or independent/self-employed positions.",
60
73
"format": "uri",
61
-
"type": "string"
74
+
"type": "string",
75
+
"x-skos:closeMatch": [
76
+
"schema:sameAs"
77
+
]
62
78
},
63
79
"isPrimary": {
64
80
"description": "Whether this is the user's primary current position, displayed on the identity card.",
65
81
"type": "boolean"
66
82
},
67
83
"labels": {
68
84
"description": "Self-label values for this position record.",
69
85
"refs": [
70
86
"com.atproto.label.defs#selfLabels"
71
87
],
72
88
"type": "union"
73
89
},
74
90
"location": {
75
91
"description": "Work location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.",
76
92
"ref": "community.lexicon.location.address",
77
-
"type": "ref"
93
+
"type": "ref",
94
+
"x-skos:exactMatch": [
95
+
"schema:jobLocation"
96
+
]
78
97
},
79
98
"onBehalfOf": {
80
99
"description": "Name of the party this role is held on behalf of, when the person represents someone else — most often a fund whose board seat this is. A disclosure, not a role type. Omit for independent seats.",
81
100
"maxGraphemes": 256,
82
101
"maxLength": 2560,
83
102
"type": "string"
84
103
},
85
104
"onBehalfOfDid": {
86
105
"description": "DID of the represented party's ATproto account, if one exists. May resolve to an organization or to a person (e.g. a family-office principal).",
87
106
"format": "did",
88
107
"type": "string"
89
108
},
90
109
"onBehalfOfEntityRef": {
91
110
"description": "Portable, app-neutral identifier for the represented party selected from a resolver dropdown: a Wikidata Q-ID URI, a ROR URI, or an LEI URI. Absent for free-text entries.",
92
111
"format": "uri",
93
112
"type": "string"
94
113
},
95
114
"skills": {
96
115
"description": "Skills used in this position. Each entry is a URI reference to an id.sifa.profile.skill record owned by the same DID.",
97
116
"items": {
98
117
"ref": "id.sifa.defs#skillRef",
99
118
"type": "ref"
100
119
},
101
120
"maxLength": 50,
102
121
"type": "array"
103
122
},
104
123
"startedAt": {
105
124
"description": "Start date of the position in YYYY-MM or YYYY-MM-DD format.",
106
-
"type": "string"
125
+
"type": "string",
126
+
"x-skos:exactMatch": [
127
+
"schema:startDate"
128
+
]
107
129
},
108
130
"title": {
109
131
"description": "Job title or role name.",
110
132
"maxGraphemes": 256,
111
133
"maxLength": 2560,
112
134
"minLength": 1,
113
-
"type": "string"
135
+
"type": "string",
136
+
"x-skos:exactMatch": [
137
+
"org:role",
138
+
"schema:roleName"
139
+
]
114
140
},
115
141
"workplaceType": {
116
142
"description": "Workplace arrangement (on-site, remote, hybrid).",
117
143
"knownValues": [
118
144
"id.sifa.defs#onSite",
119
145
"id.sifa.defs#remote",
120
146
"id.sifa.defs#hybrid"
121
147
],
122
-
"type": "string"
148
+
"type": "string",
149
+
"x-skos:narrowMatch": [
150
+
"schema:jobLocationType"
151
+
]
123
152
}
124
153
},
125
154
"required": [
126
155
"title",
127
156
"startedAt",
128
157
"createdAt"
129
158
],
130
159
"type": "object"
131
160
},
132
-
"type": "record"
161
+
"type": "record",
162
+
"x-skos:closeMatch": [
163
+
"org:Membership",
164
+
"schema:OrganizationRole"
165
+
]
133
166
}
134
167
},
135
168
"description": "A work experience entry in the user's professional profile.",
136
169
"id": "id.sifa.profile.position",
137
170
"lexicon": 1
138
171
}