UNPKG

5.27 kBJSONView Raw
1{
2 "title": "SoftwareEnvironment",
3 "@id": "stencila:SoftwareEnvironment",
4 "extends": "Thing",
5 "role": "primary",
6 "status": "unstable",
7 "category": "code",
8 "description": "A computational environment.",
9 "properties": {
10 "type": {
11 "@id": "schema:type",
12 "description": "The name of the type.",
13 "type": "string",
14 "enum": [
15 "SoftwareEnvironment"
16 ],
17 "default": "SoftwareEnvironment",
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 "isOverride": true
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 "extends": {
129 "@id": "stencila:extends",
130 "description": "Other environments that this environment extends by adding or removing packages.,",
131 "type": "array",
132 "items": {
133 "$ref": "SoftwareEnvironment.schema.json"
134 },
135 "from": "SoftwareEnvironment",
136 "isArray": true,
137 "isPlural": true,
138 "aliases": [
139 "extend"
140 ]
141 },
142 "adds": {
143 "@id": "stencila:adds",
144 "description": "The packages that this environment adds to the base environments listed under `extends` (if any).,",
145 "type": "array",
146 "items": {
147 "$ref": "SoftwareSourceCode.schema.json"
148 },
149 "from": "SoftwareEnvironment",
150 "isArray": true,
151 "isPlural": true,
152 "aliases": [
153 "add"
154 ]
155 },
156 "removes": {
157 "@id": "stencila:removes",
158 "description": "The packages that this environment removes from the base environments listed under `extends` (if any).,",
159 "type": "array",
160 "items": {
161 "$ref": "SoftwareSourceCode.schema.json"
162 },
163 "from": "SoftwareEnvironment",
164 "isArray": true,
165 "isPlural": true,
166 "aliases": [
167 "remove"
168 ]
169 }
170 },
171 "required": [
172 "type",
173 "name"
174 ],
175 "file": "SoftwareEnvironment.schema.yaml",
176 "children": [],
177 "descendants": [],
178 "$schema": "http://json-schema.org/draft-07/schema#",
179 "$id": "https://schema.stenci.la/v0/SoftwareEnvironment.schema.json",
180 "source": "https://github.com/stencila/schema/blob/master/SoftwareEnvironment.schema.yaml",
181 "type": "object",
182 "propertyAliases": {
183 "alternateName": "alternateNames",
184 "identifier": "identifiers",
185 "image": "images",
186 "extend": "extends",
187 "add": "adds",
188 "remove": "removes"
189 },
190 "additionalProperties": false
191}