UNPKG

8.6 kBJSONView Raw
1{
2 "title": "Person",
3 "@id": "schema:Person",
4 "extends": "Thing",
5 "role": "secondary",
6 "status": "stable",
7 "category": "other",
8 "description": "A person (alive, dead, undead, or fictional).",
9 "parser": "person",
10 "properties": {
11 "type": {
12 "@id": "schema:type",
13 "description": "The name of the type.",
14 "type": "string",
15 "enum": [
16 "Person"
17 ],
18 "default": "Person",
19 "from": "Entity"
20 },
21 "id": {
22 "@id": "schema:id",
23 "description": "The identifier for this item.",
24 "type": "string",
25 "from": "Entity"
26 },
27 "meta": {
28 "@id": "stencila:meta",
29 "description": "Metadata associated with this item.",
30 "type": "object",
31 "from": "Entity"
32 },
33 "alternateNames": {
34 "@id": "schema:alternateName",
35 "description": "Alternate names (aliases) for the item.",
36 "type": "array",
37 "items": {
38 "type": "string"
39 },
40 "from": "Thing",
41 "isArray": true,
42 "isPlural": true,
43 "aliases": [
44 "alternateName"
45 ]
46 },
47 "description": {
48 "@id": "schema:description",
49 "description": "A description of the item.",
50 "$comment": "Allows for the description to be an array of nodes (e.g. an array of inline content,\nor a couple of paragraphs), or a string. The `minItems` restriction avoids a string\nbeing coerced into an array with a single string item.\n",
51 "anyOf": [
52 {
53 "type": "array",
54 "items": {
55 "$ref": "BlockContent.schema.json"
56 }
57 },
58 {
59 "type": "array",
60 "items": {
61 "$ref": "InlineContent.schema.json"
62 },
63 "minItems": 2
64 },
65 {
66 "type": "string"
67 }
68 ],
69 "from": "Thing"
70 },
71 "identifiers": {
72 "@id": "schema:identifier",
73 "description": "Any kind of identifier for any kind of Thing.",
74 "$comment": "Some identifiers have specific properties e.g the `issn` property for\nthe `Periodical` type. These should be used in preference to this\nproperty which is intended for identifiers that do not yet have a\nspecific property. Identifiers can be represented as strings, but\nusing a `PropertyValue` will usually be better because it allows\nfor `propertyID` (i.e. the type of identifier).\n",
75 "type": "array",
76 "items": {
77 "anyOf": [
78 {
79 "$ref": "PropertyValue.schema.json"
80 },
81 {
82 "type": "string"
83 }
84 ]
85 },
86 "from": "Thing",
87 "isArray": true,
88 "isPlural": true,
89 "aliases": [
90 "identifier"
91 ]
92 },
93 "images": {
94 "@id": "schema:image",
95 "description": "Images of the item.",
96 "type": "array",
97 "items": {
98 "anyOf": [
99 {
100 "$ref": "ImageObject.schema.json"
101 },
102 {
103 "type": "string",
104 "format": "uri"
105 }
106 ]
107 },
108 "from": "Thing",
109 "isArray": true,
110 "isPlural": true,
111 "aliases": [
112 "image"
113 ]
114 },
115 "name": {
116 "@id": "schema:name",
117 "description": "The name of the item.",
118 "type": "string",
119 "from": "Thing"
120 },
121 "url": {
122 "@id": "schema:url",
123 "description": "The URL of the item.",
124 "type": "string",
125 "format": "uri",
126 "from": "Thing"
127 },
128 "address": {
129 "@id": "schema:address",
130 "description": "Postal address for the person.",
131 "anyOf": [
132 {
133 "$ref": "PostalAddress.schema.json"
134 },
135 {
136 "type": "string"
137 }
138 ],
139 "from": "Person"
140 },
141 "affiliations": {
142 "@id": "schema:affiliation",
143 "description": "Organizations that the person is affiliated with.",
144 "type": "array",
145 "items": {
146 "$ref": "Organization.schema.json"
147 },
148 "from": "Person",
149 "isArray": true,
150 "isPlural": true,
151 "aliases": [
152 "affiliation"
153 ]
154 },
155 "emails": {
156 "@id": "schema:email",
157 "description": "Email addresses for the person.",
158 "type": "array",
159 "items": {
160 "type": "string",
161 "format": "email"
162 },
163 "from": "Person",
164 "isArray": true,
165 "isPlural": true,
166 "aliases": [
167 "email"
168 ]
169 },
170 "familyNames": {
171 "@id": "schema:familyName",
172 "aliases": [
173 "familyName",
174 "surname",
175 "surnames",
176 "lastName",
177 "lastNames"
178 ],
179 "description": "Family name. In the U.S., the last name of a person.",
180 "$comment": "This can be used along with givenName instead of the name property.",
181 "allOf": [
182 {
183 "parser": "ssi"
184 },
185 {
186 "type": "array",
187 "items": {
188 "type": "string"
189 }
190 }
191 ],
192 "from": "Person",
193 "isArray": true,
194 "isPlural": true
195 },
196 "funders": {
197 "@id": "schema:funder",
198 "description": "A person or organization that supports (sponsors) something through\nsome kind of financial contribution.\n",
199 "type": "array",
200 "items": {
201 "anyOf": [
202 {
203 "$ref": "Organization.schema.json"
204 },
205 {
206 "$ref": "Person.schema.json"
207 }
208 ]
209 },
210 "from": "Person",
211 "isArray": true,
212 "isPlural": true,
213 "aliases": [
214 "funder"
215 ]
216 },
217 "givenNames": {
218 "@id": "schema:givenName",
219 "aliases": [
220 "firstName",
221 "firstNames",
222 "givenName"
223 ],
224 "description": "Given name. In the U.S., the first name of a person.",
225 "$comment": "This can be used along with familyName instead of the name property.",
226 "allOf": [
227 {
228 "parser": "ssi"
229 },
230 {
231 "type": "array",
232 "items": {
233 "type": "string"
234 }
235 }
236 ],
237 "from": "Person",
238 "isArray": true,
239 "isPlural": true
240 },
241 "honorificPrefix": {
242 "@id": "schema:honorificPrefix",
243 "aliases": [
244 "prefix"
245 ],
246 "description": "An honorific prefix preceding a person's name such as Dr/Mrs/Mr.",
247 "type": "string",
248 "from": "Person"
249 },
250 "honorificSuffix": {
251 "@id": "schema:honorificSuffix",
252 "aliases": [
253 "suffix"
254 ],
255 "description": "An honorific suffix after a person's name such as MD/PhD/MSCSW.",
256 "type": "string",
257 "from": "Person"
258 },
259 "jobTitle": {
260 "@id": "schema:jobTitle",
261 "description": "The job title of the person (for example, Financial Manager).",
262 "type": "string",
263 "from": "Person"
264 },
265 "memberOf": {
266 "@id": "schema:memberOf",
267 "description": "An organization (or program membership) to which this person belongs.",
268 "type": "array",
269 "items": {
270 "$ref": "Organization.schema.json"
271 },
272 "from": "Person",
273 "isArray": true
274 },
275 "telephoneNumbers": {
276 "@id": "schema:telephone",
277 "aliases": [
278 "telephone",
279 "telephoneNumber"
280 ],
281 "description": "Telephone numbers for the person.",
282 "type": "array",
283 "items": {
284 "type": "string"
285 },
286 "from": "Person",
287 "isArray": true,
288 "isPlural": true
289 }
290 },
291 "examples": [
292 {
293 "type": "Person",
294 "honorificPrefix": "Dr",
295 "givenNames": [
296 "Marie",
297 "Skłodowska"
298 ],
299 "familyNames": [
300 "Curie"
301 ],
302 "honorificSuffix": "PhD"
303 }
304 ],
305 "file": "Person.schema.yaml",
306 "children": [],
307 "descendants": [],
308 "$schema": "http://json-schema.org/draft-07/schema#",
309 "$id": "https://schema.stenci.la/v1/Person.schema.json",
310 "source": "https://github.com/stencila/schema/blob/master/schema/Person.schema.yaml",
311 "type": "object",
312 "propertyAliases": {
313 "alternateName": "alternateNames",
314 "identifier": "identifiers",
315 "image": "images",
316 "affiliation": "affiliations",
317 "email": "emails",
318 "familyName": "familyNames",
319 "surname": "familyNames",
320 "surnames": "familyNames",
321 "lastName": "familyNames",
322 "lastNames": "familyNames",
323 "funder": "funders",
324 "firstName": "givenNames",
325 "firstNames": "givenNames",
326 "givenName": "givenNames",
327 "prefix": "honorificPrefix",
328 "suffix": "honorificSuffix",
329 "telephone": "telephoneNumbers",
330 "telephoneNumber": "telephoneNumbers"
331 },
332 "additionalProperties": false,
333 "required": [
334 "type"
335 ]
336}