@frictionless-ts/metadata 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +3 -0
  2. package/build/assets/dialect-1.0.json +58 -0
  3. package/build/assets/dialect-2.0.json +98 -0
  4. package/build/assets/package-1.0.json +1517 -0
  5. package/build/assets/package-2.0.json +2168 -0
  6. package/build/assets/resource-1.0.json +1353 -0
  7. package/build/assets/resource-2.0.json +1987 -0
  8. package/build/assets/schema-1.0.json +1126 -0
  9. package/build/assets/schema-2.0.json +1715 -0
  10. package/build/descriptor/Descriptor.d.ts +2 -0
  11. package/build/descriptor/Descriptor.js +4 -0
  12. package/build/descriptor/index.d.ts +6 -0
  13. package/build/descriptor/index.js +6 -0
  14. package/build/descriptor/load.d.ts +8 -0
  15. package/build/descriptor/load.js +36 -0
  16. package/build/descriptor/load.spec.d.ts +1 -0
  17. package/build/descriptor/load.spec.js +44 -0
  18. package/build/descriptor/process/parse.d.ts +2 -0
  19. package/build/descriptor/process/parse.js +8 -0
  20. package/build/descriptor/process/stringify.d.ts +2 -0
  21. package/build/descriptor/process/stringify.js +4 -0
  22. package/build/descriptor/save.d.ts +9 -0
  23. package/build/descriptor/save.js +19 -0
  24. package/build/descriptor/save.spec.d.ts +1 -0
  25. package/build/descriptor/save.spec.js +99 -0
  26. package/build/dialect/Dialect.d.ts +89 -0
  27. package/build/dialect/Dialect.js +2 -0
  28. package/build/dialect/assert.d.ts +6 -0
  29. package/build/dialect/assert.js +12 -0
  30. package/build/dialect/assert.spec.d.ts +1 -0
  31. package/build/dialect/assert.spec.js +22 -0
  32. package/build/dialect/convert/fromDescriptor.d.ts +2 -0
  33. package/build/dialect/convert/fromDescriptor.js +20 -0
  34. package/build/dialect/convert/toDescriptor.d.ts +3 -0
  35. package/build/dialect/convert/toDescriptor.js +5 -0
  36. package/build/dialect/index.d.ts +8 -0
  37. package/build/dialect/index.js +8 -0
  38. package/build/dialect/load.d.ts +5 -0
  39. package/build/dialect/load.js +12 -0
  40. package/build/dialect/load.spec.d.ts +1 -0
  41. package/build/dialect/load.spec.js +18 -0
  42. package/build/dialect/resolve.d.ts +2 -0
  43. package/build/dialect/resolve.js +11 -0
  44. package/build/dialect/save.d.ts +9 -0
  45. package/build/dialect/save.js +16 -0
  46. package/build/dialect/save.spec.d.ts +1 -0
  47. package/build/dialect/save.spec.js +52 -0
  48. package/build/dialect/validate.d.ts +10 -0
  49. package/build/dialect/validate.js +25 -0
  50. package/build/dialect/validate.spec.d.ts +1 -0
  51. package/build/dialect/validate.spec.js +28 -0
  52. package/build/error/Bound.d.ts +4 -0
  53. package/build/error/Bound.js +2 -0
  54. package/build/error/Error.d.ts +3 -0
  55. package/build/error/Error.js +2 -0
  56. package/build/error/Unbound.d.ts +6 -0
  57. package/build/error/Unbound.js +2 -0
  58. package/build/error/index.d.ts +16 -0
  59. package/build/error/index.js +2 -0
  60. package/build/error/types/Base.d.ts +3 -0
  61. package/build/error/types/Base.js +2 -0
  62. package/build/error/types/Bytes.d.ts +6 -0
  63. package/build/error/types/Bytes.js +2 -0
  64. package/build/error/types/Cell.d.ts +56 -0
  65. package/build/error/types/Cell.js +2 -0
  66. package/build/error/types/Data.d.ts +5 -0
  67. package/build/error/types/Data.js +2 -0
  68. package/build/error/types/Document.d.ts +7 -0
  69. package/build/error/types/Document.js +2 -0
  70. package/build/error/types/Encoding.d.ts +6 -0
  71. package/build/error/types/Encoding.js +2 -0
  72. package/build/error/types/Field.d.ts +15 -0
  73. package/build/error/types/Field.js +2 -0
  74. package/build/error/types/Fields.d.ts +11 -0
  75. package/build/error/types/Fields.js +2 -0
  76. package/build/error/types/File.d.ts +4 -0
  77. package/build/error/types/File.js +2 -0
  78. package/build/error/types/ForeignKey.d.ts +7 -0
  79. package/build/error/types/ForeignKey.js +2 -0
  80. package/build/error/types/Hash.d.ts +6 -0
  81. package/build/error/types/Hash.js +2 -0
  82. package/build/error/types/Metadata.d.ts +9 -0
  83. package/build/error/types/Metadata.js +2 -0
  84. package/build/error/types/Row.d.ts +9 -0
  85. package/build/error/types/Row.js +2 -0
  86. package/build/error/types/Table.d.ts +6 -0
  87. package/build/error/types/Table.js +2 -0
  88. package/build/field/Field.d.ts +5 -0
  89. package/build/field/Field.js +2 -0
  90. package/build/field/Type.d.ts +2 -0
  91. package/build/field/Type.js +2 -0
  92. package/build/field/convert/fromDescriptor.d.ts +2 -0
  93. package/build/field/convert/fromDescriptor.js +61 -0
  94. package/build/field/convert/fromDescriptor.spec.d.ts +1 -0
  95. package/build/field/convert/fromDescriptor.spec.js +241 -0
  96. package/build/field/convert/toDescriptor.d.ts +3 -0
  97. package/build/field/convert/toDescriptor.js +5 -0
  98. package/build/field/convert/toDescriptor.spec.d.ts +1 -0
  99. package/build/field/convert/toDescriptor.spec.js +291 -0
  100. package/build/field/index.d.ts +5 -0
  101. package/build/field/index.js +3 -0
  102. package/build/field/types/Any.d.ts +20 -0
  103. package/build/field/types/Any.js +2 -0
  104. package/build/field/types/Array.d.ts +32 -0
  105. package/build/field/types/Array.js +2 -0
  106. package/build/field/types/Base.d.ts +60 -0
  107. package/build/field/types/Base.js +2 -0
  108. package/build/field/types/Boolean.d.ts +28 -0
  109. package/build/field/types/Boolean.js +2 -0
  110. package/build/field/types/Date.d.ts +43 -0
  111. package/build/field/types/Date.js +2 -0
  112. package/build/field/types/Datetime.d.ts +43 -0
  113. package/build/field/types/Datetime.js +2 -0
  114. package/build/field/types/Duration.d.ts +28 -0
  115. package/build/field/types/Duration.js +2 -0
  116. package/build/field/types/Geojson.d.ts +30 -0
  117. package/build/field/types/Geojson.js +2 -0
  118. package/build/field/types/Geopoint.d.ts +27 -0
  119. package/build/field/types/Geopoint.js +2 -0
  120. package/build/field/types/Integer.d.ts +57 -0
  121. package/build/field/types/Integer.js +2 -0
  122. package/build/field/types/List.d.ts +36 -0
  123. package/build/field/types/List.js +2 -0
  124. package/build/field/types/Number.d.ts +48 -0
  125. package/build/field/types/Number.js +2 -0
  126. package/build/field/types/Object.d.ts +32 -0
  127. package/build/field/types/Object.js +2 -0
  128. package/build/field/types/String.d.ts +51 -0
  129. package/build/field/types/String.js +2 -0
  130. package/build/field/types/Time.d.ts +43 -0
  131. package/build/field/types/Time.js +2 -0
  132. package/build/field/types/Year.d.ts +36 -0
  133. package/build/field/types/Year.js +2 -0
  134. package/build/field/types/Yearmonth.d.ts +36 -0
  135. package/build/field/types/Yearmonth.js +2 -0
  136. package/build/field/types/index.d.ts +16 -0
  137. package/build/field/types/index.js +17 -0
  138. package/build/index.d.ts +112 -0
  139. package/build/index.js +32 -0
  140. package/build/json/Schema.d.ts +2 -0
  141. package/build/json/Schema.js +2 -0
  142. package/build/json/Value.d.ts +1 -0
  143. package/build/json/Value.js +2 -0
  144. package/build/json/ajv.d.ts +2 -0
  145. package/build/json/ajv.js +10 -0
  146. package/build/json/assert.d.ts +2 -0
  147. package/build/json/assert.js +10 -0
  148. package/build/json/cache.d.ts +2 -0
  149. package/build/json/cache.js +5 -0
  150. package/build/json/index.d.ts +5 -0
  151. package/build/json/index.js +4 -0
  152. package/build/json/inspect/schema.d.ts +4 -0
  153. package/build/json/inspect/schema.js +10 -0
  154. package/build/json/inspect/schema.spec.d.ts +1 -0
  155. package/build/json/inspect/schema.spec.js +132 -0
  156. package/build/json/inspect/value.d.ts +11 -0
  157. package/build/json/inspect/value.js +21 -0
  158. package/build/json/inspect/value.spec.d.ts +1 -0
  159. package/build/json/inspect/value.spec.js +121 -0
  160. package/build/json/load.d.ts +3 -0
  161. package/build/json/load.js +13 -0
  162. package/build/json/resolve.d.ts +2 -0
  163. package/build/json/resolve.js +11 -0
  164. package/build/metadata/Metadata.d.ts +3 -0
  165. package/build/metadata/Metadata.js +2 -0
  166. package/build/metadata/index.d.ts +1 -0
  167. package/build/metadata/index.js +2 -0
  168. package/build/package/Contributor.d.ts +21 -0
  169. package/build/package/Contributor.js +2 -0
  170. package/build/package/Package.d.ts +64 -0
  171. package/build/package/Package.js +2 -0
  172. package/build/package/assert.d.ts +8 -0
  173. package/build/package/assert.js +12 -0
  174. package/build/package/assert.spec.d.ts +1 -0
  175. package/build/package/assert.spec.js +26 -0
  176. package/build/package/convert/fromDescriptor.d.ts +4 -0
  177. package/build/package/convert/fromDescriptor.js +36 -0
  178. package/build/package/convert/toDescriptor.d.ts +5 -0
  179. package/build/package/convert/toDescriptor.js +7 -0
  180. package/build/package/index.d.ts +8 -0
  181. package/build/package/index.js +7 -0
  182. package/build/package/load.d.ts +5 -0
  183. package/build/package/load.js +14 -0
  184. package/build/package/load.spec.d.ts +1 -0
  185. package/build/package/load.spec.js +28 -0
  186. package/build/package/save.d.ts +9 -0
  187. package/build/package/save.js +18 -0
  188. package/build/package/save.spec.d.ts +1 -0
  189. package/build/package/save.spec.js +311 -0
  190. package/build/package/validate.d.ts +12 -0
  191. package/build/package/validate.js +27 -0
  192. package/build/package/validate.spec.d.ts +1 -0
  193. package/build/package/validate.spec.js +41 -0
  194. package/build/path/basepath.d.ts +2 -0
  195. package/build/path/basepath.js +25 -0
  196. package/build/path/basepath.spec.d.ts +1 -0
  197. package/build/path/basepath.spec.js +55 -0
  198. package/build/path/denormalize.d.ts +3 -0
  199. package/build/path/denormalize.js +29 -0
  200. package/build/path/denormalize.spec.d.ts +1 -0
  201. package/build/path/denormalize.spec.js +45 -0
  202. package/build/path/index.d.ts +5 -0
  203. package/build/path/index.js +6 -0
  204. package/build/path/normalize.d.ts +6 -0
  205. package/build/path/normalize.js +54 -0
  206. package/build/path/normalize.spec.d.ts +1 -0
  207. package/build/path/normalize.spec.js +71 -0
  208. package/build/path/path.d.ts +5 -0
  209. package/build/path/path.js +48 -0
  210. package/build/path/path.spec.d.ts +1 -0
  211. package/build/path/path.spec.js +111 -0
  212. package/build/platform/index.d.ts +1 -0
  213. package/build/platform/index.js +2 -0
  214. package/build/platform/node.d.ts +130 -0
  215. package/build/platform/node.js +10 -0
  216. package/build/platform/node.spec.d.ts +1 -0
  217. package/build/platform/node.spec.js +16 -0
  218. package/build/profile/@minify.d.ts +1 -0
  219. package/build/profile/@minify.js +58 -0
  220. package/build/profile/Profile.d.ts +9 -0
  221. package/build/profile/Profile.js +2 -0
  222. package/build/profile/assert.d.ts +6 -0
  223. package/build/profile/assert.js +36 -0
  224. package/build/profile/assert.spec.d.ts +1 -0
  225. package/build/profile/assert.spec.js +115 -0
  226. package/build/profile/index.d.ts +2 -0
  227. package/build/profile/index.js +2 -0
  228. package/build/profile/load.d.ts +4 -0
  229. package/build/profile/load.js +12 -0
  230. package/build/profile/registry.d.ts +2 -0
  231. package/build/profile/registry.js +83 -0
  232. package/build/profile/resolve.d.ts +2 -0
  233. package/build/profile/resolve.js +8 -0
  234. package/build/profile/validate.d.ts +9 -0
  235. package/build/profile/validate.js +12 -0
  236. package/build/report/Report.d.ts +5 -0
  237. package/build/report/Report.js +2 -0
  238. package/build/report/create.d.ts +7 -0
  239. package/build/report/create.js +6 -0
  240. package/build/report/index.d.ts +2 -0
  241. package/build/report/index.js +2 -0
  242. package/build/resource/License.d.ts +18 -0
  243. package/build/resource/License.js +2 -0
  244. package/build/resource/Resource.d.ts +93 -0
  245. package/build/resource/Resource.js +2 -0
  246. package/build/resource/Source.d.ts +17 -0
  247. package/build/resource/Source.js +2 -0
  248. package/build/resource/assert.d.ts +8 -0
  249. package/build/resource/assert.js +12 -0
  250. package/build/resource/assert.spec.d.ts +1 -0
  251. package/build/resource/assert.spec.js +23 -0
  252. package/build/resource/convert/fromDescriptor.d.ts +4 -0
  253. package/build/resource/convert/fromDescriptor.js +69 -0
  254. package/build/resource/convert/toDescriptor.d.ts +5 -0
  255. package/build/resource/convert/toDescriptor.js +36 -0
  256. package/build/resource/helpers.d.ts +2 -0
  257. package/build/resource/helpers.js +6 -0
  258. package/build/resource/index.d.ts +11 -0
  259. package/build/resource/index.js +9 -0
  260. package/build/resource/infer.d.ts +3 -0
  261. package/build/resource/infer.js +35 -0
  262. package/build/resource/infer.spec.d.ts +1 -0
  263. package/build/resource/infer.spec.js +103 -0
  264. package/build/resource/load.d.ts +5 -0
  265. package/build/resource/load.js +14 -0
  266. package/build/resource/load.spec.d.ts +1 -0
  267. package/build/resource/load.spec.js +22 -0
  268. package/build/resource/save.d.ts +9 -0
  269. package/build/resource/save.js +18 -0
  270. package/build/resource/save.spec.d.ts +1 -0
  271. package/build/resource/save.spec.js +170 -0
  272. package/build/resource/validate.d.ts +13 -0
  273. package/build/resource/validate.js +57 -0
  274. package/build/resource/validate.spec.d.ts +1 -0
  275. package/build/resource/validate.spec.js +30 -0
  276. package/build/schema/ForeignKey.d.ts +23 -0
  277. package/build/schema/ForeignKey.js +2 -0
  278. package/build/schema/Schema.d.ts +56 -0
  279. package/build/schema/Schema.js +2 -0
  280. package/build/schema/assert.d.ts +6 -0
  281. package/build/schema/assert.js +12 -0
  282. package/build/schema/assert.spec.d.ts +1 -0
  283. package/build/schema/assert.spec.js +34 -0
  284. package/build/schema/convert/fromDescriptor.d.ts +2 -0
  285. package/build/schema/convert/fromDescriptor.js +70 -0
  286. package/build/schema/convert/fromJsonSchema.d.ts +3 -0
  287. package/build/schema/convert/fromJsonSchema.js +105 -0
  288. package/build/schema/convert/fromJsonSchema.spec.d.ts +1 -0
  289. package/build/schema/convert/fromJsonSchema.spec.js +156 -0
  290. package/build/schema/convert/toDescriptor.d.ts +3 -0
  291. package/build/schema/convert/toDescriptor.js +5 -0
  292. package/build/schema/convert/toJsonSchema.d.ts +3 -0
  293. package/build/schema/convert/toJsonSchema.js +173 -0
  294. package/build/schema/convert/toJsonSchema.spec.d.ts +1 -0
  295. package/build/schema/convert/toJsonSchema.spec.js +403 -0
  296. package/build/schema/index.d.ts +11 -0
  297. package/build/schema/index.js +10 -0
  298. package/build/schema/load.d.ts +5 -0
  299. package/build/schema/load.js +12 -0
  300. package/build/schema/load.spec.d.ts +1 -0
  301. package/build/schema/load.spec.js +55 -0
  302. package/build/schema/resolve.d.ts +2 -0
  303. package/build/schema/resolve.js +11 -0
  304. package/build/schema/save.d.ts +9 -0
  305. package/build/schema/save.js +16 -0
  306. package/build/schema/save.spec.d.ts +1 -0
  307. package/build/schema/save.spec.js +58 -0
  308. package/build/schema/validate.d.ts +10 -0
  309. package/build/schema/validate.js +25 -0
  310. package/build/schema/validate.spec.d.ts +1 -0
  311. package/build/schema/validate.spec.js +41 -0
  312. package/package.json +37 -0
