1 | {
|
2 | "title": "Person",
|
3 | "@id": "schema:Person",
|
4 | "extends": "Thing",
|
5 | "role": "secondary",
|
6 | "status": "stable",
|
7 | "category": "metadata",
|
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 | "type": "string"
|
134 | },
|
135 | {
|
136 | "$ref": "PostalAddress.schema.json"
|
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 | {
|
271 | "$ref": "Organization.schema.json"
|
272 | }
|
273 | ],
|
274 | "from": "Person",
|
275 | "isArray": true
|
276 | },
|
277 | "telephoneNumbers": {
|
278 | "@id": "schema:telephone",
|
279 | "aliases": [
|
280 | "telephone",
|
281 | "telephoneNumber"
|
282 | ],
|
283 | "description": "Telephone numbers for the person.",
|
284 | "type": "array",
|
285 | "items": {
|
286 | "type": "string"
|
287 | },
|
288 | "from": "Person",
|
289 | "isArray": true,
|
290 | "isPlural": true
|
291 | }
|
292 | },
|
293 | "file": "Person.schema.yaml",
|
294 | "children": [],
|
295 | "descendants": [],
|
296 | "$schema": "http://json-schema.org/draft-07/schema#",
|
297 | "$id": "https://schema.stenci.la/v0/Person.schema.json",
|
298 | "source": "https://github.com/stencila/schema/blob/master/Person.schema.yaml",
|
299 | "type": "object",
|
300 | "propertyAliases": {
|
301 | "alternateName": "alternateNames",
|
302 | "identifier": "identifiers",
|
303 | "image": "images",
|
304 | "affiliation": "affiliations",
|
305 | "email": "emails",
|
306 | "familyName": "familyNames",
|
307 | "surname": "familyNames",
|
308 | "surnames": "familyNames",
|
309 | "lastName": "familyNames",
|
310 | "lastNames": "familyNames",
|
311 | "funder": "funders",
|
312 | "firstName": "givenNames",
|
313 | "firstNames": "givenNames",
|
314 | "givenName": "givenNames",
|
315 | "prefix": "honorificPrefix",
|
316 | "suffix": "honorificSuffix",
|
317 | "telephone": "telephoneNumbers",
|
318 | "telephoneNumber": "telephoneNumbers"
|
319 | },
|
320 | "additionalProperties": false,
|
321 | "required": [
|
322 | "type"
|
323 | ]
|
324 | }
|