UNPKG

15.7 kBJSONView Raw
1{
2 "title": "SoftwareApplication",
3 "@id": "schema:SoftwareApplication",
4 "extends": "CreativeWork",
5 "category": "works",
6 "role": "primary",
7 "status": "stable",
8 "description": "A software application.\n",
9 "$comment": "`SoftwareApplication` represents a software application that can be located by name and version.\nIt may be fetched in binary format or some package manager (npm, pip, etc) could fetch and compile the source code.\nAlthough by using the `softwareRequirements` property it is possible to represent a full hierarchy\nof required packages, normally it is adequate to only list the immediate dependencies and allow\nthe system/language package manager to resolve the rest.\n",
10 "properties": {
11 "type": {
12 "@id": "schema:type",
13 "description": "The name of the type.",
14 "type": "string",
15 "enum": [
16 "SoftwareApplication"
17 ],
18 "default": "SoftwareApplication",
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": "ThingTypes.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 "allOf": [
143 {
144 "parser": "scsi"
145 },
146 {
147 "type": "array",
148 "items": {
149 "anyOf": [
150 {
151 "$ref": "Person.schema.json"
152 },
153 {
154 "$ref": "Organization.schema.json"
155 }
156 ]
157 }
158 }
159 ],
160 "from": "CreativeWork",
161 "isArray": true,
162 "isPlural": true,
163 "aliases": [
164 "author"
165 ]
166 },
167 "comments": {
168 "@id": "schema:comment",
169 "description": "Comments about this creative work.",
170 "type": "array",
171 "items": {
172 "$ref": "Comment.schema.json"
173 },
174 "from": "CreativeWork",
175 "isArray": true,
176 "isPlural": true,
177 "aliases": [
178 "comment"
179 ]
180 },
181 "content": {
182 "@id": "stencila:content",
183 "description": "The structured content of this creative work c.f. property `text`.",
184 "anyOf": [
185 {
186 "type": "array",
187 "items": {
188 "$ref": "Node.schema.json"
189 }
190 },
191 {
192 "type": "string"
193 }
194 ],
195 "from": "CreativeWork"
196 },
197 "dateCreated": {
198 "@id": "schema:dateCreated",
199 "description": "Date/time of creation.",
200 "allOf": [
201 {
202 "$ref": "Date.schema.json"
203 }
204 ],
205 "from": "CreativeWork"
206 },
207 "dateReceived": {
208 "@id": "schema:dateReceived",
209 "description": "Date/time that work was received.",
210 "allOf": [
211 {
212 "$ref": "Date.schema.json"
213 }
214 ],
215 "from": "CreativeWork"
216 },
217 "dateAccepted": {
218 "@id": "stencila:dateAccepted",
219 "description": "Date/time of acceptance.",
220 "$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",
221 "allOf": [
222 {
223 "$ref": "Date.schema.json"
224 }
225 ],
226 "from": "CreativeWork"
227 },
228 "dateModified": {
229 "@id": "schema:dateModified",
230 "description": "Date/time of most recent modification.",
231 "allOf": [
232 {
233 "$ref": "Date.schema.json"
234 }
235 ],
236 "from": "CreativeWork"
237 },
238 "datePublished": {
239 "@id": "schema:datePublished",
240 "aliases": [
241 "date"
242 ],
243 "description": "Date of first publication.",
244 "allOf": [
245 {
246 "$ref": "Date.schema.json"
247 }
248 ],
249 "from": "CreativeWork"
250 },
251 "editors": {
252 "@id": "schema:editor",
253 "description": "People who edited the `CreativeWork`.",
254 "type": "array",
255 "items": {
256 "$ref": "Person.schema.json"
257 },
258 "from": "CreativeWork",
259 "isArray": true,
260 "isPlural": true,
261 "aliases": [
262 "editor"
263 ]
264 },
265 "funders": {
266 "@id": "schema:funder",
267 "description": "People or organizations that funded the `CreativeWork`.",
268 "type": "array",
269 "items": {
270 "anyOf": [
271 {
272 "$ref": "Person.schema.json"
273 },
274 {
275 "$ref": "Organization.schema.json"
276 }
277 ]
278 },
279 "from": "CreativeWork",
280 "isArray": true,
281 "isPlural": true,
282 "aliases": [
283 "funder"
284 ]
285 },
286 "fundedBy": {
287 "@id": "stencila:fundedBy",
288 "description": "Grants that funded the `CreativeWork`; reverse of `fundedItems`.",
289 "$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",
290 "type": "array",
291 "items": {
292 "anyOf": [
293 {
294 "$ref": "Grant.schema.json"
295 },
296 {
297 "$ref": "MonetaryGrant.schema.json"
298 }
299 ]
300 },
301 "from": "CreativeWork",
302 "isArray": true
303 },
304 "genre": {
305 "@id": "schema:genre",
306 "description": "Genre of the creative work, broadcast channel or group.",
307 "allOf": [
308 {
309 "parser": "csi"
310 },
311 {
312 "type": "array",
313 "items": {
314 "type": "string"
315 }
316 }
317 ],
318 "from": "CreativeWork",
319 "isArray": true
320 },
321 "keywords": {
322 "@id": "schema:keywords",
323 "description": "Keywords or tags used to describe this content.\nMultiple entries in a keywords list are typically delimited by commas.\n",
324 "allOf": [
325 {
326 "parser": "csi"
327 },
328 {
329 "type": "array",
330 "items": {
331 "type": "string"
332 }
333 }
334 ],
335 "from": "CreativeWork",
336 "isArray": true,
337 "isPlural": true,
338 "aliases": [
339 "keyword"
340 ]
341 },
342 "isPartOf": {
343 "@id": "schema:isPartOf",
344 "description": "An item or other CreativeWork that this CreativeWork is a part of.\n",
345 "$ref": "CreativeWorkTypes.schema.json",
346 "from": "CreativeWork"
347 },
348 "licenses": {
349 "@id": "schema:license",
350 "description": "License documents that applies to this content, typically indicated by URL.\n",
351 "type": "array",
352 "items": {
353 "anyOf": [
354 {
355 "$ref": "CreativeWorkTypes.schema.json"
356 },
357 {
358 "type": "string",
359 "format": "uri"
360 }
361 ]
362 },
363 "from": "CreativeWork",
364 "isArray": true,
365 "isPlural": true,
366 "aliases": [
367 "license"
368 ]
369 },
370 "maintainers": {
371 "@id": "schema:maintainer",
372 "description": "The people or organizations who maintain this CreativeWork.",
373 "$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",
374 "type": "array",
375 "items": {
376 "anyOf": [
377 {
378 "$ref": "Person.schema.json"
379 },
380 {
381 "$ref": "Organization.schema.json"
382 }
383 ]
384 },
385 "from": "CreativeWork",
386 "isArray": true,
387 "isPlural": true,
388 "aliases": [
389 "maintainer"
390 ]
391 },
392 "parts": {
393 "@id": "schema:hasParts",
394 "aliases": [
395 "hasParts",
396 "part"
397 ],
398 "description": "Elements of the collection which can be a variety of different elements,\nsuch as Articles, Datatables, Tables and more.\n",
399 "type": "array",
400 "items": {
401 "$ref": "CreativeWorkTypes.schema.json"
402 },
403 "from": "CreativeWork",
404 "isArray": true,
405 "isPlural": true
406 },
407 "publisher": {
408 "@id": "schema:publisher",
409 "description": "A publisher of the CreativeWork.\n",
410 "anyOf": [
411 {
412 "$ref": "Person.schema.json"
413 },
414 {
415 "$ref": "Organization.schema.json"
416 }
417 ],
418 "from": "CreativeWork"
419 },
420 "references": {
421 "@id": "schema:citation",
422 "aliases": [
423 "citations",
424 "reference"
425 ],
426 "description": "References to other creative works, such as another publication,\nweb page, scholarly article, etc.\n",
427 "type": "array",
428 "items": {
429 "anyOf": [
430 {
431 "$ref": "CreativeWorkTypes.schema.json"
432 },
433 {
434 "type": "string"
435 }
436 ]
437 },
438 "from": "CreativeWork",
439 "isArray": true,
440 "isPlural": true
441 },
442 "text": {
443 "@id": "schema:text",
444 "description": "The textual content of this creative work.",
445 "type": "string",
446 "from": "CreativeWork"
447 },
448 "title": {
449 "@id": "schema:headline",
450 "description": "The title of the creative work.",
451 "aliases": [
452 "headline"
453 ],
454 "$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",
455 "anyOf": [
456 {
457 "type": "array",
458 "items": {
459 "$ref": "InlineContent.schema.json"
460 },
461 "minItems": 2
462 },
463 {
464 "type": "string"
465 }
466 ],
467 "from": "CreativeWork"
468 },
469 "version": {
470 "@id": "schema:version",
471 "description": "The version of the creative work.",
472 "$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",
473 "anyOf": [
474 {
475 "type": "string"
476 },
477 {
478 "type": "number"
479 }
480 ],
481 "from": "CreativeWork"
482 },
483 "softwareRequirements": {
484 "@id": "schema:softwareRequirements",
485 "description": "Requirements for application, including shared libraries that\nare not included in the application distribution.\n",
486 "type": "array",
487 "items": {
488 "$ref": "SoftwareApplication.schema.json"
489 },
490 "from": "SoftwareApplication",
491 "isArray": true,
492 "isPlural": true,
493 "aliases": [
494 "softwareRequirement"
495 ]
496 },
497 "softwareVersion": {
498 "@id": "schema:softwareVersion",
499 "description": "Version of the software.",
500 "type": "string",
501 "from": "SoftwareApplication"
502 }
503 },
504 "file": "SoftwareApplication.schema.yaml",
505 "children": [],
506 "descendants": [],
507 "$schema": "http://json-schema.org/draft-07/schema#",
508 "$id": "https://schema.stenci.la/v1/SoftwareApplication.schema.json",
509 "source": "https://github.com/stencila/schema/blob/master/schema/SoftwareApplication.schema.yaml",
510 "type": "object",
511 "propertyAliases": {
512 "alternateName": "alternateNames",
513 "identifier": "identifiers",
514 "image": "images",
515 "author": "authors",
516 "comment": "comments",
517 "date": "datePublished",
518 "editor": "editors",
519 "funder": "funders",
520 "keyword": "keywords",
521 "license": "licenses",
522 "maintainer": "maintainers",
523 "hasParts": "parts",
524 "part": "parts",
525 "citations": "references",
526 "reference": "references",
527 "headline": "title",
528 "softwareRequirement": "softwareRequirements"
529 },
530 "additionalProperties": false,
531 "required": [
532 "type"
533 ]
534}