UNPKG

4.02 kBJSONView Raw
1{
2 "title": "Enumeration",
3 "@id": "schema:Enumeration",
4 "status": "stable",
5 "role": "secondary",
6 "category": "other",
7 "extends": "Thing",
8 "description": "Lists or enumerations, for example, a list of cuisines or music genres, etc.",
9 "file": "Enumeration.schema.yaml",
10 "children": [
11 "CitationIntentEnumeration"
12 ],
13 "descendants": [
14 "CitationIntentEnumeration"
15 ],
16 "$schema": "http://json-schema.org/draft-07/schema#",
17 "$id": "https://schema.stenci.la/v1/Enumeration.schema.json",
18 "source": "https://github.com/stencila/schema/blob/master/schema/Enumeration.schema.yaml",
19 "properties": {
20 "type": {
21 "@id": "schema:type",
22 "description": "The name of the type.",
23 "type": "string",
24 "enum": [
25 "Enumeration",
26 "CitationIntentEnumeration"
27 ],
28 "default": "Enumeration",
29 "from": "Entity"
30 },
31 "id": {
32 "@id": "schema:id",
33 "description": "The identifier for this item.",
34 "type": "string",
35 "from": "Entity"
36 },
37 "meta": {
38 "@id": "stencila:meta",
39 "description": "Metadata associated with this item.",
40 "type": "object",
41 "from": "Entity"
42 },
43 "alternateNames": {
44 "@id": "schema:alternateName",
45 "description": "Alternate names (aliases) for the item.",
46 "type": "array",
47 "items": {
48 "type": "string"
49 },
50 "from": "Thing",
51 "isArray": true,
52 "isPlural": true,
53 "aliases": [
54 "alternateName"
55 ]
56 },
57 "description": {
58 "@id": "schema:description",
59 "description": "A description of the item.",
60 "$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",
61 "anyOf": [
62 {
63 "type": "array",
64 "items": {
65 "$ref": "BlockContent.schema.json"
66 }
67 },
68 {
69 "type": "array",
70 "items": {
71 "$ref": "InlineContent.schema.json"
72 },
73 "minItems": 2
74 },
75 {
76 "type": "string"
77 }
78 ],
79 "from": "Thing"
80 },
81 "identifiers": {
82 "@id": "schema:identifier",
83 "description": "Any kind of identifier for any kind of Thing.",
84 "$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",
85 "type": "array",
86 "items": {
87 "anyOf": [
88 {
89 "$ref": "PropertyValue.schema.json"
90 },
91 {
92 "type": "string"
93 }
94 ]
95 },
96 "from": "Thing",
97 "isArray": true,
98 "isPlural": true,
99 "aliases": [
100 "identifier"
101 ]
102 },
103 "images": {
104 "@id": "schema:image",
105 "description": "Images of the item.",
106 "type": "array",
107 "items": {
108 "anyOf": [
109 {
110 "$ref": "ImageObject.schema.json"
111 },
112 {
113 "type": "string",
114 "format": "uri"
115 }
116 ]
117 },
118 "from": "Thing",
119 "isArray": true,
120 "isPlural": true,
121 "aliases": [
122 "image"
123 ]
124 },
125 "name": {
126 "@id": "schema:name",
127 "description": "The name of the item.",
128 "type": "string",
129 "from": "Thing"
130 },
131 "url": {
132 "@id": "schema:url",
133 "description": "The URL of the item.",
134 "type": "string",
135 "format": "uri",
136 "from": "Thing"
137 }
138 },
139 "required": [
140 "type"
141 ],
142 "propertyAliases": {
143 "alternateName": "alternateNames",
144 "identifier": "identifiers",
145 "image": "images"
146 }
147}