UNPKG

15.2 kBJSONView Raw
1{
2 "title": "Review",
3 "@id": "schema:Review",
4 "extends": "CreativeWork",
5 "role": "secondary",
6 "status": "stable",
7 "category": "metadata",
8 "description": "A review of an item, e.g of an Article, or SoftwareSourceCode.",
9 "$comment": "Use the `content` property for the structured content of the review in\npreference to the schema.org `text` or `reviewBody` properties (which\nhave plain text as the expected type).\n",
10 "properties": {
11 "type": {
12 "@id": "schema:type",
13 "description": "The name of the type.",
14 "type": "string",
15 "enum": [
16 "Review"
17 ],
18 "default": "Review",
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 "about": {
129 "@id": "schema:about",
130 "description": "The subject matter of the content.",
131 "$comment": "Consistent with https://schema.org/about, this property allows for\nlinking to one of more `Thing` nodes. This could for example include\na `Person` (e.g for a bibliography) or a `DefinedTerm` (e.g. for\nsubject areas the creative work relates to).\n",
132 "type": "array",
133 "items": {
134 "$ref": "Thing.schema.json"
135 },
136 "from": "CreativeWork",
137 "isArray": true
138 },
139 "authors": {
140 "@id": "schema:author",
141 "description": "The authors of this creative work.",
142 "type": "array",
143 "allOf": [
144 {
145 "parser": "csi"
146 },
147 {
148 "type": "array",
149 "items": {
150 "anyOf": [
151 {
152 "$ref": "Person.schema.json"
153 },
154 {
155 "$ref": "Organization.schema.json"
156 }
157 ]
158 }
159 }
160 ],
161 "from": "CreativeWork",
162 "isArray": true,
163 "isPlural": true,
164 "aliases": [
165 "author"
166 ]
167 },
168 "comments": {
169 "@id": "schema:comment",
170 "description": "Comments about this creative work.",
171 "type": "array",
172 "items": {
173 "$ref": "Comment.schema.json"
174 },
175 "from": "CreativeWork",
176 "isArray": true,
177 "isPlural": true,
178 "aliases": [
179 "comment"
180 ]
181 },
182 "content": {
183 "@id": "stencila:content",
184 "description": "The structured content of this creative work c.f. property `text`.",
185 "type": "array",
186 "items": {
187 "$ref": "Node.schema.json"
188 },
189 "from": "CreativeWork",
190 "isArray": true
191 },
192 "dateCreated": {
193 "@id": "schema:dateCreated",
194 "description": "Date/time of creation.",
195 "allOf": [
196 {
197 "$ref": "#/definitions/dateProperty"
198 }
199 ],
200 "from": "CreativeWork"
201 },
202 "dateReceived": {
203 "@id": "schema:dateReceived",
204 "description": "Date/time that work was received.",
205 "allOf": [
206 {
207 "$ref": "#/definitions/dateProperty"
208 }
209 ],
210 "from": "CreativeWork"
211 },
212 "dateAccepted": {
213 "@id": "stencila:dateAccepted",
214 "description": "Date/time of acceptance.",
215 "$comment": "This is not yet a schema.org property but the term is used\n[in Dublin Core](http://purl.org/dc/terms/dateAccepted).\n",
216 "allOf": [
217 {
218 "$ref": "#/definitions/dateProperty"
219 }
220 ],
221 "from": "CreativeWork"
222 },
223 "dateModified": {
224 "@id": "schema:dateModified",
225 "description": "Date/time of most recent modification.",
226 "allOf": [
227 {
228 "$ref": "#/definitions/dateProperty"
229 }
230 ],
231 "from": "CreativeWork"
232 },
233 "datePublished": {
234 "@id": "schema:datePublished",
235 "aliases": [
236 "date"
237 ],
238 "description": "Date of first publication.",
239 "allOf": [
240 {
241 "$ref": "#/definitions/dateProperty"
242 }
243 ],
244 "from": "CreativeWork"
245 },
246 "editors": {
247 "@id": "schema:editor",
248 "description": "People who edited the `CreativeWork`.",
249 "type": "array",
250 "items": {
251 "$ref": "Person.schema.json"
252 },
253 "from": "CreativeWork",
254 "isArray": true,
255 "isPlural": true,
256 "aliases": [
257 "editor"
258 ]
259 },
260 "funders": {
261 "@id": "schema:funder",
262 "description": "People or organizations that funded the `CreativeWork`.",
263 "type": "array",
264 "items": {
265 "anyOf": [
266 {
267 "$ref": "Person.schema.json"
268 },
269 {
270 "$ref": "Organization.schema.json"
271 }
272 ]
273 },
274 "from": "CreativeWork",
275 "isArray": true,
276 "isPlural": true,
277 "aliases": [
278 "funder"
279 ]
280 },
281 "fundedBy": {
282 "@id": "stencila:fundedBy",
283 "description": "Grants that funded the `CreativeWork`; reverse of `fundedItems`.",
284 "$comment": "This follows the proposal [here](https://github.com/schemaorg/schemaorg/issues/2258)\nfor a property that is the reverse of `fundedItems`.\nIt is an any because a `CreativeWork` may have been funded through more than\none `Grant`.\n",
285 "type": "array",
286 "items": {
287 "anyOf": [
288 {
289 "$ref": "Grant.schema.json"
290 },
291 {
292 "$ref": "MonetaryGrant.schema.json"
293 }
294 ]
295 },
296 "from": "CreativeWork",
297 "isArray": true
298 },
299 "genre": {
300 "@id": "schema:genre",
301 "description": "Genre of the creative work, broadcast channel or group.",
302 "type": "array",
303 "items": {
304 "type": "string"
305 },
306 "from": "CreativeWork",
307 "isArray": true
308 },
309 "keywords": {
310 "@id": "schema:keywords",
311 "description": "Keywords or tags used to describe this content.\nMultiple entries in a keywords list are typically delimited by commas.\n",
312 "allOf": [
313 {
314 "parser": "csi"
315 },
316 {
317 "type": "array",
318 "items": {
319 "type": "string"
320 }
321 }
322 ],
323 "from": "CreativeWork",
324 "isArray": true,
325 "isPlural": true,
326 "aliases": [
327 "keyword"
328 ]
329 },
330 "isPartOf": {
331 "@id": "schema:isPartOf",
332 "description": "An item or other CreativeWork that this CreativeWork is a part of.\n",
333 "allOf": [
334 {
335 "$ref": "CreativeWorkTypes.schema.json"
336 }
337 ],
338 "from": "CreativeWork"
339 },
340 "licenses": {
341 "@id": "schema:license",
342 "description": "License documents that applies to this content, typically indicated by URL.\n",
343 "type": "array",
344 "items": {
345 "anyOf": [
346 {
347 "$ref": "CreativeWorkTypes.schema.json"
348 },
349 {
350 "type": "string",
351 "format": "uri"
352 }
353 ]
354 },
355 "from": "CreativeWork",
356 "isArray": true,
357 "isPlural": true,
358 "aliases": [
359 "license"
360 ]
361 },
362 "maintainers": {
363 "@id": "schema:maintainer",
364 "description": "The people or organizations who maintain this CreativeWork.",
365 "$comment": "A maintainer of a Dataset, SoftwareApplication, or other CreativeWork.\nA maintainer is a Person or Organization that manages contributions to,\nand/or publication of, some (typically complex) artifact. It is common for\ndistributions of software and data to be based on \"upstream\" sources.\nWhen maintainer is applied to a specific version of something e.g. a particular\nversion or packaging of a Dataset, it is always possible that the upstream\nsource has a different maintainer. The isBasedOn property can be used to\nindicate such relationships between datasets to make the different maintenance\nroles clear. Similarly in the case of software, a package may have dedicated\nmaintainers working on integration into software distributions such as Ubuntu,\nas well as upstream maintainers of the underlying work.\n",
366 "type": "array",
367 "items": [
368 {
369 "$ref": "Organization.schema.json"
370 },
371 {
372 "$ref": "Person.schema.json"
373 }
374 ],
375 "from": "CreativeWork",
376 "isArray": true,
377 "isPlural": true,
378 "aliases": [
379 "maintainer"
380 ]
381 },
382 "parts": {
383 "@id": "schema:hasParts",
384 "aliases": [
385 "hasParts",
386 "part"
387 ],
388 "description": "Elements of the collection which can be a variety of different elements,\nsuch as Articles, Datatables, Tables and more.\n",
389 "type": "array",
390 "items": {
391 "$ref": "CreativeWorkTypes.schema.json"
392 },
393 "from": "CreativeWork",
394 "isArray": true,
395 "isPlural": true
396 },
397 "publisher": {
398 "@id": "schema:publisher",
399 "description": "A publisher of the CreativeWork.\n",
400 "anyOf": [
401 {
402 "$ref": "Person.schema.json"
403 },
404 {
405 "$ref": "Organization.schema.json"
406 }
407 ],
408 "from": "CreativeWork"
409 },
410 "references": {
411 "@id": "schema:citation",
412 "aliases": [
413 "citations",
414 "reference"
415 ],
416 "description": "References to other creative works, such as another publication,\nweb page, scholarly article, etc.\n",
417 "type": "array",
418 "items": {
419 "anyOf": [
420 {
421 "$ref": "CreativeWorkTypes.schema.json"
422 },
423 {
424 "type": "string"
425 }
426 ]
427 },
428 "from": "CreativeWork",
429 "isArray": true,
430 "isPlural": true
431 },
432 "text": {
433 "@id": "schema:text",
434 "description": "The textual content of this creative work.",
435 "type": "string",
436 "from": "CreativeWork"
437 },
438 "title": {
439 "@id": "schema:headline",
440 "description": "The title of the creative work.",
441 "aliases": [
442 "headline"
443 ],
444 "$comment": "Allows for the title to include inline content (e.g `Strong`, `Math`)\nor a string. The title can not be block content e.g `Paragraph`.\nThe `minItems` restriction avoids a string being coerced into an array\nwith a single string item.\n",
445 "anyOf": [
446 {
447 "type": "array",
448 "items": {
449 "$ref": "InlineContent.schema.json"
450 },
451 "minItems": 2
452 },
453 {
454 "type": "string"
455 }
456 ],
457 "from": "CreativeWork"
458 },
459 "version": {
460 "@id": "schema:version",
461 "description": "The version of the creative work.",
462 "$comment": "In this case `string` is listed as an alternative before `number` to\navoid semantic version numbers e.g. `1.0` being parsed, and subsequently\nencoded, as `1` thereby resulting in loss of information.\n",
463 "anyOf": [
464 {
465 "type": "string"
466 },
467 {
468 "type": "number"
469 }
470 ],
471 "from": "CreativeWork"
472 },
473 "itemReviewed": {
474 "@id": "schema:itemReviewed",
475 "description": "The item that is being reviewed.",
476 "$ref": "Thing.schema.json",
477 "from": "Review"
478 },
479 "reviewAspect": {
480 "@id": "schema:reviewAspect",
481 "description": "The part or facet of the item that is being reviewed.",
482 "type": "string",
483 "from": "Review"
484 }
485 },
486 "file": "Review.schema.yaml",
487 "children": [],
488 "descendants": [],
489 "$schema": "http://json-schema.org/draft-07/schema#",
490 "$id": "https://schema.stenci.la/v0/Review.schema.json",
491 "source": "https://github.com/stencila/schema/blob/master/Review.schema.yaml",
492 "type": "object",
493 "additionalProperties": false,
494 "definitions": {
495 "dateProperty": {
496 "anyOf": [
497 {
498 "$ref": "Date.schema.json"
499 },
500 {
501 "type": "string",
502 "format": "date-time"
503 },
504 {
505 "type": "string",
506 "format": "date"
507 }
508 ]
509 }
510 },
511 "required": [
512 "type"
513 ],
514 "propertyAliases": {
515 "alternateName": "alternateNames",
516 "identifier": "identifiers",
517 "image": "images",
518 "author": "authors",
519 "comment": "comments",
520 "date": "datePublished",
521 "editor": "editors",
522 "funder": "funders",
523 "keyword": "keywords",
524 "license": "licenses",
525 "maintainer": "maintainers",
526 "hasParts": "parts",
527 "part": "parts",
528 "citations": "references",
529 "reference": "references",
530 "headline": "title"
531 }
532}