schema-resume-validator 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +227 -0
- data/schemas/context.jsonld +501 -0
- data/schemas/meta-schema.json +435 -0
- data/schemas/schema-resume.xsd +366 -0
- data/schemas/schema.json +849 -0
- metadata +113 -0
data/schemas/schema.json
ADDED
|
@@ -0,0 +1,849 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": {
|
|
3
|
+
"@vocab": "https://schema-resume.org/",
|
|
4
|
+
"schema": "http://schema.org/",
|
|
5
|
+
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
|
6
|
+
"name": "schema:name",
|
|
7
|
+
"email": "schema:email",
|
|
8
|
+
"url": "schema:url",
|
|
9
|
+
"telephone": "schema:telephone",
|
|
10
|
+
"address": "schema:address",
|
|
11
|
+
"jobTitle": "schema:jobTitle",
|
|
12
|
+
"worksFor": "schema:worksFor",
|
|
13
|
+
"alumniOf": "schema:alumniOf",
|
|
14
|
+
"award": "schema:award",
|
|
15
|
+
"knowsAbout": "schema:knowsAbout",
|
|
16
|
+
"knowsLanguage": "schema:knowsLanguage"
|
|
17
|
+
},
|
|
18
|
+
"$schema": "https://schema-resume.org/meta-schema.json",
|
|
19
|
+
"$id": "https://schema-resume.org/schema.json",
|
|
20
|
+
"$comment": "Primary domain: https://schema-resume.org/ | Alternate domain: https://tradik.github.io/schema-resume/",
|
|
21
|
+
"additionalProperties": true,
|
|
22
|
+
"definitions": {
|
|
23
|
+
"iso8601": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Date in ISO 8601 format with flexible precision - full date (2024-03-15), year-month (2024-03), or year only (2024)",
|
|
26
|
+
"pattern": "^([1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]|[1-2][0-9]{3}-[0-1][0-9]|[1-2][0-9]{3})$"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"properties": {
|
|
30
|
+
"$schema": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "link to the version of the schema that can validate the resume",
|
|
33
|
+
"format": "uri"
|
|
34
|
+
},
|
|
35
|
+
"@type": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "JSON-LD type for the document, typically 'DigitalDocument' for Schema.org compatibility"
|
|
38
|
+
},
|
|
39
|
+
"additionalType": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Additional type information for the document, can be a URL or Schema.org type",
|
|
42
|
+
"format": "uri"
|
|
43
|
+
},
|
|
44
|
+
"basics": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"additionalProperties": true,
|
|
47
|
+
"properties": {
|
|
48
|
+
"name": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "Full name of the person"
|
|
51
|
+
},
|
|
52
|
+
"label": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Professional title or role, such as 'Senior Software Engineer' or 'Product Designer'"
|
|
55
|
+
},
|
|
56
|
+
"title": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "Job title or professional title of the person"
|
|
59
|
+
},
|
|
60
|
+
"age": {
|
|
61
|
+
"type": "integer",
|
|
62
|
+
"description": "Age of the person in years",
|
|
63
|
+
"minimum": 0
|
|
64
|
+
},
|
|
65
|
+
"dateOfBirth": {
|
|
66
|
+
"$ref": "#/definitions/iso8601",
|
|
67
|
+
"description": "Date of birth in ISO 8601 format"
|
|
68
|
+
},
|
|
69
|
+
"gender": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "Gender identity of the person"
|
|
72
|
+
},
|
|
73
|
+
"legalNote": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"description": "Legal disclaimers, consent statements, or data processing notes with optional country-specific context",
|
|
76
|
+
"additionalProperties": true,
|
|
77
|
+
"properties": {
|
|
78
|
+
"text": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "The legal note or disclaimer text"
|
|
81
|
+
},
|
|
82
|
+
"country": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Country code (ISO-3166-1 ALPHA-2) if the legal note is country-specific"
|
|
85
|
+
},
|
|
86
|
+
"type": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Type of legal note (e.g., 'gdpr_consent', 'data_processing', 'disclaimer')"
|
|
89
|
+
},
|
|
90
|
+
"url": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "URL to full legal text or privacy policy",
|
|
93
|
+
"format": "uri"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"image": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "Web address pointing to a profile photograph in JPEG or PNG format"
|
|
100
|
+
},
|
|
101
|
+
"email": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"description": "Primary email address for professional contact",
|
|
104
|
+
"format": "email"
|
|
105
|
+
},
|
|
106
|
+
"phone": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "Contact telephone number in any preferred format"
|
|
109
|
+
},
|
|
110
|
+
"url": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "Personal website or portfolio URL",
|
|
113
|
+
"format": "uri"
|
|
114
|
+
},
|
|
115
|
+
"summary": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "Brief professional summary highlighting key experience and expertise"
|
|
118
|
+
},
|
|
119
|
+
"keyAchievements": {
|
|
120
|
+
"type": "array",
|
|
121
|
+
"description": "Notable career achievements and accomplishments",
|
|
122
|
+
"additionalItems": false,
|
|
123
|
+
"items": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"description": "Individual achievement"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"coreCompetencies": {
|
|
129
|
+
"type": "array",
|
|
130
|
+
"description": "Core professional competencies and areas of expertise",
|
|
131
|
+
"additionalItems": false,
|
|
132
|
+
"items": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "Competency or area of expertise"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"location": {
|
|
138
|
+
"type": "object",
|
|
139
|
+
"additionalProperties": true,
|
|
140
|
+
"properties": {
|
|
141
|
+
"address": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "Street address with multiple lines separated by newline characters (\\n)"
|
|
144
|
+
},
|
|
145
|
+
"streetAddress": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Street address line"
|
|
148
|
+
},
|
|
149
|
+
"postalCode": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"description": "Postal or ZIP code"
|
|
152
|
+
},
|
|
153
|
+
"city": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"description": "City or town name"
|
|
156
|
+
},
|
|
157
|
+
"countryCode": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"description": "Two-letter country code following ISO-3166-1 ALPHA-2 standard (GB, US, FR, etc.)"
|
|
160
|
+
},
|
|
161
|
+
"region": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "State, county, province, or region within the country"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"profiles": {
|
|
168
|
+
"type": "array",
|
|
169
|
+
"description": "List of social media and professional network profiles",
|
|
170
|
+
"additionalItems": false,
|
|
171
|
+
"items": {
|
|
172
|
+
"type": "object",
|
|
173
|
+
"additionalProperties": true,
|
|
174
|
+
"properties": {
|
|
175
|
+
"network": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "Name of the social network or platform (LinkedIn, GitHub, Twitter, etc.)"
|
|
178
|
+
},
|
|
179
|
+
"username": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"description": "Username or handle on the platform"
|
|
182
|
+
},
|
|
183
|
+
"url": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"description": "Direct link to the profile page",
|
|
186
|
+
"format": "uri"
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"nationalities": {
|
|
192
|
+
"type": "array",
|
|
193
|
+
"description": "Citizenship and nationality information",
|
|
194
|
+
"additionalItems": false,
|
|
195
|
+
"items": {
|
|
196
|
+
"type": "object",
|
|
197
|
+
"additionalProperties": true,
|
|
198
|
+
"properties": {
|
|
199
|
+
"@type": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Schema.org type, should be 'schema:Country' for validator.schema.org compatibility"
|
|
202
|
+
},
|
|
203
|
+
"country": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"description": "Country of citizenship using ISO-3166-1 ALPHA-2 code (GB, US, FR, etc.)"
|
|
206
|
+
},
|
|
207
|
+
"born": {
|
|
208
|
+
"type": "boolean",
|
|
209
|
+
"description": "Whether this is the country of birth"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"workAuthorization": {
|
|
215
|
+
"type": "array",
|
|
216
|
+
"description": "Work authorization information for multiple countries",
|
|
217
|
+
"additionalItems": false,
|
|
218
|
+
"items": {
|
|
219
|
+
"type": "object",
|
|
220
|
+
"additionalProperties": true,
|
|
221
|
+
"properties": {
|
|
222
|
+
"country": {
|
|
223
|
+
"type": "string",
|
|
224
|
+
"description": "Country code using ISO-3166-1 ALPHA-2 standard (e.g., GB, US, FR)"
|
|
225
|
+
},
|
|
226
|
+
"status": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"description": "Work authorization status (e.g., 'Citizen', 'Permanent Resident', 'Work Visa', 'No Authorization')"
|
|
229
|
+
},
|
|
230
|
+
"rightToWork": {
|
|
231
|
+
"type": "boolean",
|
|
232
|
+
"description": "Whether person has unrestricted right to work in this country"
|
|
233
|
+
},
|
|
234
|
+
"visaType": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"description": "Type or category of visa if applicable (e.g., 'H-1B', 'Skilled Worker', 'Temporary', 'Permanent Residence')"
|
|
237
|
+
},
|
|
238
|
+
"validFrom": {
|
|
239
|
+
"$ref": "#/definitions/iso8601",
|
|
240
|
+
"description": "Start date of work authorization or visa validity"
|
|
241
|
+
},
|
|
242
|
+
"validTo": {
|
|
243
|
+
"$ref": "#/definitions/iso8601",
|
|
244
|
+
"description": "Expiration date of work authorization or visa (omit if permanent)"
|
|
245
|
+
},
|
|
246
|
+
"notes": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"description": "Additional notes or restrictions on work authorization"
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"required": ["country"]
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
"work": {
|
|
257
|
+
"type": "array",
|
|
258
|
+
"description": "Employment history including current and previous positions",
|
|
259
|
+
"additionalItems": false,
|
|
260
|
+
"items": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"additionalProperties": true,
|
|
263
|
+
"properties": {
|
|
264
|
+
"@type": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"description": "Schema.org type, should be 'schema:Organization' for validator.schema.org compatibility"
|
|
267
|
+
},
|
|
268
|
+
"name": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"description": "Company or organization name"
|
|
271
|
+
},
|
|
272
|
+
"industry": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"description": "Industry sector or business domain of the organization (e.g., 'Financial Technology', 'Healthcare', 'E-commerce', 'Manufacturing')"
|
|
275
|
+
},
|
|
276
|
+
"location": {
|
|
277
|
+
"type": "object",
|
|
278
|
+
"description": "Structured address of the organization's workplace location",
|
|
279
|
+
"additionalProperties": true,
|
|
280
|
+
"properties": {
|
|
281
|
+
"@type": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"description": "Schema.org type, should be 'schema:PostalAddress' for validator.schema.org compatibility"
|
|
284
|
+
},
|
|
285
|
+
"address": {
|
|
286
|
+
"type": "string",
|
|
287
|
+
"description": "Street address with multiple lines separated by newline characters (\\n)"
|
|
288
|
+
},
|
|
289
|
+
"city": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"description": "City or town name"
|
|
292
|
+
},
|
|
293
|
+
"region": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"description": "State, county, province, or region within the country"
|
|
296
|
+
},
|
|
297
|
+
"postalCode": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"description": "Postal or ZIP code"
|
|
300
|
+
},
|
|
301
|
+
"countryCode": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"description": "Two-letter country code following ISO-3166-1 ALPHA-2 standard (GB, US, FR, etc.)"
|
|
304
|
+
},
|
|
305
|
+
"country": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "Full country name (optional, countryCode is preferred)"
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"workLocation": {
|
|
312
|
+
"type": "string",
|
|
313
|
+
"description": "Geographic location of the workplace (legacy field, use 'location' object for structured data)"
|
|
314
|
+
},
|
|
315
|
+
"contactDetails": {
|
|
316
|
+
"type": "object",
|
|
317
|
+
"description": "Organization contact information",
|
|
318
|
+
"additionalProperties": true,
|
|
319
|
+
"properties": {
|
|
320
|
+
"email": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"description": "Organization contact email address",
|
|
323
|
+
"format": "email"
|
|
324
|
+
},
|
|
325
|
+
"phone": {
|
|
326
|
+
"type": "string",
|
|
327
|
+
"description": "Organization contact telephone number"
|
|
328
|
+
},
|
|
329
|
+
"fax": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"description": "Organization fax number (optional)"
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"description": {
|
|
336
|
+
"type": "string",
|
|
337
|
+
"description": "Brief description of the company or its industry"
|
|
338
|
+
},
|
|
339
|
+
"position": {
|
|
340
|
+
"type": "string",
|
|
341
|
+
"description": "Job title or role held at the organization"
|
|
342
|
+
},
|
|
343
|
+
"workType": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"description": "Type of work arrangement (remote, hybrid, onsite, full-time, part-time, contract, freelance, internship, temporary)",
|
|
346
|
+
"enum": ["remote", "hybrid", "onsite", "full-time", "part-time", "contract", "freelance", "internship", "temporary"]
|
|
347
|
+
},
|
|
348
|
+
"url": {
|
|
349
|
+
"type": "string",
|
|
350
|
+
"description": "Company website address",
|
|
351
|
+
"format": "uri"
|
|
352
|
+
},
|
|
353
|
+
"startDate": {
|
|
354
|
+
"$ref": "#/definitions/iso8601",
|
|
355
|
+
"description": "Date when employment began"
|
|
356
|
+
},
|
|
357
|
+
"endDate": {
|
|
358
|
+
"$ref": "#/definitions/iso8601",
|
|
359
|
+
"description": "Date when employment ended (omit if currently employed)"
|
|
360
|
+
},
|
|
361
|
+
"summary": {
|
|
362
|
+
"type": "string",
|
|
363
|
+
"description": "Overview of responsibilities and role within the organization"
|
|
364
|
+
},
|
|
365
|
+
"highlights": {
|
|
366
|
+
"type": "array",
|
|
367
|
+
"description": "Notable achievements and accomplishments in this role",
|
|
368
|
+
"additionalItems": false,
|
|
369
|
+
"items": {
|
|
370
|
+
"type": "string",
|
|
371
|
+
"description": "Individual achievement or accomplishment"
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"volunteer": {
|
|
378
|
+
"type": "array",
|
|
379
|
+
"description": "Volunteer work and community involvement activities",
|
|
380
|
+
"additionalItems": false,
|
|
381
|
+
"items": {
|
|
382
|
+
"type": "object",
|
|
383
|
+
"additionalProperties": true,
|
|
384
|
+
"properties": {
|
|
385
|
+
"@type": {
|
|
386
|
+
"type": "string",
|
|
387
|
+
"description": "Schema.org type, should be 'schema:Organization' for validator.schema.org compatibility"
|
|
388
|
+
},
|
|
389
|
+
"organization": {
|
|
390
|
+
"type": "string",
|
|
391
|
+
"description": "Name of the charitable organization or community group"
|
|
392
|
+
},
|
|
393
|
+
"position": {
|
|
394
|
+
"type": "string",
|
|
395
|
+
"description": "Role or title held within the organization"
|
|
396
|
+
},
|
|
397
|
+
"url": {
|
|
398
|
+
"type": "string",
|
|
399
|
+
"description": "Website of the organization",
|
|
400
|
+
"format": "uri"
|
|
401
|
+
},
|
|
402
|
+
"startDate": {
|
|
403
|
+
"$ref": "#/definitions/iso8601",
|
|
404
|
+
"description": "Date when volunteer work began"
|
|
405
|
+
},
|
|
406
|
+
"endDate": {
|
|
407
|
+
"$ref": "#/definitions/iso8601",
|
|
408
|
+
"description": "Date when volunteer work ended (omit if ongoing)"
|
|
409
|
+
},
|
|
410
|
+
"summary": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"description": "Description of volunteer responsibilities and contributions"
|
|
413
|
+
},
|
|
414
|
+
"highlights": {
|
|
415
|
+
"type": "array",
|
|
416
|
+
"description": "Key accomplishments and impact made through volunteer work",
|
|
417
|
+
"additionalItems": false,
|
|
418
|
+
"items": {
|
|
419
|
+
"type": "string",
|
|
420
|
+
"description": "Specific achievement or contribution"
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
"education": {
|
|
427
|
+
"type": "array",
|
|
428
|
+
"description": "Academic qualifications and educational background",
|
|
429
|
+
"additionalItems": false,
|
|
430
|
+
"items": {
|
|
431
|
+
"type": "object",
|
|
432
|
+
"additionalProperties": true,
|
|
433
|
+
"properties": {
|
|
434
|
+
"institution": {
|
|
435
|
+
"type": "string",
|
|
436
|
+
"description": "Name of the educational institution or university"
|
|
437
|
+
},
|
|
438
|
+
"school": {
|
|
439
|
+
"type": "string",
|
|
440
|
+
"description": "Name of the educational institution or university (alias for institution)"
|
|
441
|
+
},
|
|
442
|
+
"url": {
|
|
443
|
+
"type": "string",
|
|
444
|
+
"description": "Website address of the institution",
|
|
445
|
+
"format": "uri"
|
|
446
|
+
},
|
|
447
|
+
"area": {
|
|
448
|
+
"type": "string",
|
|
449
|
+
"description": "Field of study or academic discipline"
|
|
450
|
+
},
|
|
451
|
+
"studyType": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"description": "Type of qualification (Bachelor, Master, PhD, etc.)"
|
|
454
|
+
},
|
|
455
|
+
"degree": {
|
|
456
|
+
"type": "string",
|
|
457
|
+
"description": "Type of degree or qualification obtained (alias for studyType)"
|
|
458
|
+
},
|
|
459
|
+
"description": {
|
|
460
|
+
"type": "string",
|
|
461
|
+
"description": "Additional details about the educational experience, achievements, or focus areas"
|
|
462
|
+
},
|
|
463
|
+
"startDate": {
|
|
464
|
+
"$ref": "#/definitions/iso8601",
|
|
465
|
+
"description": "Date when studies commenced"
|
|
466
|
+
},
|
|
467
|
+
"endDate": {
|
|
468
|
+
"$ref": "#/definitions/iso8601",
|
|
469
|
+
"description": "Date when studies concluded or expected completion date"
|
|
470
|
+
},
|
|
471
|
+
"score": {
|
|
472
|
+
"type": "string",
|
|
473
|
+
"description": "Final grade, GPA, or classification achieved"
|
|
474
|
+
},
|
|
475
|
+
"gpa": {
|
|
476
|
+
"type": "string",
|
|
477
|
+
"description": "Grade Point Average or equivalent scoring (alias for score)"
|
|
478
|
+
},
|
|
479
|
+
"location": {
|
|
480
|
+
"type": "string",
|
|
481
|
+
"description": "Geographic location of the educational institution (city, state/region)"
|
|
482
|
+
},
|
|
483
|
+
"country": {
|
|
484
|
+
"type": "string",
|
|
485
|
+
"description": "Country where the institution is located, preferably using ISO-3166-1 ALPHA-2 code"
|
|
486
|
+
},
|
|
487
|
+
"courses": {
|
|
488
|
+
"type": "array",
|
|
489
|
+
"description": "Relevant modules, courses, or subjects studied",
|
|
490
|
+
"additionalItems": false,
|
|
491
|
+
"items": {
|
|
492
|
+
"type": "string",
|
|
493
|
+
"description": "Course name or code"
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
"awards": {
|
|
500
|
+
"type": "array",
|
|
501
|
+
"description": "Professional awards, honours, and recognitions received",
|
|
502
|
+
"additionalItems": false,
|
|
503
|
+
"items": {
|
|
504
|
+
"type": "object",
|
|
505
|
+
"additionalProperties": true,
|
|
506
|
+
"properties": {
|
|
507
|
+
"@type": {
|
|
508
|
+
"type": "string",
|
|
509
|
+
"description": "Schema.org type, should be 'schema:Award' for validator.schema.org compatibility"
|
|
510
|
+
},
|
|
511
|
+
"title": {
|
|
512
|
+
"type": "string",
|
|
513
|
+
"description": "Name or title of the award"
|
|
514
|
+
},
|
|
515
|
+
"date": {
|
|
516
|
+
"$ref": "#/definitions/iso8601",
|
|
517
|
+
"description": "Date the award was received"
|
|
518
|
+
},
|
|
519
|
+
"awarder": {
|
|
520
|
+
"type": "string",
|
|
521
|
+
"description": "Organization or entity that presented the award"
|
|
522
|
+
},
|
|
523
|
+
"summary": {
|
|
524
|
+
"type": "string",
|
|
525
|
+
"description": "Reason for receiving the award or context"
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
},
|
|
530
|
+
"certificates": {
|
|
531
|
+
"type": "array",
|
|
532
|
+
"description": "Professional certifications and accreditations obtained",
|
|
533
|
+
"additionalItems": false,
|
|
534
|
+
"items": {
|
|
535
|
+
"type": "object",
|
|
536
|
+
"additionalProperties": true,
|
|
537
|
+
"properties": {
|
|
538
|
+
"name": {
|
|
539
|
+
"type": "string",
|
|
540
|
+
"description": "Full name of the certification"
|
|
541
|
+
},
|
|
542
|
+
"date": {
|
|
543
|
+
"$ref": "#/definitions/iso8601",
|
|
544
|
+
"description": "Date the certification was obtained"
|
|
545
|
+
},
|
|
546
|
+
"url": {
|
|
547
|
+
"type": "string",
|
|
548
|
+
"description": "Link to certificate verification or details",
|
|
549
|
+
"format": "uri"
|
|
550
|
+
},
|
|
551
|
+
"issuer": {
|
|
552
|
+
"type": "string",
|
|
553
|
+
"description": "Organization that issued the certification"
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
"publications": {
|
|
559
|
+
"type": "array",
|
|
560
|
+
"description": "Published works including papers, articles, and books",
|
|
561
|
+
"additionalItems": false,
|
|
562
|
+
"items": {
|
|
563
|
+
"type": "object",
|
|
564
|
+
"additionalProperties": true,
|
|
565
|
+
"properties": {
|
|
566
|
+
"name": {
|
|
567
|
+
"type": "string",
|
|
568
|
+
"description": "Title of the publication"
|
|
569
|
+
},
|
|
570
|
+
"publisher": {
|
|
571
|
+
"type": "string",
|
|
572
|
+
"description": "Name of the publisher or journal"
|
|
573
|
+
},
|
|
574
|
+
"releaseDate": {
|
|
575
|
+
"$ref": "#/definitions/iso8601",
|
|
576
|
+
"description": "Date of publication"
|
|
577
|
+
},
|
|
578
|
+
"url": {
|
|
579
|
+
"type": "string",
|
|
580
|
+
"description": "Link to the published work",
|
|
581
|
+
"format": "uri"
|
|
582
|
+
},
|
|
583
|
+
"summary": {
|
|
584
|
+
"type": "string",
|
|
585
|
+
"description": "Brief abstract or description of the publication content"
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"skills": {
|
|
591
|
+
"type": "array",
|
|
592
|
+
"description": "Technical and professional competencies",
|
|
593
|
+
"additionalItems": false,
|
|
594
|
+
"items": {
|
|
595
|
+
"type": "object",
|
|
596
|
+
"additionalProperties": true,
|
|
597
|
+
"properties": {
|
|
598
|
+
"name": {
|
|
599
|
+
"type": "string",
|
|
600
|
+
"description": "Skill category or domain"
|
|
601
|
+
},
|
|
602
|
+
"level": {
|
|
603
|
+
"type": "string",
|
|
604
|
+
"description": "Proficiency level (Beginner, Intermediate, Advanced, Expert)"
|
|
605
|
+
},
|
|
606
|
+
"yearsOfExperience": {
|
|
607
|
+
"type": "number",
|
|
608
|
+
"description": "Number of years of practical experience with this skill",
|
|
609
|
+
"minimum": 0
|
|
610
|
+
},
|
|
611
|
+
"comment": {
|
|
612
|
+
"type": "string",
|
|
613
|
+
"description": "Additional context or notes about this skill"
|
|
614
|
+
},
|
|
615
|
+
"keywords": {
|
|
616
|
+
"type": "array",
|
|
617
|
+
"description": "Specific technologies, tools, or techniques within this skill area",
|
|
618
|
+
"additionalItems": false,
|
|
619
|
+
"items": {
|
|
620
|
+
"type": "string",
|
|
621
|
+
"description": "Technology or tool name"
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
},
|
|
627
|
+
"tools": {
|
|
628
|
+
"type": "array",
|
|
629
|
+
"description": "Specific tools, software, and platforms used professionally",
|
|
630
|
+
"additionalItems": false,
|
|
631
|
+
"items": {
|
|
632
|
+
"type": "object",
|
|
633
|
+
"additionalProperties": true,
|
|
634
|
+
"properties": {
|
|
635
|
+
"name": {
|
|
636
|
+
"type": "string",
|
|
637
|
+
"description": "Name of the tool or software"
|
|
638
|
+
},
|
|
639
|
+
"group": {
|
|
640
|
+
"type": "string",
|
|
641
|
+
"description": "Category or group for organizing related tools (e.g., 'Monitoring & Logging', 'Web & Servers')"
|
|
642
|
+
},
|
|
643
|
+
"category": {
|
|
644
|
+
"type": "string",
|
|
645
|
+
"description": "Category or group for organizing related tools (alias for group)"
|
|
646
|
+
},
|
|
647
|
+
"yearsOfExperience": {
|
|
648
|
+
"type": "number",
|
|
649
|
+
"description": "Number of years using this tool professionally",
|
|
650
|
+
"minimum": 0
|
|
651
|
+
},
|
|
652
|
+
"level": {
|
|
653
|
+
"type": "string",
|
|
654
|
+
"description": "Proficiency level with this tool (Beginner, Intermediate, Advanced, Expert)"
|
|
655
|
+
},
|
|
656
|
+
"comment": {
|
|
657
|
+
"type": "string",
|
|
658
|
+
"description": "Additional details about usage, proficiency, or context"
|
|
659
|
+
},
|
|
660
|
+
"url": {
|
|
661
|
+
"type": "string",
|
|
662
|
+
"description": "Link to the tool's website or documentation",
|
|
663
|
+
"format": "uri"
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
},
|
|
668
|
+
"languages": {
|
|
669
|
+
"type": "array",
|
|
670
|
+
"description": "Languages spoken and proficiency levels",
|
|
671
|
+
"additionalItems": false,
|
|
672
|
+
"items": {
|
|
673
|
+
"type": "object",
|
|
674
|
+
"additionalProperties": true,
|
|
675
|
+
"properties": {
|
|
676
|
+
"@type": {
|
|
677
|
+
"type": "string",
|
|
678
|
+
"description": "Schema.org type, should be 'schema:Language' for validator.schema.org compatibility"
|
|
679
|
+
},
|
|
680
|
+
"language": {
|
|
681
|
+
"type": "string",
|
|
682
|
+
"description": "Name of the language"
|
|
683
|
+
},
|
|
684
|
+
"fluency": {
|
|
685
|
+
"type": "string",
|
|
686
|
+
"description": "Level of proficiency (Native, Fluent, Intermediate, Basic)"
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
"interests": {
|
|
692
|
+
"type": "array",
|
|
693
|
+
"description": "Personal interests and hobbies outside of work",
|
|
694
|
+
"additionalItems": false,
|
|
695
|
+
"items": {
|
|
696
|
+
"type": "object",
|
|
697
|
+
"additionalProperties": true,
|
|
698
|
+
"properties": {
|
|
699
|
+
"@type": {
|
|
700
|
+
"type": "string",
|
|
701
|
+
"description": "Schema.org type, should be 'schema:Thing' for validator.schema.org compatibility"
|
|
702
|
+
},
|
|
703
|
+
"name": {
|
|
704
|
+
"type": "string",
|
|
705
|
+
"description": "Interest category or area"
|
|
706
|
+
},
|
|
707
|
+
"keywords": {
|
|
708
|
+
"type": "array",
|
|
709
|
+
"description": "Specific topics or activities within this interest",
|
|
710
|
+
"additionalItems": false,
|
|
711
|
+
"items": {
|
|
712
|
+
"type": "string",
|
|
713
|
+
"description": "Specific topic or activity"
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
"references": {
|
|
720
|
+
"type": "array",
|
|
721
|
+
"description": "Professional references and testimonials",
|
|
722
|
+
"additionalItems": false,
|
|
723
|
+
"items": {
|
|
724
|
+
"type": "object",
|
|
725
|
+
"additionalProperties": true,
|
|
726
|
+
"properties": {
|
|
727
|
+
"name": {
|
|
728
|
+
"type": "string",
|
|
729
|
+
"description": "Name of the person providing the reference"
|
|
730
|
+
},
|
|
731
|
+
"reference": {
|
|
732
|
+
"type": "string",
|
|
733
|
+
"description": "The reference statement or testimonial text"
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
"projects": {
|
|
739
|
+
"type": "array",
|
|
740
|
+
"description": "Personal and professional projects undertaken",
|
|
741
|
+
"additionalItems": false,
|
|
742
|
+
"items": {
|
|
743
|
+
"type": "object",
|
|
744
|
+
"additionalProperties": true,
|
|
745
|
+
"properties": {
|
|
746
|
+
"@type": {
|
|
747
|
+
"type": "string",
|
|
748
|
+
"description": "Schema.org type for the project (e.g., 'schema:SoftwareApplication', 'schema:CreativeWork', 'schema:Event')"
|
|
749
|
+
},
|
|
750
|
+
"name": {
|
|
751
|
+
"type": "string",
|
|
752
|
+
"description": "Project name or title"
|
|
753
|
+
},
|
|
754
|
+
"description": {
|
|
755
|
+
"type": "string",
|
|
756
|
+
"description": "Brief overview of what the project entailed"
|
|
757
|
+
},
|
|
758
|
+
"highlights": {
|
|
759
|
+
"type": "array",
|
|
760
|
+
"description": "Key features, achievements, or outcomes of the project",
|
|
761
|
+
"additionalItems": false,
|
|
762
|
+
"items": {
|
|
763
|
+
"type": "string",
|
|
764
|
+
"description": "Individual highlight or achievement"
|
|
765
|
+
}
|
|
766
|
+
},
|
|
767
|
+
"keywords": {
|
|
768
|
+
"type": "array",
|
|
769
|
+
"description": "Technologies, methodologies, or tools used in the project",
|
|
770
|
+
"additionalItems": false,
|
|
771
|
+
"items": {
|
|
772
|
+
"type": "string",
|
|
773
|
+
"description": "Technology or tool name"
|
|
774
|
+
}
|
|
775
|
+
},
|
|
776
|
+
"startDate": {
|
|
777
|
+
"$ref": "#/definitions/iso8601",
|
|
778
|
+
"description": "Date when project work began"
|
|
779
|
+
},
|
|
780
|
+
"endDate": {
|
|
781
|
+
"$ref": "#/definitions/iso8601",
|
|
782
|
+
"description": "Date when project was completed (omit if ongoing)"
|
|
783
|
+
},
|
|
784
|
+
"url": {
|
|
785
|
+
"type": "string",
|
|
786
|
+
"format": "uri",
|
|
787
|
+
"description": "Link to project repository, demo, or documentation"
|
|
788
|
+
},
|
|
789
|
+
"roles": {
|
|
790
|
+
"type": "array",
|
|
791
|
+
"description": "Roles held or responsibilities taken in the project",
|
|
792
|
+
"additionalItems": false,
|
|
793
|
+
"items": {
|
|
794
|
+
"type": "string",
|
|
795
|
+
"description": "Role or responsibility"
|
|
796
|
+
}
|
|
797
|
+
},
|
|
798
|
+
"entity": {
|
|
799
|
+
"type": "string",
|
|
800
|
+
"description": "Organization or company the project was associated with"
|
|
801
|
+
},
|
|
802
|
+
"type": {
|
|
803
|
+
"type": "string",
|
|
804
|
+
"description": "Category of project (application, volunteering, presentation, conference, etc.)"
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
},
|
|
809
|
+
"meta": {
|
|
810
|
+
"type": "object",
|
|
811
|
+
"description": "Metadata about the resume document itself",
|
|
812
|
+
"additionalProperties": true,
|
|
813
|
+
"properties": {
|
|
814
|
+
"canonical": {
|
|
815
|
+
"type": "string",
|
|
816
|
+
"description": "Permanent URL where the latest version of this resume can be found",
|
|
817
|
+
"format": "uri"
|
|
818
|
+
},
|
|
819
|
+
"version": {
|
|
820
|
+
"type": "string",
|
|
821
|
+
"description": "Version number following semantic versioning format"
|
|
822
|
+
},
|
|
823
|
+
"lastModified": {
|
|
824
|
+
"type": "string",
|
|
825
|
+
"description": "Timestamp of last modification in ISO 8601 format"
|
|
826
|
+
},
|
|
827
|
+
"dateCreated": {
|
|
828
|
+
"type": "string",
|
|
829
|
+
"description": "Timestamp when the document was created in ISO 8601 format",
|
|
830
|
+
"format": "date-time"
|
|
831
|
+
},
|
|
832
|
+
"dateModified": {
|
|
833
|
+
"type": "string",
|
|
834
|
+
"description": "Timestamp when the document was last modified in ISO 8601 format",
|
|
835
|
+
"format": "date-time"
|
|
836
|
+
},
|
|
837
|
+
"datePublished": {
|
|
838
|
+
"type": "string",
|
|
839
|
+
"description": "Timestamp when the document was published in ISO 8601 format",
|
|
840
|
+
"format": "date-time"
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
},
|
|
845
|
+
"title": "Schema Resume v1.1.0",
|
|
846
|
+
"description": "Self-hosted JSON-LD schema for CV/Resume parsing and validation with work authorization and tools tracking",
|
|
847
|
+
"type": "object",
|
|
848
|
+
"version": "1.1.0"
|
|
849
|
+
}
|