UNPKG

16.6 kBJSONView Raw
1{
2 "title": "AudioObject",
3 "@id": "schema:AudioObject",
4 "extends": "MediaObject",
5 "role": "secondary",
6 "status": "stable",
7 "category": "works",
8 "description": "An audio file",
9 "properties": {
10 "type": {
11 "@id": "schema:type",
12 "description": "The name of the type.",
13 "type": "string",
14 "enum": [
15 "AudioObject"
16 ],
17 "default": "AudioObject",
18 "from": "Entity"
19 },
20 "id": {
21 "@id": "schema:id",
22 "description": "The identifier for this item.",
23 "type": "string",
24 "from": "Entity"
25 },
26 "meta": {
27 "@id": "stencila:meta",
28 "description": "Metadata associated with this item.",
29 "type": "object",
30 "from": "Entity"
31 },
32 "alternateNames": {
33 "@id": "schema:alternateName",
34 "description": "Alternate names (aliases) for the item.",
35 "type": "array",
36 "items": {
37 "type": "string"
38 },
39 "from": "Thing",
40 "isArray": true,
41 "isPlural": true,
42 "aliases": [
43 "alternateName"
44 ]
45 },
46 "description": {
47 "@id": "schema:description",
48 "description": "A description of the item.",
49 "$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",
50 "anyOf": [
51 {
52 "type": "array",
53 "items": {
54 "$ref": "BlockContent.schema.json"
55 }
56 },
57 {
58 "type": "array",
59 "items": {
60 "$ref": "InlineContent.schema.json"
61 },
62 "minItems": 2
63 },
64 {
65 "type": "string"
66 }
67 ],
68 "from": "Thing"
69 },
70 "identifiers": {
71 "@id": "schema:identifier",
72 "description": "Any kind of identifier for any kind of Thing.",
73 "$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",
74 "type": "array",
75 "items": {
76 "anyOf": [
77 {
78 "$ref": "PropertyValue.schema.json"
79 },
80 {
81 "type": "string"
82 }
83 ]
84 },
85 "from": "Thing",
86 "isArray": true,
87 "isPlural": true,
88 "aliases": [
89 "identifier"
90 ]
91 },
92 "images": {
93 "@id": "schema:image",
94 "description": "Images of the item.",
95 "type": "array",
96 "items": {
97 "anyOf": [
98 {
99 "$ref": "ImageObject.schema.json"
100 },
101 {
102 "type": "string",
103 "format": "uri"
104 }
105 ]
106 },
107 "from": "Thing",
108 "isArray": true,
109 "isPlural": true,
110 "aliases": [
111 "image"
112 ]
113 },
114 "name": {
115 "@id": "schema:name",
116 "description": "The name of the item.",
117 "type": "string",
118 "from": "Thing"
119 },
120 "url": {
121 "@id": "schema:url",
122 "description": "The URL of the item.",
123 "type": "string",
124 "format": "uri",
125 "from": "Thing"
126 },
127 "about": {
128 "@id": "schema:about",
129 "description": "The subject matter of the content.",
130 "$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",
131 "type": "array",
132 "items": {
133 "$ref": "ThingTypes.schema.json"
134 },
135 "from": "CreativeWork",
136 "isArray": true
137 },
138 "authors": {
139 "@id": "schema:author",
140 "description": "The authors of this creative work.",
141 "allOf": [
142 {
143 "parser": "scsi"
144 },
145 {
146 "type": "array",
147 "items": {
148 "anyOf": [
149 {
150 "$ref": "Person.schema.json"
151 },
152 {
153 "$ref": "Organization.schema.json"
154 }
155 ]
156 }
157 }
158 ],
159 "from": "CreativeWork",
160 "isArray": true,
161 "isPlural": true,
162 "aliases": [
163 "author"
164 ]
165 },
166 "comments": {
167 "@id": "schema:comment",
168 "description": "Comments about this creative work.",
169 "type": "array",
170 "items": {
171 "$ref": "Comment.schema.json"
172 },
173 "from": "CreativeWork",
174 "isArray": true,
175 "isPlural": true,
176 "aliases": [
177 "comment"
178 ]
179 },
180 "content": {
181 "@id": "stencila:content",
182 "description": "The structured content of this creative work c.f. property `text`.",
183 "anyOf": [
184 {
185 "type": "array",
186 "items": {
187 "$ref": "Node.schema.json"
188 }
189 },
190 {
191 "type": "string"
192 }
193 ],
194 "from": "CreativeWork"
195 },
196 "dateCreated": {
197 "@id": "schema:dateCreated",
198 "description": "Date/time of creation.",
199 "allOf": [
200 {
201 "$ref": "Date.schema.json"
202 }
203 ],
204 "from": "CreativeWork"
205 },
206 "dateReceived": {
207 "@id": "schema:dateReceived",
208 "description": "Date/time that work was received.",
209 "allOf": [
210 {
211 "$ref": "Date.schema.json"
212 }
213 ],
214 "from": "CreativeWork"
215 },
216 "dateAccepted": {
217 "@id": "stencila:dateAccepted",
218 "description": "Date/time of acceptance.",
219 "$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",
220 "allOf": [
221 {
222 "$ref": "Date.schema.json"
223 }
224 ],
225 "from": "CreativeWork"
226 },
227 "dateModified": {
228 "@id": "schema:dateModified",
229 "description": "Date/time of most recent modification.",
230 "allOf": [
231 {
232 "$ref": "Date.schema.json"
233 }
234 ],
235 "from": "CreativeWork"
236 },
237 "datePublished": {
238 "@id": "schema:datePublished",
239 "aliases": [
240 "date"
241 ],
242 "description": "Date of first publication.",
243 "allOf": [
244 {
245 "$ref": "Date.schema.json"
246 }
247 ],
248 "from": "CreativeWork"
249 },
250 "editors": {
251 "@id": "schema:editor",
252 "description": "People who edited the `CreativeWork`.",
253 "type": "array",
254 "items": {
255 "$ref": "Person.schema.json"
256 },
257 "from": "CreativeWork",
258 "isArray": true,
259 "isPlural": true,
260 "aliases": [
261 "editor"
262 ]
263 },
264 "funders": {
265 "@id": "schema:funder",
266 "description": "People or organizations that funded the `CreativeWork`.",
267 "type": "array",
268 "items": {
269 "anyOf": [
270 {
271 "$ref": "Person.schema.json"
272 },
273 {
274 "$ref": "Organization.schema.json"
275 }
276 ]
277 },
278 "from": "CreativeWork",
279 "isArray": true,
280 "isPlural": true,
281 "aliases": [
282 "funder"
283 ]
284 },
285 "fundedBy": {
286 "@id": "stencila:fundedBy",
287 "description": "Grants that funded the `CreativeWork`; reverse of `fundedItems`.",
288 "$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",
289 "type": "array",
290 "items": {
291 "anyOf": [
292 {
293 "$ref": "Grant.schema.json"
294 },
295 {
296 "$ref": "MonetaryGrant.schema.json"
297 }
298 ]
299 },
300 "from": "CreativeWork",
301 "isArray": true
302 },
303 "genre": {
304 "@id": "schema:genre",
305 "description": "Genre of the creative work, broadcast channel or group.",
306 "allOf": [
307 {
308 "parser": "csi"
309 },
310 {
311 "type": "array",
312 "items": {
313 "type": "string"
314 }
315 }
316 ],
317 "from": "CreativeWork",
318 "isArray": true
319 },
320 "keywords": {
321 "@id": "schema:keywords",
322 "description": "Keywords or tags used to describe this content.\nMultiple entries in a keywords list are typically delimited by commas.\n",
323 "allOf": [
324 {
325 "parser": "csi"
326 },
327 {
328 "type": "array",
329 "items": {
330 "type": "string"
331 }
332 }
333 ],
334 "from": "CreativeWork",
335 "isArray": true,
336 "isPlural": true,
337 "aliases": [
338 "keyword"
339 ]
340 },
341 "isPartOf": {
342 "@id": "schema:isPartOf",
343 "description": "An item or other CreativeWork that this CreativeWork is a part of.\n",
344 "$ref": "CreativeWorkTypes.schema.json",
345 "from": "CreativeWork"
346 },
347 "licenses": {
348 "@id": "schema:license",
349 "description": "License documents that applies to this content, typically indicated by URL.\n",
350 "type": "array",
351 "items": {
352 "anyOf": [
353 {
354 "$ref": "CreativeWorkTypes.schema.json"
355 },
356 {
357 "type": "string",
358 "format": "uri"
359 }
360 ]
361 },
362 "from": "CreativeWork",
363 "isArray": true,
364 "isPlural": true,
365 "aliases": [
366 "license"
367 ]
368 },
369 "maintainers": {
370 "@id": "schema:maintainer",
371 "description": "The people or organizations who maintain this CreativeWork.",
372 "$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",
373 "type": "array",
374 "items": {
375 "anyOf": [
376 {
377 "$ref": "Person.schema.json"
378 },
379 {
380 "$ref": "Organization.schema.json"
381 }
382 ]
383 },
384 "from": "CreativeWork",
385 "isArray": true,
386 "isPlural": true,
387 "aliases": [
388 "maintainer"
389 ]
390 },
391 "parts": {
392 "@id": "schema:hasParts",
393 "aliases": [
394 "hasParts",
395 "part"
396 ],
397 "description": "Elements of the collection which can be a variety of different elements,\nsuch as Articles, Datatables, Tables and more.\n",
398 "type": "array",
399 "items": {
400 "$ref": "CreativeWorkTypes.schema.json"
401 },
402 "from": "CreativeWork",
403 "isArray": true,
404 "isPlural": true
405 },
406 "publisher": {
407 "@id": "schema:publisher",
408 "description": "A publisher of the CreativeWork.\n",
409 "anyOf": [
410 {
411 "$ref": "Person.schema.json"
412 },
413 {
414 "$ref": "Organization.schema.json"
415 }
416 ],
417 "from": "CreativeWork"
418 },
419 "references": {
420 "@id": "schema:citation",
421 "aliases": [
422 "citations",
423 "reference"
424 ],
425 "description": "References to other creative works, such as another publication,\nweb page, scholarly article, etc.\n",
426 "type": "array",
427 "items": {
428 "anyOf": [
429 {
430 "$ref": "CreativeWorkTypes.schema.json"
431 },
432 {
433 "type": "string"
434 }
435 ]
436 },
437 "from": "CreativeWork",
438 "isArray": true,
439 "isPlural": true
440 },
441 "text": {
442 "@id": "schema:text",
443 "description": "The textual content of this creative work.",
444 "type": "string",
445 "from": "CreativeWork"
446 },
447 "title": {
448 "@id": "schema:headline",
449 "description": "The title of the creative work.",
450 "aliases": [
451 "headline"
452 ],
453 "$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",
454 "anyOf": [
455 {
456 "type": "array",
457 "items": {
458 "$ref": "InlineContent.schema.json"
459 },
460 "minItems": 2
461 },
462 {
463 "type": "string"
464 }
465 ],
466 "from": "CreativeWork"
467 },
468 "version": {
469 "@id": "schema:version",
470 "description": "The version of the creative work.",
471 "$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",
472 "anyOf": [
473 {
474 "type": "string"
475 },
476 {
477 "type": "number"
478 }
479 ],
480 "from": "CreativeWork"
481 },
482 "bitrate": {
483 "@id": "schema:bitrate",
484 "description": "Bitrate in megabits per second (Mbit/s, Mb/s, Mbps).\n",
485 "type": "number",
486 "from": "MediaObject"
487 },
488 "contentSize": {
489 "@id": "schema:contentSize",
490 "description": "File size in megabits (Mbit, Mb).\n",
491 "type": "number",
492 "from": "MediaObject"
493 },
494 "contentUrl": {
495 "@id": "schema:contentUrl",
496 "description": "URL for the actual bytes of the media object, for example the image file or video file.\n",
497 "$comment": "To allow for file paths, including possibly erroneous paths, niether `format` or `pattern`\nkeywords are used here, or on `embedUrl`.\n",
498 "type": "string",
499 "from": "MediaObject"
500 },
501 "embedUrl": {
502 "@id": "schema:embedUrl",
503 "description": "URL that can be used to embed the media on a web page via a specific media player.\n",
504 "type": "string",
505 "from": "MediaObject"
506 },
507 "mediaType": {
508 "@id": "schema:encodingFormat",
509 "aliases": [
510 "encodingFormat"
511 ],
512 "description": "IANA media type (MIME type).",
513 "$comment": "This property is more restrictive than https://schema.org/encodingFormat which\nexpects either Text or URL for this property. This schema expects a media type e.g. `text/html`\nas listed at http://www.iana.org/assignments/media-types/media-types.xhtml.\n",
514 "type": "string",
515 "pattern": "^[a-z]+(\\/[a-z\\+\\-]+)$",
516 "from": "MediaObject"
517 },
518 "caption": {
519 "@id": "schema:caption",
520 "description": "The caption for this audio recording.",
521 "type": "string",
522 "from": "AudioObject"
523 },
524 "transcript": {
525 "@id": "schema:transcript",
526 "description": "The transcript of this audio recording.",
527 "type": "string",
528 "from": "AudioObject"
529 }
530 },
531 "examples": [
532 {
533 "type": "AudioObject",
534 "caption": "Example Audio File",
535 "contentSize": 54321,
536 "contentUrl": "http://www.example.com/file.mp3",
537 "encodingFormat": "audio/mpeg3",
538 "transcript": "This is the transcript for the audio file..."
539 }
540 ],
541 "file": "AudioObject.schema.yaml",
542 "children": [],
543 "descendants": [],
544 "$schema": "http://json-schema.org/draft-07/schema#",
545 "$id": "https://schema.stenci.la/v1/AudioObject.schema.json",
546 "source": "https://github.com/stencila/schema/blob/master/schema/AudioObject.schema.yaml",
547 "type": "object",
548 "additionalProperties": false,
549 "required": [
550 "type",
551 "contentUrl"
552 ],
553 "propertyAliases": {
554 "alternateName": "alternateNames",
555 "identifier": "identifiers",
556 "image": "images",
557 "author": "authors",
558 "comment": "comments",
559 "date": "datePublished",
560 "editor": "editors",
561 "funder": "funders",
562 "keyword": "keywords",
563 "license": "licenses",
564 "maintainer": "maintainers",
565 "hasParts": "parts",
566 "part": "parts",
567 "citations": "references",
568 "reference": "references",
569 "headline": "title",
570 "encodingFormat": "mediaType"
571 }
572}