@@ -0,0 +1,1715 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Table Schema",
4
+ "type": ["string", "object"],
5
+ "required": ["fields"],
6
+ "properties": {
7
+ "$schema": {
8
+ "default": "https://datapackage.org/profiles/1.0/tableschema.json",
9
+ "propertyOrder": 10,
10
+ "title": "Profile",
11
+ "type": "string"
12
+ },
13
+ "fields": {
14
+ "type": "array",
15
+ "minItems": 1,
16
+ "items": {
17
+ "title": "Table Schema Field",
18
+ "type": "object",
19
+ "oneOf": [
20
+ {
21
+ "type": "object",
22
+ "title": "String Field",
23
+ "required": ["name"],
24
+ "properties": {
25
+ "name": {
26
+ "title": "Name",
27
+ "type": "string"
28
+ },
29
+ "title": {
30
+ "title": "Title",
31
+ "type": "string"
32
+ },
33
+ "description": {
34
+ "title": "Description",
35
+ "type": "string"
36
+ },
37
+ "example": {
38
+ "title": "Example",
39
+ "type": "string"
40
+ },
41
+ "missingValues": {
42
+ "anyOf": [
43
+ {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "string"
47
+ }
48
+ },
49
+ {
50
+ "type": "array",
51
+ "items": {
52
+ "type": "object",
53
+ "required": ["value"],
54
+ "properties": {
55
+ "value": {
56
+ "type": "string"
57
+ },
58
+ "label": {
59
+ "type": "string"
60
+ }
61
+ }
62
+ }
63
+ }
64
+ ],
65
+ "default": [""]
66
+ },
67
+ "categories": {
68
+ "anyOf": [
69
+ {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ {
76
+ "type": "array",
77
+ "items": {
78
+ "type": "object",
79
+ "required": ["value"],
80
+ "properties": {
81
+ "value": {
82
+ "type": "string"
83
+ },
84
+ "label": {
85
+ "type": "string"
86
+ }
87
+ }
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ "categoriesOrdered": {
93
+ "type": "boolean"
94
+ },
95
+ "type": {
96
+ "enum": ["string"]
97
+ },
98
+ "format": {
99
+ "enum": ["default", "email", "uri", "binary", "uuid"],
100
+ "default": "default"
101
+ },
102
+ "constraints": {
103
+ "title": "Constraints",
104
+ "type": "object",
105
+ "properties": {
106
+ "required": {
107
+ "type": "boolean"
108
+ },
109
+ "unique": {
110
+ "type": "boolean"
111
+ },
112
+ "pattern": {
113
+ "type": "string"
114
+ },
115
+ "enum": {
116
+ "type": "array",
117
+ "minItems": 1,
118
+ "uniqueItems": true,
119
+ "items": {
120
+ "type": "string"
121
+ }
122
+ },
123
+ "minLength": {
124
+ "type": "integer"
125
+ },
126
+ "maxLength": {
127
+ "type": "integer"
128
+ }
129
+ }
130
+ },
131
+ "rdfType": {
132
+ "type": "string"
133
+ }
134
+ }
135
+ },
136
+ {
137
+ "type": "object",
138
+ "title": "Number Field",
139
+ "required": ["name", "type"],
140
+ "properties": {
141
+ "name": {
142
+ "title": "Name",
143
+ "type": "string"
144
+ },
145
+ "title": {
146
+ "title": "Title",
147
+ "type": "string"
148
+ },
149
+ "description": {
150
+ "title": "Description",
151
+ "type": "string"
152
+ },
153
+ "example": {
154
+ "title": "Example",
155
+ "type": "string"
156
+ },
157
+ "missingValues": {
158
+ "anyOf": [
159
+ {
160
+ "type": "array",
161
+ "items": {
162
+ "type": "string"
163
+ }
164
+ },
165
+ {
166
+ "type": "array",
167
+ "items": {
168
+ "type": "object",
169
+ "required": ["value"],
170
+ "properties": {
171
+ "value": {
172
+ "type": "string"
173
+ },
174
+ "label": {
175
+ "type": "string"
176
+ }
177
+ }
178
+ }
179
+ }
180
+ ],
181
+ "default": [""]
182
+ },
183
+ "type": {
184
+ "enum": ["number"]
185
+ },
186
+ "format": {
187
+ "enum": ["default"],
188
+ "default": "default"
189
+ },
190
+ "bareNumber": {
191
+ "type": "boolean",
192
+ "title": "bareNumber",
193
+ "default": true
194
+ },
195
+ "groupChar": {
196
+ "type": "string",
197
+ "title": "groupChar"
198
+ },
199
+ "decimalChar": {
200
+ "type": "string"
201
+ },
202
+ "constraints": {
203
+ "title": "Constraints",
204
+ "type": "object",
205
+ "properties": {
206
+ "required": {
207
+ "type": "boolean"
208
+ },
209
+ "unique": {
210
+ "type": "boolean"
211
+ },
212
+ "enum": {
213
+ "oneOf": [
214
+ {
215
+ "type": "array",
216
+ "minItems": 1,
217
+ "uniqueItems": true,
218
+ "items": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ {
223
+ "type": "array",
224
+ "minItems": 1,
225
+ "uniqueItems": true,
226
+ "items": {
227
+ "type": "number"
228
+ }
229
+ }
230
+ ]
231
+ },
232
+ "minimum": {
233
+ "oneOf": [
234
+ {
235
+ "type": "string"
236
+ },
237
+ {
238
+ "type": "number"
239
+ }
240
+ ]
241
+ },
242
+ "maximum": {
243
+ "oneOf": [
244
+ {
245
+ "type": "string"
246
+ },
247
+ {
248
+ "type": "number"
249
+ }
250
+ ]
251
+ },
252
+ "exclusiveMinimum": {
253
+ "oneOf": [
254
+ {
255
+ "type": "string"
256
+ },
257
+ {
258
+ "type": "number"
259
+ }
260
+ ]
261
+ },
262
+ "exclusiveMaximum": {
263
+ "oneOf": [
264
+ {
265
+ "type": "string"
266
+ },
267
+ {
268
+ "type": "number"
269
+ }
270
+ ]
271
+ }
272
+ }
273
+ },
274
+ "rdfType": {
275
+ "type": "string"
276
+ }
277
+ }
278
+ },
279
+ {
280
+ "type": "object",
281
+ "title": "Integer Field",
282
+ "required": ["name", "type"],
283
+ "properties": {
284
+ "name": {
285
+ "title": "Name",
286
+ "type": "string"
287
+ },
288
+ "title": {
289
+ "title": "Title",
290
+ "type": "string"
291
+ },
292
+ "description": {
293
+ "title": "Description",
294
+ "type": "string"
295
+ },
296
+ "example": {
297
+ "title": "Example",
298
+ "type": "string"
299
+ },
300
+ "missingValues": {
301
+ "anyOf": [
302
+ {
303
+ "type": "array",
304
+ "items": {
305
+ "type": "string"
306
+ }
307
+ },
308
+ {
309
+ "type": "array",
310
+ "items": {
311
+ "type": "object",
312
+ "required": ["value"],
313
+ "properties": {
314
+ "value": {
315
+ "type": "string"
316
+ },
317
+ "label": {
318
+ "type": "string"
319
+ }
320
+ }
321
+ }
322
+ }
323
+ ],
324
+ "default": [""]
325
+ },
326
+ "categories": {
327
+ "anyOf": [
328
+ {
329
+ "type": "array",
330
+ "items": {
331
+ "type": "integer"
332
+ }
333
+ },
334
+ {
335
+ "type": "array",
336
+ "items": {
337
+ "type": "object",
338
+ "required": ["value"],
339
+ "properties": {
340
+ "value": {
341
+ "type": "integer"
342
+ },
343
+ "label": {
344
+ "type": "string"
345
+ }
346
+ }
347
+ }
348
+ }
349
+ ]
350
+ },
351
+ "categoriesOrdered": {
352
+ "type": "boolean"
353
+ },
354
+ "type": {
355
+ "enum": ["integer"]
356
+ },
357
+ "format": {
358
+ "enum": ["default"],
359
+ "default": "default"
360
+ },
361
+ "bareNumber": {
362
+ "type": "boolean",
363
+ "title": "bareNumber",
364
+ "default": true
365
+ },
366
+ "groupChar": {
367
+ "type": "string",
368
+ "title": "groupChar"
369
+ },
370
+ "constraints": {
371
+ "title": "Constraints",
372
+ "type": "object",
373
+ "properties": {
374
+ "required": {
375
+ "type": "boolean"
376
+ },
377
+ "unique": {
378
+ "type": "boolean"
379
+ },
380
+ "enum": {
381
+ "oneOf": [
382
+ {
383
+ "type": "array",
384
+ "minItems": 1,
385
+ "uniqueItems": true,
386
+ "items": {
387
+ "type": "string"
388
+ }
389
+ },
390
+ {
391
+ "type": "array",
392
+ "minItems": 1,
393
+ "uniqueItems": true,
394
+ "items": {
395
+ "type": "integer"
396
+ }
397
+ }
398
+ ]
399
+ },
400
+ "minimum": {
401
+ "oneOf": [
402
+ {
403
+ "type": "string"
404
+ },
405
+ {
406
+ "type": "integer"
407
+ }
408
+ ]
409
+ },
410
+ "maximum": {
411
+ "oneOf": [
412
+ {
413
+ "type": "string"
414
+ },
415
+ {
416
+ "type": "integer"
417
+ }
418
+ ]
419
+ },
420
+ "exclusiveMinimum": {
421
+ "oneOf": [
422
+ {
423
+ "type": "string"
424
+ },
425
+ {
426
+ "type": "integer"
427
+ }
428
+ ]
429
+ },
430
+ "exclusiveMaximum": {
431
+ "oneOf": [
432
+ {
433
+ "type": "string"
434
+ },
435
+ {
436
+ "type": "integer"
437
+ }
438
+ ]
439
+ }
440
+ }
441
+ },
442
+ "rdfType": {
443
+ "type": "string"
444
+ }
445
+ }
446
+ },
447
+ {
448
+ "type": "object",
449
+ "title": "Date Field",
450
+ "required": ["name", "type"],
451
+ "properties": {
452
+ "name": {
453
+ "title": "Name",
454
+ "type": "string"
455
+ },
456
+ "title": {
457
+ "title": "Title",
458
+ "type": "string"
459
+ },
460
+ "description": {
461
+ "title": "Description",
462
+ "type": "string"
463
+ },
464
+ "example": {
465
+ "title": "Example",
466
+ "type": "string"
467
+ },
468
+ "missingValues": {
469
+ "anyOf": [
470
+ {
471
+ "type": "array",
472
+ "items": {
473
+ "type": "string"
474
+ }
475
+ },
476
+ {
477
+ "type": "array",
478
+ "items": {
479
+ "type": "object",
480
+ "required": ["value"],
481
+ "properties": {
482
+ "value": {
483
+ "type": "string"
484
+ },
485
+ "label": {
486
+ "type": "string"
487
+ }
488
+ }
489
+ }
490
+ }
491
+ ],
492
+ "default": [""]
493
+ },
494
+ "type": {
495
+ "enum": ["date"]
496
+ },
497
+ "format": {
498
+ "default": "default"
499
+ },
500
+ "constraints": {
501
+ "title": "Constraints",
502
+ "type": "object",
503
+ "properties": {
504
+ "required": {
505
+ "type": "boolean"
506
+ },
507
+ "unique": {
508
+ "type": "boolean"
509
+ },
510
+ "enum": {
511
+ "type": "array",
512
+ "minItems": 1,
513
+ "uniqueItems": true,
514
+ "items": {
515
+ "type": "string"
516
+ }
517
+ },
518
+ "minimum": {
519
+ "type": "string"
520
+ },
521
+ "maximum": {
522
+ "type": "string"
523
+ },
524
+ "exclusiveMinimum": {
525
+ "type": "string"
526
+ },
527
+ "exclusiveMaximum": {
528
+ "type": "string"
529
+ }
530
+ }
531
+ },
532
+ "rdfType": {
533
+ "type": "string"
534
+ }
535
+ }
536
+ },
537
+ {
538
+ "type": "object",
539
+ "title": "Time Field",
540
+ "required": ["name", "type"],
541
+ "properties": {
542
+ "name": {
543
+ "title": "Name",
544
+ "type": "string"
545
+ },
546
+ "title": {
547
+ "title": "Title",
548
+ "type": "string"
549
+ },
550
+ "description": {
551
+ "title": "Description",
552
+ "type": "string"
553
+ },
554
+ "example": {
555
+ "title": "Example",
556
+ "type": "string"
557
+ },
558
+ "missingValues": {
559
+ "anyOf": [
560
+ {
561
+ "type": "array",
562
+ "items": {
563
+ "type": "string"
564
+ }
565
+ },
566
+ {
567
+ "type": "array",
568
+ "items": {
569
+ "type": "object",
570
+ "required": ["value"],
571
+ "properties": {
572
+ "value": {
573
+ "type": "string"
574
+ },
575
+ "label": {
576
+ "type": "string"
577
+ }
578
+ }
579
+ }
580
+ }
581
+ ],
582
+ "default": [""]
583
+ },
584
+ "type": {
585
+ "enum": ["time"]
586
+ },
587
+ "format": {
588
+ "default": "default"
589
+ },
590
+ "constraints": {
591
+ "title": "Constraints",
592
+ "type": "object",
593
+ "properties": {
594
+ "required": {
595
+ "type": "boolean"
596
+ },
597
+ "unique": {
598
+ "type": "boolean"
599
+ },
600
+ "enum": {
601
+ "type": "array",
602
+ "minItems": 1,
603
+ "uniqueItems": true,
604
+ "items": {
605
+ "type": "string"
606
+ }
607
+ },
608
+ "minimum": {
609
+ "type": "string"
610
+ },
611
+ "maximum": {
612
+ "type": "string"
613
+ },
614
+ "exclusiveMinimum": {
615
+ "type": "string"
616
+ },
617
+ "exclusiveMaximum": {
618
+ "type": "string"
619
+ }
620
+ }
621
+ },
622
+ "rdfType": {
623
+ "type": "string"
624
+ }
625
+ }
626
+ },
627
+ {
628
+ "type": "object",
629
+ "title": "Date Time Field",
630
+ "required": ["name", "type"],
631
+ "properties": {
632
+ "name": {
633
+ "title": "Name",
634
+ "type": "string"
635
+ },
636
+ "title": {
637
+ "title": "Title",
638
+ "type": "string"
639
+ },
640
+ "description": {
641
+ "title": "Description",
642
+ "type": "string"
643
+ },
644
+ "example": {
645
+ "title": "Example",
646
+ "type": "string"
647
+ },
648
+ "missingValues": {
649
+ "anyOf": [
650
+ {
651
+ "type": "array",
652
+ "items": {
653
+ "type": "string"
654
+ }
655
+ },
656
+ {
657
+ "type": "array",
658
+ "items": {
659
+ "type": "object",
660
+ "required": ["value"],
661
+ "properties": {
662
+ "value": {
663
+ "type": "string"
664
+ },
665
+ "label": {
666
+ "type": "string"
667
+ }
668
+ }
669
+ }
670
+ }
671
+ ],
672
+ "default": [""]
673
+ },
674
+ "type": {
675
+ "enum": ["datetime"]
676
+ },
677
+ "format": {
678
+ "default": "default"
679
+ },
680
+ "constraints": {
681
+ "title": "Constraints",
682
+ "type": "object",
683
+ "properties": {
684
+ "required": {
685
+ "type": "boolean"
686
+ },
687
+ "unique": {
688
+ "type": "boolean"
689
+ },
690
+ "enum": {
691
+ "type": "array",
692
+ "minItems": 1,
693
+ "uniqueItems": true,
694
+ "items": {
695
+ "type": "string"
696
+ }
697
+ },
698
+ "minimum": {
699
+ "type": "string"
700
+ },
701
+ "maximum": {
702
+ "type": "string"
703
+ },
704
+ "exclusiveMinimum": {
705
+ "type": "string"
706
+ },
707
+ "exclusiveMaximum": {
708
+ "type": "string"
709
+ }
710
+ }
711
+ },
712
+ "rdfType": {
713
+ "type": "string"
714
+ }
715
+ }
716
+ },
717
+ {
718
+ "type": "object",
719
+ "title": "Year Field",
720
+ "required": ["name", "type"],
721
+ "properties": {
722
+ "name": {
723
+ "title": "Name",
724
+ "type": "string"
725
+ },
726
+ "title": {
727
+ "title": "Title",
728
+ "type": "string"
729
+ },
730
+ "description": {
731
+ "title": "Description",
732
+ "type": "string"
733
+ },
734
+ "example": {
735
+ "title": "Example",
736
+ "type": "string"
737
+ },
738
+ "missingValues": {
739
+ "anyOf": [
740
+ {
741
+ "type": "array",
742
+ "items": {
743
+ "type": "string"
744
+ }
745
+ },
746
+ {
747
+ "type": "array",
748
+ "items": {
749
+ "type": "object",
750
+ "required": ["value"],
751
+ "properties": {
752
+ "value": {
753
+ "type": "string"
754
+ },
755
+ "label": {
756
+ "type": "string"
757
+ }
758
+ }
759
+ }
760
+ }
761
+ ],
762
+ "default": [""]
763
+ },
764
+ "type": {
765
+ "enum": ["year"]
766
+ },
767
+ "format": {
768
+ "enum": ["default"],
769
+ "default": "default"
770
+ },
771
+ "constraints": {
772
+ "title": "Constraints",
773
+ "type": "object",
774
+ "properties": {
775
+ "required": {
776
+ "type": "boolean"
777
+ },
778
+ "unique": {
779
+ "type": "boolean"
780
+ },
781
+ "enum": {
782
+ "oneOf": [
783
+ {
784
+ "type": "array",
785
+ "minItems": 1,
786
+ "uniqueItems": true,
787
+ "items": {
788
+ "type": "string"
789
+ }
790
+ },
791
+ {
792
+ "type": "array",
793
+ "minItems": 1,
794
+ "uniqueItems": true,
795
+ "items": {
796
+ "type": "integer"
797
+ }
798
+ }
799
+ ]
800
+ },
801
+ "minimum": {
802
+ "oneOf": [
803
+ {
804
+ "type": "string"
805
+ },
806
+ {
807
+ "type": "integer"
808
+ }
809
+ ]
810
+ },
811
+ "maximum": {
812
+ "oneOf": [
813
+ {
814
+ "type": "string"
815
+ },
816
+ {
817
+ "type": "integer"
818
+ }
819
+ ]
820
+ },
821
+ "exclusiveMinimum": {
822
+ "oneOf": [
823
+ {
824
+ "type": "string"
825
+ },
826
+ {
827
+ "type": "integer"
828
+ }
829
+ ]
830
+ },
831
+ "exclusiveMaximum": {
832
+ "oneOf": [
833
+ {
834
+ "type": "string"
835
+ },
836
+ {
837
+ "type": "integer"
838
+ }
839
+ ]
840
+ }
841
+ }
842
+ },
843
+ "rdfType": {
844
+ "type": "string"
845
+ }
846
+ }
847
+ },
848
+ {
849
+ "type": "object",
850
+ "title": "Year Month Field",
851
+ "required": ["name", "type"],
852
+ "properties": {
853
+ "name": {
854
+ "title": "Name",
855
+ "type": "string"
856
+ },
857
+ "title": {
858
+ "title": "Title",
859
+ "type": "string"
860
+ },
861
+ "description": {
862
+ "title": "Description",
863
+ "type": "string"
864
+ },
865
+ "example": {
866
+ "title": "Example",
867
+ "type": "string"
868
+ },
869
+ "missingValues": {
870
+ "anyOf": [
871
+ {
872
+ "type": "array",
873
+ "items": {
874
+ "type": "string"
875
+ }
876
+ },
877
+ {
878
+ "type": "array",
879
+ "items": {
880
+ "type": "object",
881
+ "required": ["value"],
882
+ "properties": {
883
+ "value": {
884
+ "type": "string"
885
+ },
886
+ "label": {
887
+ "type": "string"
888
+ }
889
+ }
890
+ }
891
+ }
892
+ ],
893
+ "default": [""]
894
+ },
895
+ "type": {
896
+ "enum": ["yearmonth"]
897
+ },
898
+ "format": {
899
+ "enum": ["default"],
900
+ "default": "default"
901
+ },
902
+ "constraints": {
903
+ "title": "Constraints",
904
+ "type": "object",
905
+ "properties": {
906
+ "required": {
907
+ "type": "boolean"
908
+ },
909
+ "unique": {
910
+ "type": "boolean"
911
+ },
912
+ "enum": {
913
+ "type": "array",
914
+ "minItems": 1,
915
+ "uniqueItems": true,
916
+ "items": {
917
+ "type": "string"
918
+ }
919
+ },
920
+ "minimum": {
921
+ "type": "string"
922
+ },
923
+ "maximum": {
924
+ "type": "string"
925
+ },
926
+ "exclusiveMinimum": {
927
+ "type": "string"
928
+ },
929
+ "exclusiveMaximum": {
930
+ "type": "string"
931
+ }
932
+ }
933
+ },
934
+ "rdfType": {
935
+ "type": "string"
936
+ }
937
+ }
938
+ },
939
+ {
940
+ "type": "object",
941
+ "title": "Boolean Field",
942
+ "required": ["name", "type"],
943
+ "properties": {
944
+ "name": {
945
+ "title": "Name",
946
+ "type": "string"
947
+ },
948
+ "title": {
949
+ "title": "Title",
950
+ "type": "string"
951
+ },
952
+ "description": {
953
+ "title": "Description",
954
+ "type": "string"
955
+ },
956
+ "example": {
957
+ "title": "Example",
958
+ "type": "string"
959
+ },
960
+ "missingValues": {
961
+ "anyOf": [
962
+ {
963
+ "type": "array",
964
+ "items": {
965
+ "type": "string"
966
+ }
967
+ },
968
+ {
969
+ "type": "array",
970
+ "items": {
971
+ "type": "object",
972
+ "required": ["value"],
973
+ "properties": {
974
+ "value": {
975
+ "type": "string"
976
+ },
977
+ "label": {
978
+ "type": "string"
979
+ }
980
+ }
981
+ }
982
+ }
983
+ ],
984
+ "default": [""]
985
+ },
986
+ "type": {
987
+ "enum": ["boolean"]
988
+ },
989
+ "format": {
990
+ "enum": ["default"],
991
+ "default": "default"
992
+ },
993
+ "trueValues": {
994
+ "type": "array",
995
+ "minItems": 1,
996
+ "items": {
997
+ "type": "string"
998
+ },
999
+ "default": ["true", "True", "TRUE", "1"]
1000
+ },
1001
+ "falseValues": {
1002
+ "type": "array",
1003
+ "minItems": 1,
1004
+ "items": {
1005
+ "type": "string"
1006
+ },
1007
+ "default": ["false", "False", "FALSE", "0"]
1008
+ },
1009
+ "constraints": {
1010
+ "title": "Constraints",
1011
+ "type": "object",
1012
+ "properties": {
1013
+ "required": {
1014
+ "type": "boolean"
1015
+ },
1016
+ "enum": {
1017
+ "type": "array",
1018
+ "minItems": 1,
1019
+ "uniqueItems": true,
1020
+ "items": {
1021
+ "type": "boolean"
1022
+ }
1023
+ }
1024
+ }
1025
+ },
1026
+ "rdfType": {
1027
+ "type": "string"
1028
+ }
1029
+ }
1030
+ },
1031
+ {
1032
+ "type": "object",
1033
+ "title": "Object Field",
1034
+ "required": ["name", "type"],
1035
+ "properties": {
1036
+ "name": {
1037
+ "title": "Name",
1038
+ "type": "string"
1039
+ },
1040
+ "title": {
1041
+ "title": "Title",
1042
+ "type": "string"
1043
+ },
1044
+ "description": {
1045
+ "title": "Description",
1046
+ "type": "string"
1047
+ },
1048
+ "example": {
1049
+ "title": "Example",
1050
+ "type": "string"
1051
+ },
1052
+ "missingValues": {
1053
+ "anyOf": [
1054
+ {
1055
+ "type": "array",
1056
+ "items": {
1057
+ "type": "string"
1058
+ }
1059
+ },
1060
+ {
1061
+ "type": "array",
1062
+ "items": {
1063
+ "type": "object",
1064
+ "required": ["value"],
1065
+ "properties": {
1066
+ "value": {
1067
+ "type": "string"
1068
+ },
1069
+ "label": {
1070
+ "type": "string"
1071
+ }
1072
+ }
1073
+ }
1074
+ }
1075
+ ],
1076
+ "default": [""]
1077
+ },
1078
+ "type": {
1079
+ "enum": ["object"]
1080
+ },
1081
+ "format": {
1082
+ "enum": ["default"],
1083
+ "default": "default"
1084
+ },
1085
+ "constraints": {
1086
+ "title": "Constraints",
1087
+ "type": "object",
1088
+ "properties": {
1089
+ "required": {
1090
+ "type": "boolean"
1091
+ },
1092
+ "unique": {
1093
+ "type": "boolean"
1094
+ },
1095
+ "enum": {
1096
+ "oneOf": [
1097
+ {
1098
+ "type": "array",
1099
+ "minItems": 1,
1100
+ "uniqueItems": true,
1101
+ "items": {
1102
+ "type": "string"
1103
+ }
1104
+ },
1105
+ {
1106
+ "type": "array",
1107
+ "minItems": 1,
1108
+ "uniqueItems": true,
1109
+ "items": {
1110
+ "type": "object"
1111
+ }
1112
+ }
1113
+ ]
1114
+ },
1115
+ "minLength": {
1116
+ "type": "integer"
1117
+ },
1118
+ "maxLength": {
1119
+ "type": "integer"
1120
+ },
1121
+ "jsonSchema": {
1122
+ "type": "object"
1123
+ }
1124
+ }
1125
+ },
1126
+ "rdfType": {
1127
+ "type": "string"
1128
+ }
1129
+ }
1130
+ },
1131
+ {
1132
+ "type": "object",
1133
+ "title": "GeoPoint Field",
1134
+ "required": ["name", "type"],
1135
+ "properties": {
1136
+ "name": {
1137
+ "title": "Name",
1138
+ "type": "string"
1139
+ },
1140
+ "title": {
1141
+ "title": "Title",
1142
+ "type": "string"
1143
+ },
1144
+ "description": {
1145
+ "title": "Description",
1146
+ "type": "string"
1147
+ },
1148
+ "example": {
1149
+ "title": "Example",
1150
+ "type": "string"
1151
+ },
1152
+ "missingValues": {
1153
+ "anyOf": [
1154
+ {
1155
+ "type": "array",
1156
+ "items": {
1157
+ "type": "string"
1158
+ }
1159
+ },
1160
+ {
1161
+ "type": "array",
1162
+ "items": {
1163
+ "type": "object",
1164
+ "required": ["value"],
1165
+ "properties": {
1166
+ "value": {
1167
+ "type": "string"
1168
+ },
1169
+ "label": {
1170
+ "type": "string"
1171
+ }
1172
+ }
1173
+ }
1174
+ }
1175
+ ],
1176
+ "default": [""]
1177
+ },
1178
+ "type": {
1179
+ "enum": ["geopoint"]
1180
+ },
1181
+ "format": {
1182
+ "notes": [
1183
+ "Implementations `MUST` strip all white space in the default format of `lon, lat`."
1184
+ ],
1185
+ "enum": ["default", "array", "object"],
1186
+ "default": "default"
1187
+ },
1188
+ "constraints": {
1189
+ "title": "Constraints",
1190
+ "type": "object",
1191
+ "properties": {
1192
+ "required": {
1193
+ "type": "boolean"
1194
+ },
1195
+ "unique": {
1196
+ "type": "boolean"
1197
+ },
1198
+ "enum": {
1199
+ "oneOf": [
1200
+ {
1201
+ "type": "array",
1202
+ "minItems": 1,
1203
+ "uniqueItems": true,
1204
+ "items": {
1205
+ "type": "string"
1206
+ }
1207
+ },
1208
+ {
1209
+ "type": "array",
1210
+ "minItems": 1,
1211
+ "uniqueItems": true,
1212
+ "items": {
1213
+ "type": "array"
1214
+ }
1215
+ },
1216
+ {
1217
+ "type": "array",
1218
+ "minItems": 1,
1219
+ "uniqueItems": true,
1220
+ "items": {
1221
+ "type": "object"
1222
+ }
1223
+ }
1224
+ ]
1225
+ }
1226
+ }
1227
+ },
1228
+ "rdfType": {
1229
+ "type": "string"
1230
+ }
1231
+ }
1232
+ },
1233
+ {
1234
+ "type": "object",
1235
+ "title": "GeoJSON Field",
1236
+ "required": ["name", "type"],
1237
+ "properties": {
1238
+ "name": {
1239
+ "title": "Name",
1240
+ "type": "string"
1241
+ },
1242
+ "title": {
1243
+ "title": "Title",
1244
+ "type": "string"
1245
+ },
1246
+ "description": {
1247
+ "title": "Description",
1248
+ "type": "string"
1249
+ },
1250
+ "example": {
1251
+ "title": "Example",
1252
+ "type": "string"
1253
+ },
1254
+ "missingValues": {
1255
+ "anyOf": [
1256
+ {
1257
+ "type": "array",
1258
+ "items": {
1259
+ "type": "string"
1260
+ }
1261
+ },
1262
+ {
1263
+ "type": "array",
1264
+ "items": {
1265
+ "type": "object",
1266
+ "required": ["value"],
1267
+ "properties": {
1268
+ "value": {
1269
+ "type": "string"
1270
+ },
1271
+ "label": {
1272
+ "type": "string"
1273
+ }
1274
+ }
1275
+ }
1276
+ }
1277
+ ],
1278
+ "default": [""]
1279
+ },
1280
+ "type": {
1281
+ "enum": ["geojson"]
1282
+ },
1283
+ "format": {
1284
+ "enum": ["default", "topojson"],
1285
+ "default": "default"
1286
+ },
1287
+ "constraints": {
1288
+ "title": "Constraints",
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "required": {
1292
+ "type": "boolean"
1293
+ },
1294
+ "unique": {
1295
+ "type": "boolean"
1296
+ },
1297
+ "enum": {
1298
+ "oneOf": [
1299
+ {
1300
+ "type": "array",
1301
+ "minItems": 1,
1302
+ "uniqueItems": true,
1303
+ "items": {
1304
+ "type": "string"
1305
+ }
1306
+ },
1307
+ {
1308
+ "type": "array",
1309
+ "minItems": 1,
1310
+ "uniqueItems": true,
1311
+ "items": {
1312
+ "type": "object"
1313
+ }
1314
+ }
1315
+ ]
1316
+ },
1317
+ "minLength": {
1318
+ "type": "integer"
1319
+ },
1320
+ "maxLength": {
1321
+ "type": "integer"
1322
+ }
1323
+ }
1324
+ },
1325
+ "rdfType": {
1326
+ "type": "string"
1327
+ }
1328
+ }
1329
+ },
1330
+ {
1331
+ "type": "object",
1332
+ "title": "Array Field",
1333
+ "required": ["name", "type"],
1334
+ "properties": {
1335
+ "name": {
1336
+ "title": "Name",
1337
+ "type": "string"
1338
+ },
1339
+ "title": {
1340
+ "title": "Title",
1341
+ "type": "string"
1342
+ },
1343
+ "description": {
1344
+ "title": "Description",
1345
+ "type": "string"
1346
+ },
1347
+ "example": {
1348
+ "title": "Example",
1349
+ "type": "string"
1350
+ },
1351
+ "missingValues": {
1352
+ "anyOf": [
1353
+ {
1354
+ "type": "array",
1355
+ "items": {
1356
+ "type": "string"
1357
+ }
1358
+ },
1359
+ {
1360
+ "type": "array",
1361
+ "items": {
1362
+ "type": "object",
1363
+ "required": ["value"],
1364
+ "properties": {
1365
+ "value": {
1366
+ "type": "string"
1367
+ },
1368
+ "label": {
1369
+ "type": "string"
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+ ],
1375
+ "default": [""]
1376
+ },
1377
+ "type": {
1378
+ "enum": ["array"]
1379
+ },
1380
+ "format": {
1381
+ "enum": ["default"],
1382
+ "default": "default"
1383
+ },
1384
+ "constraints": {
1385
+ "title": "Constraints",
1386
+ "type": "object",
1387
+ "properties": {
1388
+ "required": {
1389
+ "type": "boolean"
1390
+ },
1391
+ "unique": {
1392
+ "type": "boolean"
1393
+ },
1394
+ "enum": {
1395
+ "oneOf": [
1396
+ {
1397
+ "type": "array",
1398
+ "minItems": 1,
1399
+ "uniqueItems": true,
1400
+ "items": {
1401
+ "type": "string"
1402
+ }
1403
+ },
1404
+ {
1405
+ "type": "array",
1406
+ "minItems": 1,
1407
+ "uniqueItems": true,
1408
+ "items": {
1409
+ "type": "array"
1410
+ }
1411
+ }
1412
+ ]
1413
+ },
1414
+ "minLength": {
1415
+ "type": "integer"
1416
+ },
1417
+ "maxLength": {
1418
+ "type": "integer"
1419
+ },
1420
+ "jsonSchema": {
1421
+ "type": "object"
1422
+ }
1423
+ }
1424
+ },
1425
+ "rdfType": {
1426
+ "type": "string"
1427
+ }
1428
+ }
1429
+ },
1430
+ {
1431
+ "type": "object",
1432
+ "title": "Duration Field",
1433
+ "required": ["name", "type"],
1434
+ "properties": {
1435
+ "name": {
1436
+ "title": "Name",
1437
+ "type": "string"
1438
+ },
1439
+ "title": {
1440
+ "title": "Title",
1441
+ "type": "string"
1442
+ },
1443
+ "description": {
1444
+ "title": "Description",
1445
+ "type": "string"
1446
+ },
1447
+ "example": {
1448
+ "title": "Example",
1449
+ "type": "string"
1450
+ },
1451
+ "missingValues": {
1452
+ "anyOf": [
1453
+ {
1454
+ "type": "array",
1455
+ "items": {
1456
+ "type": "string"
1457
+ }
1458
+ },
1459
+ {
1460
+ "type": "array",
1461
+ "items": {
1462
+ "type": "object",
1463
+ "required": ["value"],
1464
+ "properties": {
1465
+ "value": {
1466
+ "type": "string"
1467
+ },
1468
+ "label": {
1469
+ "type": "string"
1470
+ }
1471
+ }
1472
+ }
1473
+ }
1474
+ ],
1475
+ "default": [""]
1476
+ },
1477
+ "type": {
1478
+ "enum": ["duration"]
1479
+ },
1480
+ "format": {
1481
+ "enum": ["default"],
1482
+ "default": "default"
1483
+ },
1484
+ "constraints": {
1485
+ "title": "Constraints",
1486
+ "type": "object",
1487
+ "properties": {
1488
+ "required": {
1489
+ "type": "boolean"
1490
+ },
1491
+ "unique": {
1492
+ "type": "boolean"
1493
+ },
1494
+ "enum": {
1495
+ "type": "array",
1496
+ "minItems": 1,
1497
+ "uniqueItems": true,
1498
+ "items": {
1499
+ "type": "string"
1500
+ }
1501
+ },
1502
+ "minimum": {
1503
+ "type": "string"
1504
+ },
1505
+ "maximum": {
1506
+ "type": "string"
1507
+ },
1508
+ "exclusiveMinimum": {
1509
+ "type": "string"
1510
+ },
1511
+ "exclusiveMaximum": {
1512
+ "type": "string"
1513
+ }
1514
+ }
1515
+ },
1516
+ "rdfType": {
1517
+ "type": "string"
1518
+ }
1519
+ }
1520
+ },
1521
+ {
1522
+ "type": "object",
1523
+ "title": "Any Field",
1524
+ "required": ["name", "type"],
1525
+ "properties": {
1526
+ "name": {
1527
+ "title": "Name",
1528
+ "type": "string"
1529
+ },
1530
+ "title": {
1531
+ "title": "Title",
1532
+ "type": "string"
1533
+ },
1534
+ "description": {
1535
+ "title": "Description",
1536
+ "type": "string"
1537
+ },
1538
+ "example": {
1539
+ "title": "Example",
1540
+ "type": "string"
1541
+ },
1542
+ "missingValues": {
1543
+ "anyOf": [
1544
+ {
1545
+ "type": "array",
1546
+ "items": {
1547
+ "type": "string"
1548
+ }
1549
+ },
1550
+ {
1551
+ "type": "array",
1552
+ "items": {
1553
+ "type": "object",
1554
+ "required": ["value"],
1555
+ "properties": {
1556
+ "value": {
1557
+ "type": "string"
1558
+ },
1559
+ "label": {
1560
+ "type": "string"
1561
+ }
1562
+ }
1563
+ }
1564
+ }
1565
+ ],
1566
+ "default": [""]
1567
+ },
1568
+ "type": {
1569
+ "enum": ["any"]
1570
+ },
1571
+ "constraints": {
1572
+ "title": "Constraints",
1573
+ "type": "object",
1574
+ "properties": {
1575
+ "required": {
1576
+ "type": "boolean"
1577
+ },
1578
+ "unique": {
1579
+ "type": "boolean"
1580
+ },
1581
+ "enum": {
1582
+ "type": "array",
1583
+ "minItems": 1,
1584
+ "uniqueItems": true
1585
+ }
1586
+ }
1587
+ },
1588
+ "rdfType": {
1589
+ "type": "string"
1590
+ }
1591
+ }
1592
+ }
1593
+ ]
1594
+ }
1595
+ },
1596
+ "fieldsMatch": {
1597
+ "type": "string",
1598
+ "enum": ["exact", "equal", "subset", "superset", "partial"],
1599
+ "default": "exact"
1600
+ },
1601
+ "primaryKey": {
1602
+ "oneOf": [
1603
+ {
1604
+ "type": "array",
1605
+ "minItems": 1,
1606
+ "uniqueItems": true,
1607
+ "items": {
1608
+ "type": "string"
1609
+ }
1610
+ },
1611
+ {
1612
+ "type": "string"
1613
+ }
1614
+ ]
1615
+ },
1616
+ "uniqueKeys": {
1617
+ "type": "array",
1618
+ "minItems": 1,
1619
+ "uniqueItems": true,
1620
+ "items": {
1621
+ "type": "array",
1622
+ "minItems": 1,
1623
+ "uniqueItems": true,
1624
+ "items": {
1625
+ "type": "string"
1626
+ }
1627
+ }
1628
+ },
1629
+ "foreignKeys": {
1630
+ "type": "array",
1631
+ "minItems": 1,
1632
+ "items": {
1633
+ "title": "Table Schema Foreign Key",
1634
+ "type": "object",
1635
+ "required": ["fields", "reference"],
1636
+ "oneOf": [
1637
+ {
1638
+ "properties": {
1639
+ "fields": {
1640
+ "type": "array",
1641
+ "items": {
1642
+ "type": "string",
1643
+ "minItems": 1,
1644
+ "uniqueItems": true
1645
+ }
1646
+ },
1647
+ "reference": {
1648
+ "type": "object",
1649
+ "required": ["fields"],
1650
+ "properties": {
1651
+ "resource": {
1652
+ "type": "string"
1653
+ },
1654
+ "fields": {
1655
+ "type": "array",
1656
+ "items": {
1657
+ "type": "string"
1658
+ },
1659
+ "minItems": 1,
1660
+ "uniqueItems": true
1661
+ }
1662
+ }
1663
+ }
1664
+ }
1665
+ },
1666
+ {
1667
+ "properties": {
1668
+ "fields": {
1669
+ "type": "string"
1670
+ },
1671
+ "reference": {
1672
+ "type": "object",
1673
+ "required": ["fields"],
1674
+ "properties": {
1675
+ "resource": {
1676
+ "type": "string"
1677
+ },
1678
+ "fields": {
1679
+ "type": "string"
1680
+ }
1681
+ }
1682
+ }
1683
+ }
1684
+ }
1685
+ ]
1686
+ }
1687
+ },
1688
+ "missingValues": {
1689
+ "anyOf": [
1690
+ {
1691
+ "type": "array",
1692
+ "items": {
1693
+ "type": "string"
1694
+ }
1695
+ },
1696
+ {
1697
+ "type": "array",
1698
+ "items": {
1699
+ "type": "object",
1700
+ "required": ["value"],
1701
+ "properties": {
1702
+ "value": {
1703
+ "type": "string"
1704
+ },
1705
+ "label": {
1706
+ "type": "string"
1707
+ }
1708
+ }
1709
+ }
1710
+ }
1711
+ ],
1712
+ "default": [""]
1713
+ }
1714
+ }
1715
+ }