@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,1987 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Data Resource",
4
+ "type": "object",
5
+ "oneOf": [
6
+ {
7
+ "required": ["name", "data"]
8
+ },
9
+ {
10
+ "required": ["name", "path"]
11
+ }
12
+ ],
13
+ "properties": {
14
+ "$schema": {
15
+ "default": "https://datapackage.org/profiles/1.0/dataresource.json",
16
+ "propertyOrder": 10,
17
+ "title": "Profile",
18
+ "type": "string"
19
+ },
20
+ "name": {
21
+ "propertyOrder": 20,
22
+ "title": "Name",
23
+ "type": "string"
24
+ },
25
+ "path": {
26
+ "propertyOrder": 30,
27
+ "title": "Path",
28
+ "oneOf": [
29
+ {
30
+ "title": "Path",
31
+ "type": "string"
32
+ },
33
+ {
34
+ "type": "array",
35
+ "minItems": 1,
36
+ "items": {
37
+ "title": "Path",
38
+ "type": "string"
39
+ }
40
+ }
41
+ ]
42
+ },
43
+ "data": {
44
+ "propertyOrder": 230,
45
+ "title": "Data"
46
+ },
47
+ "type": {
48
+ "propertyOrder": 235,
49
+ "type": "string",
50
+ "enum": ["table"]
51
+ },
52
+ "title": {
53
+ "propertyOrder": 50,
54
+ "title": "Title",
55
+ "type": "string"
56
+ },
57
+ "description": {
58
+ "propertyOrder": 60,
59
+ "format": "textarea",
60
+ "title": "Description",
61
+ "type": "string"
62
+ },
63
+ "homepage": {
64
+ "propertyOrder": 70,
65
+ "title": "Home Page",
66
+ "type": "string",
67
+ "format": "uri"
68
+ },
69
+ "sources": {
70
+ "propertyOrder": 140,
71
+ "options": {
72
+ "hidden": true
73
+ },
74
+ "title": "Sources",
75
+ "type": "array",
76
+ "minItems": 0,
77
+ "items": {
78
+ "title": "Source",
79
+ "type": "object",
80
+ "minProperties": 1,
81
+ "properties": {
82
+ "title": {
83
+ "title": "Title",
84
+ "type": "string"
85
+ },
86
+ "path": {
87
+ "title": "Path",
88
+ "type": "string",
89
+ "pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
90
+ },
91
+ "email": {
92
+ "title": "Email",
93
+ "type": "string",
94
+ "format": "email"
95
+ },
96
+ "version": {
97
+ "type": "string"
98
+ }
99
+ }
100
+ }
101
+ },
102
+ "licenses": {
103
+ "propertyOrder": 150,
104
+ "options": {
105
+ "hidden": true
106
+ },
107
+ "title": "Licenses",
108
+ "type": "array",
109
+ "minItems": 1,
110
+ "items": {
111
+ "title": "License",
112
+ "type": "object",
113
+ "anyOf": [
114
+ {
115
+ "required": ["name"]
116
+ },
117
+ {
118
+ "required": ["path"]
119
+ }
120
+ ],
121
+ "properties": {
122
+ "name": {
123
+ "title": "Open Definition license identifier",
124
+ "type": "string",
125
+ "pattern": "^([-a-zA-Z0-9._])+$"
126
+ },
127
+ "path": {
128
+ "title": "Path",
129
+ "type": "string",
130
+ "pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
131
+ },
132
+ "title": {
133
+ "title": "Title",
134
+ "type": "string"
135
+ }
136
+ }
137
+ }
138
+ },
139
+ "format": {
140
+ "propertyOrder": 80,
141
+ "title": "Format",
142
+ "type": "string"
143
+ },
144
+ "mediatype": {
145
+ "propertyOrder": 90,
146
+ "title": "Media Type",
147
+ "type": "string",
148
+ "pattern": "^(.+)/(.+)$"
149
+ },
150
+ "encoding": {
151
+ "propertyOrder": 100,
152
+ "title": "Encoding",
153
+ "type": "string",
154
+ "default": "utf-8"
155
+ },
156
+ "bytes": {
157
+ "propertyOrder": 110,
158
+ "options": {
159
+ "hidden": true
160
+ },
161
+ "title": "Bytes",
162
+ "type": "integer"
163
+ },
164
+ "hash": {
165
+ "propertyOrder": 120,
166
+ "options": {
167
+ "hidden": true
168
+ },
169
+ "title": "Hash",
170
+ "type": "string",
171
+ "pattern": "^([^:]+:[a-fA-F0-9]+|[a-fA-F0-9]{32}|)$"
172
+ },
173
+ "dialect": {
174
+ "propertyOrder": 130,
175
+ "title": "Table Dialect",
176
+ "type": ["string", "object"],
177
+ "properties": {
178
+ "$schema": {
179
+ "default": "https://datapackage.org/profiles/1.0/tabledialect.json",
180
+ "propertyOrder": 10,
181
+ "title": "Profile",
182
+ "type": "string"
183
+ },
184
+ "header": {
185
+ "title": "Header",
186
+ "type": "boolean",
187
+ "default": true
188
+ },
189
+ "headerRows": {
190
+ "type": "array",
191
+ "default": [1],
192
+ "items": {
193
+ "type": "integer",
194
+ "minimum": 1
195
+ }
196
+ },
197
+ "headerJoin": {
198
+ "type": "string",
199
+ "default": " "
200
+ },
201
+ "commentRows": {
202
+ "type": "array",
203
+ "default": [1],
204
+ "items": {
205
+ "type": "integer",
206
+ "minimum": 1
207
+ }
208
+ },
209
+ "commentChar": {
210
+ "title": "Comment Character",
211
+ "type": "string"
212
+ },
213
+ "delimiter": {
214
+ "title": "Delimiter",
215
+ "type": "string",
216
+ "default": ","
217
+ },
218
+ "lineTerminator": {
219
+ "title": "Line Terminator",
220
+ "type": "string",
221
+ "default": "\r\n"
222
+ },
223
+ "quoteChar": {
224
+ "title": "Quote Character",
225
+ "type": "string",
226
+ "default": "\""
227
+ },
228
+ "doubleQuote": {
229
+ "title": "Double Quote",
230
+ "type": "boolean",
231
+ "default": true
232
+ },
233
+ "escapeChar": {
234
+ "title": "Escape Character",
235
+ "type": "string"
236
+ },
237
+ "nullSequence": {
238
+ "title": "Null Sequence",
239
+ "type": "string"
240
+ },
241
+ "skipInitialSpace": {
242
+ "title": "Skip Initial Space",
243
+ "type": "boolean",
244
+ "default": false
245
+ },
246
+ "property": {
247
+ "type": "string"
248
+ },
249
+ "itemType": {
250
+ "type": "string",
251
+ "enum": ["array", "object"]
252
+ },
253
+ "itemKeys": {
254
+ "type": "array",
255
+ "items": {
256
+ "type": "string"
257
+ }
258
+ },
259
+ "sheetNumber": {
260
+ "type": "integer",
261
+ "minimum": 1
262
+ },
263
+ "sheetName": {
264
+ "type": "string"
265
+ },
266
+ "table": {
267
+ "type": "string"
268
+ }
269
+ }
270
+ },
271
+ "schema": {
272
+ "propertyOrder": 140,
273
+ "title": "Table Schema",
274
+ "type": ["string", "object"],
275
+ "required": ["fields"],
276
+ "properties": {
277
+ "$schema": {
278
+ "default": "https://datapackage.org/profiles/1.0/tableschema.json",
279
+ "propertyOrder": 10,
280
+ "title": "Profile",
281
+ "type": "string"
282
+ },
283
+ "fields": {
284
+ "type": "array",
285
+ "minItems": 1,
286
+ "items": {
287
+ "title": "Table Schema Field",
288
+ "type": "object",
289
+ "oneOf": [
290
+ {
291
+ "type": "object",
292
+ "title": "String Field",
293
+ "required": ["name"],
294
+ "properties": {
295
+ "name": {
296
+ "title": "Name",
297
+ "type": "string"
298
+ },
299
+ "title": {
300
+ "title": "Title",
301
+ "type": "string"
302
+ },
303
+ "description": {
304
+ "title": "Description",
305
+ "type": "string"
306
+ },
307
+ "example": {
308
+ "title": "Example",
309
+ "type": "string"
310
+ },
311
+ "missingValues": {
312
+ "anyOf": [
313
+ {
314
+ "type": "array",
315
+ "items": {
316
+ "type": "string"
317
+ }
318
+ },
319
+ {
320
+ "type": "array",
321
+ "items": {
322
+ "type": "object",
323
+ "required": ["value"],
324
+ "properties": {
325
+ "value": {
326
+ "type": "string"
327
+ },
328
+ "label": {
329
+ "type": "string"
330
+ }
331
+ }
332
+ }
333
+ }
334
+ ],
335
+ "default": [""]
336
+ },
337
+ "categories": {
338
+ "anyOf": [
339
+ {
340
+ "type": "array",
341
+ "items": {
342
+ "type": "string"
343
+ }
344
+ },
345
+ {
346
+ "type": "array",
347
+ "items": {
348
+ "type": "object",
349
+ "required": ["value"],
350
+ "properties": {
351
+ "value": {
352
+ "type": "string"
353
+ },
354
+ "label": {
355
+ "type": "string"
356
+ }
357
+ }
358
+ }
359
+ }
360
+ ]
361
+ },
362
+ "categoriesOrdered": {
363
+ "type": "boolean"
364
+ },
365
+ "type": {
366
+ "enum": ["string"]
367
+ },
368
+ "format": {
369
+ "enum": ["default", "email", "uri", "binary", "uuid"],
370
+ "default": "default"
371
+ },
372
+ "constraints": {
373
+ "title": "Constraints",
374
+ "type": "object",
375
+ "properties": {
376
+ "required": {
377
+ "type": "boolean"
378
+ },
379
+ "unique": {
380
+ "type": "boolean"
381
+ },
382
+ "pattern": {
383
+ "type": "string"
384
+ },
385
+ "enum": {
386
+ "type": "array",
387
+ "minItems": 1,
388
+ "uniqueItems": true,
389
+ "items": {
390
+ "type": "string"
391
+ }
392
+ },
393
+ "minLength": {
394
+ "type": "integer"
395
+ },
396
+ "maxLength": {
397
+ "type": "integer"
398
+ }
399
+ }
400
+ },
401
+ "rdfType": {
402
+ "type": "string"
403
+ }
404
+ }
405
+ },
406
+ {
407
+ "type": "object",
408
+ "title": "Number Field",
409
+ "required": ["name", "type"],
410
+ "properties": {
411
+ "name": {
412
+ "title": "Name",
413
+ "type": "string"
414
+ },
415
+ "title": {
416
+ "title": "Title",
417
+ "type": "string"
418
+ },
419
+ "description": {
420
+ "title": "Description",
421
+ "type": "string"
422
+ },
423
+ "example": {
424
+ "title": "Example",
425
+ "type": "string"
426
+ },
427
+ "missingValues": {
428
+ "anyOf": [
429
+ {
430
+ "type": "array",
431
+ "items": {
432
+ "type": "string"
433
+ }
434
+ },
435
+ {
436
+ "type": "array",
437
+ "items": {
438
+ "type": "object",
439
+ "required": ["value"],
440
+ "properties": {
441
+ "value": {
442
+ "type": "string"
443
+ },
444
+ "label": {
445
+ "type": "string"
446
+ }
447
+ }
448
+ }
449
+ }
450
+ ],
451
+ "default": [""]
452
+ },
453
+ "type": {
454
+ "enum": ["number"]
455
+ },
456
+ "format": {
457
+ "enum": ["default"],
458
+ "default": "default"
459
+ },
460
+ "bareNumber": {
461
+ "type": "boolean",
462
+ "title": "bareNumber",
463
+ "default": true
464
+ },
465
+ "groupChar": {
466
+ "type": "string",
467
+ "title": "groupChar"
468
+ },
469
+ "decimalChar": {
470
+ "type": "string"
471
+ },
472
+ "constraints": {
473
+ "title": "Constraints",
474
+ "type": "object",
475
+ "properties": {
476
+ "required": {
477
+ "type": "boolean"
478
+ },
479
+ "unique": {
480
+ "type": "boolean"
481
+ },
482
+ "enum": {
483
+ "oneOf": [
484
+ {
485
+ "type": "array",
486
+ "minItems": 1,
487
+ "uniqueItems": true,
488
+ "items": {
489
+ "type": "string"
490
+ }
491
+ },
492
+ {
493
+ "type": "array",
494
+ "minItems": 1,
495
+ "uniqueItems": true,
496
+ "items": {
497
+ "type": "number"
498
+ }
499
+ }
500
+ ]
501
+ },
502
+ "minimum": {
503
+ "oneOf": [
504
+ {
505
+ "type": "string"
506
+ },
507
+ {
508
+ "type": "number"
509
+ }
510
+ ]
511
+ },
512
+ "maximum": {
513
+ "oneOf": [
514
+ {
515
+ "type": "string"
516
+ },
517
+ {
518
+ "type": "number"
519
+ }
520
+ ]
521
+ },
522
+ "exclusiveMinimum": {
523
+ "oneOf": [
524
+ {
525
+ "type": "string"
526
+ },
527
+ {
528
+ "type": "number"
529
+ }
530
+ ]
531
+ },
532
+ "exclusiveMaximum": {
533
+ "oneOf": [
534
+ {
535
+ "type": "string"
536
+ },
537
+ {
538
+ "type": "number"
539
+ }
540
+ ]
541
+ }
542
+ }
543
+ },
544
+ "rdfType": {
545
+ "type": "string"
546
+ }
547
+ }
548
+ },
549
+ {
550
+ "type": "object",
551
+ "title": "Integer Field",
552
+ "required": ["name", "type"],
553
+ "properties": {
554
+ "name": {
555
+ "title": "Name",
556
+ "type": "string"
557
+ },
558
+ "title": {
559
+ "title": "Title",
560
+ "type": "string"
561
+ },
562
+ "description": {
563
+ "title": "Description",
564
+ "type": "string"
565
+ },
566
+ "example": {
567
+ "title": "Example",
568
+ "type": "string"
569
+ },
570
+ "missingValues": {
571
+ "anyOf": [
572
+ {
573
+ "type": "array",
574
+ "items": {
575
+ "type": "string"
576
+ }
577
+ },
578
+ {
579
+ "type": "array",
580
+ "items": {
581
+ "type": "object",
582
+ "required": ["value"],
583
+ "properties": {
584
+ "value": {
585
+ "type": "string"
586
+ },
587
+ "label": {
588
+ "type": "string"
589
+ }
590
+ }
591
+ }
592
+ }
593
+ ],
594
+ "default": [""]
595
+ },
596
+ "categories": {
597
+ "anyOf": [
598
+ {
599
+ "type": "array",
600
+ "items": {
601
+ "type": "integer"
602
+ }
603
+ },
604
+ {
605
+ "type": "array",
606
+ "items": {
607
+ "type": "object",
608
+ "required": ["value"],
609
+ "properties": {
610
+ "value": {
611
+ "type": "integer"
612
+ },
613
+ "label": {
614
+ "type": "string"
615
+ }
616
+ }
617
+ }
618
+ }
619
+ ]
620
+ },
621
+ "categoriesOrdered": {
622
+ "type": "boolean"
623
+ },
624
+ "type": {
625
+ "enum": ["integer"]
626
+ },
627
+ "format": {
628
+ "enum": ["default"],
629
+ "default": "default"
630
+ },
631
+ "bareNumber": {
632
+ "type": "boolean",
633
+ "title": "bareNumber",
634
+ "default": true
635
+ },
636
+ "groupChar": {
637
+ "type": "string",
638
+ "title": "groupChar"
639
+ },
640
+ "constraints": {
641
+ "title": "Constraints",
642
+ "type": "object",
643
+ "properties": {
644
+ "required": {
645
+ "type": "boolean"
646
+ },
647
+ "unique": {
648
+ "type": "boolean"
649
+ },
650
+ "enum": {
651
+ "oneOf": [
652
+ {
653
+ "type": "array",
654
+ "minItems": 1,
655
+ "uniqueItems": true,
656
+ "items": {
657
+ "type": "string"
658
+ }
659
+ },
660
+ {
661
+ "type": "array",
662
+ "minItems": 1,
663
+ "uniqueItems": true,
664
+ "items": {
665
+ "type": "integer"
666
+ }
667
+ }
668
+ ]
669
+ },
670
+ "minimum": {
671
+ "oneOf": [
672
+ {
673
+ "type": "string"
674
+ },
675
+ {
676
+ "type": "integer"
677
+ }
678
+ ]
679
+ },
680
+ "maximum": {
681
+ "oneOf": [
682
+ {
683
+ "type": "string"
684
+ },
685
+ {
686
+ "type": "integer"
687
+ }
688
+ ]
689
+ },
690
+ "exclusiveMinimum": {
691
+ "oneOf": [
692
+ {
693
+ "type": "string"
694
+ },
695
+ {
696
+ "type": "integer"
697
+ }
698
+ ]
699
+ },
700
+ "exclusiveMaximum": {
701
+ "oneOf": [
702
+ {
703
+ "type": "string"
704
+ },
705
+ {
706
+ "type": "integer"
707
+ }
708
+ ]
709
+ }
710
+ }
711
+ },
712
+ "rdfType": {
713
+ "type": "string"
714
+ }
715
+ }
716
+ },
717
+ {
718
+ "type": "object",
719
+ "title": "Date 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": ["date"]
766
+ },
767
+ "format": {
768
+ "default": "default"
769
+ },
770
+ "constraints": {
771
+ "title": "Constraints",
772
+ "type": "object",
773
+ "properties": {
774
+ "required": {
775
+ "type": "boolean"
776
+ },
777
+ "unique": {
778
+ "type": "boolean"
779
+ },
780
+ "enum": {
781
+ "type": "array",
782
+ "minItems": 1,
783
+ "uniqueItems": true,
784
+ "items": {
785
+ "type": "string"
786
+ }
787
+ },
788
+ "minimum": {
789
+ "type": "string"
790
+ },
791
+ "maximum": {
792
+ "type": "string"
793
+ },
794
+ "exclusiveMinimum": {
795
+ "type": "string"
796
+ },
797
+ "exclusiveMaximum": {
798
+ "type": "string"
799
+ }
800
+ }
801
+ },
802
+ "rdfType": {
803
+ "type": "string"
804
+ }
805
+ }
806
+ },
807
+ {
808
+ "type": "object",
809
+ "title": "Time Field",
810
+ "required": ["name", "type"],
811
+ "properties": {
812
+ "name": {
813
+ "title": "Name",
814
+ "type": "string"
815
+ },
816
+ "title": {
817
+ "title": "Title",
818
+ "type": "string"
819
+ },
820
+ "description": {
821
+ "title": "Description",
822
+ "type": "string"
823
+ },
824
+ "example": {
825
+ "title": "Example",
826
+ "type": "string"
827
+ },
828
+ "missingValues": {
829
+ "anyOf": [
830
+ {
831
+ "type": "array",
832
+ "items": {
833
+ "type": "string"
834
+ }
835
+ },
836
+ {
837
+ "type": "array",
838
+ "items": {
839
+ "type": "object",
840
+ "required": ["value"],
841
+ "properties": {
842
+ "value": {
843
+ "type": "string"
844
+ },
845
+ "label": {
846
+ "type": "string"
847
+ }
848
+ }
849
+ }
850
+ }
851
+ ],
852
+ "default": [""]
853
+ },
854
+ "type": {
855
+ "enum": ["time"]
856
+ },
857
+ "format": {
858
+ "default": "default"
859
+ },
860
+ "constraints": {
861
+ "title": "Constraints",
862
+ "type": "object",
863
+ "properties": {
864
+ "required": {
865
+ "type": "boolean"
866
+ },
867
+ "unique": {
868
+ "type": "boolean"
869
+ },
870
+ "enum": {
871
+ "type": "array",
872
+ "minItems": 1,
873
+ "uniqueItems": true,
874
+ "items": {
875
+ "type": "string"
876
+ }
877
+ },
878
+ "minimum": {
879
+ "type": "string"
880
+ },
881
+ "maximum": {
882
+ "type": "string"
883
+ },
884
+ "exclusiveMinimum": {
885
+ "type": "string"
886
+ },
887
+ "exclusiveMaximum": {
888
+ "type": "string"
889
+ }
890
+ }
891
+ },
892
+ "rdfType": {
893
+ "type": "string"
894
+ }
895
+ }
896
+ },
897
+ {
898
+ "type": "object",
899
+ "title": "Date Time Field",
900
+ "required": ["name", "type"],
901
+ "properties": {
902
+ "name": {
903
+ "title": "Name",
904
+ "type": "string"
905
+ },
906
+ "title": {
907
+ "title": "Title",
908
+ "type": "string"
909
+ },
910
+ "description": {
911
+ "title": "Description",
912
+ "type": "string"
913
+ },
914
+ "example": {
915
+ "title": "Example",
916
+ "type": "string"
917
+ },
918
+ "missingValues": {
919
+ "anyOf": [
920
+ {
921
+ "type": "array",
922
+ "items": {
923
+ "type": "string"
924
+ }
925
+ },
926
+ {
927
+ "type": "array",
928
+ "items": {
929
+ "type": "object",
930
+ "required": ["value"],
931
+ "properties": {
932
+ "value": {
933
+ "type": "string"
934
+ },
935
+ "label": {
936
+ "type": "string"
937
+ }
938
+ }
939
+ }
940
+ }
941
+ ],
942
+ "default": [""]
943
+ },
944
+ "type": {
945
+ "enum": ["datetime"]
946
+ },
947
+ "format": {
948
+ "default": "default"
949
+ },
950
+ "constraints": {
951
+ "title": "Constraints",
952
+ "type": "object",
953
+ "properties": {
954
+ "required": {
955
+ "type": "boolean"
956
+ },
957
+ "unique": {
958
+ "type": "boolean"
959
+ },
960
+ "enum": {
961
+ "type": "array",
962
+ "minItems": 1,
963
+ "uniqueItems": true,
964
+ "items": {
965
+ "type": "string"
966
+ }
967
+ },
968
+ "minimum": {
969
+ "type": "string"
970
+ },
971
+ "maximum": {
972
+ "type": "string"
973
+ },
974
+ "exclusiveMinimum": {
975
+ "type": "string"
976
+ },
977
+ "exclusiveMaximum": {
978
+ "type": "string"
979
+ }
980
+ }
981
+ },
982
+ "rdfType": {
983
+ "type": "string"
984
+ }
985
+ }
986
+ },
987
+ {
988
+ "type": "object",
989
+ "title": "Year Field",
990
+ "required": ["name", "type"],
991
+ "properties": {
992
+ "name": {
993
+ "title": "Name",
994
+ "type": "string"
995
+ },
996
+ "title": {
997
+ "title": "Title",
998
+ "type": "string"
999
+ },
1000
+ "description": {
1001
+ "title": "Description",
1002
+ "type": "string"
1003
+ },
1004
+ "example": {
1005
+ "title": "Example",
1006
+ "type": "string"
1007
+ },
1008
+ "missingValues": {
1009
+ "anyOf": [
1010
+ {
1011
+ "type": "array",
1012
+ "items": {
1013
+ "type": "string"
1014
+ }
1015
+ },
1016
+ {
1017
+ "type": "array",
1018
+ "items": {
1019
+ "type": "object",
1020
+ "required": ["value"],
1021
+ "properties": {
1022
+ "value": {
1023
+ "type": "string"
1024
+ },
1025
+ "label": {
1026
+ "type": "string"
1027
+ }
1028
+ }
1029
+ }
1030
+ }
1031
+ ],
1032
+ "default": [""]
1033
+ },
1034
+ "type": {
1035
+ "enum": ["year"]
1036
+ },
1037
+ "format": {
1038
+ "enum": ["default"],
1039
+ "default": "default"
1040
+ },
1041
+ "constraints": {
1042
+ "title": "Constraints",
1043
+ "type": "object",
1044
+ "properties": {
1045
+ "required": {
1046
+ "type": "boolean"
1047
+ },
1048
+ "unique": {
1049
+ "type": "boolean"
1050
+ },
1051
+ "enum": {
1052
+ "oneOf": [
1053
+ {
1054
+ "type": "array",
1055
+ "minItems": 1,
1056
+ "uniqueItems": true,
1057
+ "items": {
1058
+ "type": "string"
1059
+ }
1060
+ },
1061
+ {
1062
+ "type": "array",
1063
+ "minItems": 1,
1064
+ "uniqueItems": true,
1065
+ "items": {
1066
+ "type": "integer"
1067
+ }
1068
+ }
1069
+ ]
1070
+ },
1071
+ "minimum": {
1072
+ "oneOf": [
1073
+ {
1074
+ "type": "string"
1075
+ },
1076
+ {
1077
+ "type": "integer"
1078
+ }
1079
+ ]
1080
+ },
1081
+ "maximum": {
1082
+ "oneOf": [
1083
+ {
1084
+ "type": "string"
1085
+ },
1086
+ {
1087
+ "type": "integer"
1088
+ }
1089
+ ]
1090
+ },
1091
+ "exclusiveMinimum": {
1092
+ "oneOf": [
1093
+ {
1094
+ "type": "string"
1095
+ },
1096
+ {
1097
+ "type": "integer"
1098
+ }
1099
+ ]
1100
+ },
1101
+ "exclusiveMaximum": {
1102
+ "oneOf": [
1103
+ {
1104
+ "type": "string"
1105
+ },
1106
+ {
1107
+ "type": "integer"
1108
+ }
1109
+ ]
1110
+ }
1111
+ }
1112
+ },
1113
+ "rdfType": {
1114
+ "type": "string"
1115
+ }
1116
+ }
1117
+ },
1118
+ {
1119
+ "type": "object",
1120
+ "title": "Year Month Field",
1121
+ "required": ["name", "type"],
1122
+ "properties": {
1123
+ "name": {
1124
+ "title": "Name",
1125
+ "type": "string"
1126
+ },
1127
+ "title": {
1128
+ "title": "Title",
1129
+ "type": "string"
1130
+ },
1131
+ "description": {
1132
+ "title": "Description",
1133
+ "type": "string"
1134
+ },
1135
+ "example": {
1136
+ "title": "Example",
1137
+ "type": "string"
1138
+ },
1139
+ "missingValues": {
1140
+ "anyOf": [
1141
+ {
1142
+ "type": "array",
1143
+ "items": {
1144
+ "type": "string"
1145
+ }
1146
+ },
1147
+ {
1148
+ "type": "array",
1149
+ "items": {
1150
+ "type": "object",
1151
+ "required": ["value"],
1152
+ "properties": {
1153
+ "value": {
1154
+ "type": "string"
1155
+ },
1156
+ "label": {
1157
+ "type": "string"
1158
+ }
1159
+ }
1160
+ }
1161
+ }
1162
+ ],
1163
+ "default": [""]
1164
+ },
1165
+ "type": {
1166
+ "enum": ["yearmonth"]
1167
+ },
1168
+ "format": {
1169
+ "enum": ["default"],
1170
+ "default": "default"
1171
+ },
1172
+ "constraints": {
1173
+ "title": "Constraints",
1174
+ "type": "object",
1175
+ "properties": {
1176
+ "required": {
1177
+ "type": "boolean"
1178
+ },
1179
+ "unique": {
1180
+ "type": "boolean"
1181
+ },
1182
+ "enum": {
1183
+ "type": "array",
1184
+ "minItems": 1,
1185
+ "uniqueItems": true,
1186
+ "items": {
1187
+ "type": "string"
1188
+ }
1189
+ },
1190
+ "minimum": {
1191
+ "type": "string"
1192
+ },
1193
+ "maximum": {
1194
+ "type": "string"
1195
+ },
1196
+ "exclusiveMinimum": {
1197
+ "type": "string"
1198
+ },
1199
+ "exclusiveMaximum": {
1200
+ "type": "string"
1201
+ }
1202
+ }
1203
+ },
1204
+ "rdfType": {
1205
+ "type": "string"
1206
+ }
1207
+ }
1208
+ },
1209
+ {
1210
+ "type": "object",
1211
+ "title": "Boolean Field",
1212
+ "required": ["name", "type"],
1213
+ "properties": {
1214
+ "name": {
1215
+ "title": "Name",
1216
+ "type": "string"
1217
+ },
1218
+ "title": {
1219
+ "title": "Title",
1220
+ "type": "string"
1221
+ },
1222
+ "description": {
1223
+ "title": "Description",
1224
+ "type": "string"
1225
+ },
1226
+ "example": {
1227
+ "title": "Example",
1228
+ "type": "string"
1229
+ },
1230
+ "missingValues": {
1231
+ "anyOf": [
1232
+ {
1233
+ "type": "array",
1234
+ "items": {
1235
+ "type": "string"
1236
+ }
1237
+ },
1238
+ {
1239
+ "type": "array",
1240
+ "items": {
1241
+ "type": "object",
1242
+ "required": ["value"],
1243
+ "properties": {
1244
+ "value": {
1245
+ "type": "string"
1246
+ },
1247
+ "label": {
1248
+ "type": "string"
1249
+ }
1250
+ }
1251
+ }
1252
+ }
1253
+ ],
1254
+ "default": [""]
1255
+ },
1256
+ "type": {
1257
+ "enum": ["boolean"]
1258
+ },
1259
+ "format": {
1260
+ "enum": ["default"],
1261
+ "default": "default"
1262
+ },
1263
+ "trueValues": {
1264
+ "type": "array",
1265
+ "minItems": 1,
1266
+ "items": {
1267
+ "type": "string"
1268
+ },
1269
+ "default": ["true", "True", "TRUE", "1"]
1270
+ },
1271
+ "falseValues": {
1272
+ "type": "array",
1273
+ "minItems": 1,
1274
+ "items": {
1275
+ "type": "string"
1276
+ },
1277
+ "default": ["false", "False", "FALSE", "0"]
1278
+ },
1279
+ "constraints": {
1280
+ "title": "Constraints",
1281
+ "type": "object",
1282
+ "properties": {
1283
+ "required": {
1284
+ "type": "boolean"
1285
+ },
1286
+ "enum": {
1287
+ "type": "array",
1288
+ "minItems": 1,
1289
+ "uniqueItems": true,
1290
+ "items": {
1291
+ "type": "boolean"
1292
+ }
1293
+ }
1294
+ }
1295
+ },
1296
+ "rdfType": {
1297
+ "type": "string"
1298
+ }
1299
+ }
1300
+ },
1301
+ {
1302
+ "type": "object",
1303
+ "title": "Object Field",
1304
+ "required": ["name", "type"],
1305
+ "properties": {
1306
+ "name": {
1307
+ "title": "Name",
1308
+ "type": "string"
1309
+ },
1310
+ "title": {
1311
+ "title": "Title",
1312
+ "type": "string"
1313
+ },
1314
+ "description": {
1315
+ "title": "Description",
1316
+ "type": "string"
1317
+ },
1318
+ "example": {
1319
+ "title": "Example",
1320
+ "type": "string"
1321
+ },
1322
+ "missingValues": {
1323
+ "anyOf": [
1324
+ {
1325
+ "type": "array",
1326
+ "items": {
1327
+ "type": "string"
1328
+ }
1329
+ },
1330
+ {
1331
+ "type": "array",
1332
+ "items": {
1333
+ "type": "object",
1334
+ "required": ["value"],
1335
+ "properties": {
1336
+ "value": {
1337
+ "type": "string"
1338
+ },
1339
+ "label": {
1340
+ "type": "string"
1341
+ }
1342
+ }
1343
+ }
1344
+ }
1345
+ ],
1346
+ "default": [""]
1347
+ },
1348
+ "type": {
1349
+ "enum": ["object"]
1350
+ },
1351
+ "format": {
1352
+ "enum": ["default"],
1353
+ "default": "default"
1354
+ },
1355
+ "constraints": {
1356
+ "title": "Constraints",
1357
+ "type": "object",
1358
+ "properties": {
1359
+ "required": {
1360
+ "type": "boolean"
1361
+ },
1362
+ "unique": {
1363
+ "type": "boolean"
1364
+ },
1365
+ "enum": {
1366
+ "oneOf": [
1367
+ {
1368
+ "type": "array",
1369
+ "minItems": 1,
1370
+ "uniqueItems": true,
1371
+ "items": {
1372
+ "type": "string"
1373
+ }
1374
+ },
1375
+ {
1376
+ "type": "array",
1377
+ "minItems": 1,
1378
+ "uniqueItems": true,
1379
+ "items": {
1380
+ "type": "object"
1381
+ }
1382
+ }
1383
+ ]
1384
+ },
1385
+ "minLength": {
1386
+ "type": "integer"
1387
+ },
1388
+ "maxLength": {
1389
+ "type": "integer"
1390
+ },
1391
+ "jsonSchema": {
1392
+ "type": "object"
1393
+ }
1394
+ }
1395
+ },
1396
+ "rdfType": {
1397
+ "type": "string"
1398
+ }
1399
+ }
1400
+ },
1401
+ {
1402
+ "type": "object",
1403
+ "title": "GeoPoint Field",
1404
+ "required": ["name", "type"],
1405
+ "properties": {
1406
+ "name": {
1407
+ "title": "Name",
1408
+ "type": "string"
1409
+ },
1410
+ "title": {
1411
+ "title": "Title",
1412
+ "type": "string"
1413
+ },
1414
+ "description": {
1415
+ "title": "Description",
1416
+ "type": "string"
1417
+ },
1418
+ "example": {
1419
+ "title": "Example",
1420
+ "type": "string"
1421
+ },
1422
+ "missingValues": {
1423
+ "anyOf": [
1424
+ {
1425
+ "type": "array",
1426
+ "items": {
1427
+ "type": "string"
1428
+ }
1429
+ },
1430
+ {
1431
+ "type": "array",
1432
+ "items": {
1433
+ "type": "object",
1434
+ "required": ["value"],
1435
+ "properties": {
1436
+ "value": {
1437
+ "type": "string"
1438
+ },
1439
+ "label": {
1440
+ "type": "string"
1441
+ }
1442
+ }
1443
+ }
1444
+ }
1445
+ ],
1446
+ "default": [""]
1447
+ },
1448
+ "type": {
1449
+ "enum": ["geopoint"]
1450
+ },
1451
+ "format": {
1452
+ "notes": [
1453
+ "Implementations `MUST` strip all white space in the default format of `lon, lat`."
1454
+ ],
1455
+ "enum": ["default", "array", "object"],
1456
+ "default": "default"
1457
+ },
1458
+ "constraints": {
1459
+ "title": "Constraints",
1460
+ "type": "object",
1461
+ "properties": {
1462
+ "required": {
1463
+ "type": "boolean"
1464
+ },
1465
+ "unique": {
1466
+ "type": "boolean"
1467
+ },
1468
+ "enum": {
1469
+ "oneOf": [
1470
+ {
1471
+ "type": "array",
1472
+ "minItems": 1,
1473
+ "uniqueItems": true,
1474
+ "items": {
1475
+ "type": "string"
1476
+ }
1477
+ },
1478
+ {
1479
+ "type": "array",
1480
+ "minItems": 1,
1481
+ "uniqueItems": true,
1482
+ "items": {
1483
+ "type": "array"
1484
+ }
1485
+ },
1486
+ {
1487
+ "type": "array",
1488
+ "minItems": 1,
1489
+ "uniqueItems": true,
1490
+ "items": {
1491
+ "type": "object"
1492
+ }
1493
+ }
1494
+ ]
1495
+ }
1496
+ }
1497
+ },
1498
+ "rdfType": {
1499
+ "type": "string"
1500
+ }
1501
+ }
1502
+ },
1503
+ {
1504
+ "type": "object",
1505
+ "title": "GeoJSON Field",
1506
+ "required": ["name", "type"],
1507
+ "properties": {
1508
+ "name": {
1509
+ "title": "Name",
1510
+ "type": "string"
1511
+ },
1512
+ "title": {
1513
+ "title": "Title",
1514
+ "type": "string"
1515
+ },
1516
+ "description": {
1517
+ "title": "Description",
1518
+ "type": "string"
1519
+ },
1520
+ "example": {
1521
+ "title": "Example",
1522
+ "type": "string"
1523
+ },
1524
+ "missingValues": {
1525
+ "anyOf": [
1526
+ {
1527
+ "type": "array",
1528
+ "items": {
1529
+ "type": "string"
1530
+ }
1531
+ },
1532
+ {
1533
+ "type": "array",
1534
+ "items": {
1535
+ "type": "object",
1536
+ "required": ["value"],
1537
+ "properties": {
1538
+ "value": {
1539
+ "type": "string"
1540
+ },
1541
+ "label": {
1542
+ "type": "string"
1543
+ }
1544
+ }
1545
+ }
1546
+ }
1547
+ ],
1548
+ "default": [""]
1549
+ },
1550
+ "type": {
1551
+ "enum": ["geojson"]
1552
+ },
1553
+ "format": {
1554
+ "enum": ["default", "topojson"],
1555
+ "default": "default"
1556
+ },
1557
+ "constraints": {
1558
+ "title": "Constraints",
1559
+ "type": "object",
1560
+ "properties": {
1561
+ "required": {
1562
+ "type": "boolean"
1563
+ },
1564
+ "unique": {
1565
+ "type": "boolean"
1566
+ },
1567
+ "enum": {
1568
+ "oneOf": [
1569
+ {
1570
+ "type": "array",
1571
+ "minItems": 1,
1572
+ "uniqueItems": true,
1573
+ "items": {
1574
+ "type": "string"
1575
+ }
1576
+ },
1577
+ {
1578
+ "type": "array",
1579
+ "minItems": 1,
1580
+ "uniqueItems": true,
1581
+ "items": {
1582
+ "type": "object"
1583
+ }
1584
+ }
1585
+ ]
1586
+ },
1587
+ "minLength": {
1588
+ "type": "integer"
1589
+ },
1590
+ "maxLength": {
1591
+ "type": "integer"
1592
+ }
1593
+ }
1594
+ },
1595
+ "rdfType": {
1596
+ "type": "string"
1597
+ }
1598
+ }
1599
+ },
1600
+ {
1601
+ "type": "object",
1602
+ "title": "Array Field",
1603
+ "required": ["name", "type"],
1604
+ "properties": {
1605
+ "name": {
1606
+ "title": "Name",
1607
+ "type": "string"
1608
+ },
1609
+ "title": {
1610
+ "title": "Title",
1611
+ "type": "string"
1612
+ },
1613
+ "description": {
1614
+ "title": "Description",
1615
+ "type": "string"
1616
+ },
1617
+ "example": {
1618
+ "title": "Example",
1619
+ "type": "string"
1620
+ },
1621
+ "missingValues": {
1622
+ "anyOf": [
1623
+ {
1624
+ "type": "array",
1625
+ "items": {
1626
+ "type": "string"
1627
+ }
1628
+ },
1629
+ {
1630
+ "type": "array",
1631
+ "items": {
1632
+ "type": "object",
1633
+ "required": ["value"],
1634
+ "properties": {
1635
+ "value": {
1636
+ "type": "string"
1637
+ },
1638
+ "label": {
1639
+ "type": "string"
1640
+ }
1641
+ }
1642
+ }
1643
+ }
1644
+ ],
1645
+ "default": [""]
1646
+ },
1647
+ "type": {
1648
+ "enum": ["array"]
1649
+ },
1650
+ "format": {
1651
+ "enum": ["default"],
1652
+ "default": "default"
1653
+ },
1654
+ "constraints": {
1655
+ "title": "Constraints",
1656
+ "type": "object",
1657
+ "properties": {
1658
+ "required": {
1659
+ "type": "boolean"
1660
+ },
1661
+ "unique": {
1662
+ "type": "boolean"
1663
+ },
1664
+ "enum": {
1665
+ "oneOf": [
1666
+ {
1667
+ "type": "array",
1668
+ "minItems": 1,
1669
+ "uniqueItems": true,
1670
+ "items": {
1671
+ "type": "string"
1672
+ }
1673
+ },
1674
+ {
1675
+ "type": "array",
1676
+ "minItems": 1,
1677
+ "uniqueItems": true,
1678
+ "items": {
1679
+ "type": "array"
1680
+ }
1681
+ }
1682
+ ]
1683
+ },
1684
+ "minLength": {
1685
+ "type": "integer"
1686
+ },
1687
+ "maxLength": {
1688
+ "type": "integer"
1689
+ },
1690
+ "jsonSchema": {
1691
+ "type": "object"
1692
+ }
1693
+ }
1694
+ },
1695
+ "rdfType": {
1696
+ "type": "string"
1697
+ }
1698
+ }
1699
+ },
1700
+ {
1701
+ "type": "object",
1702
+ "title": "Duration Field",
1703
+ "required": ["name", "type"],
1704
+ "properties": {
1705
+ "name": {
1706
+ "title": "Name",
1707
+ "type": "string"
1708
+ },
1709
+ "title": {
1710
+ "title": "Title",
1711
+ "type": "string"
1712
+ },
1713
+ "description": {
1714
+ "title": "Description",
1715
+ "type": "string"
1716
+ },
1717
+ "example": {
1718
+ "title": "Example",
1719
+ "type": "string"
1720
+ },
1721
+ "missingValues": {
1722
+ "anyOf": [
1723
+ {
1724
+ "type": "array",
1725
+ "items": {
1726
+ "type": "string"
1727
+ }
1728
+ },
1729
+ {
1730
+ "type": "array",
1731
+ "items": {
1732
+ "type": "object",
1733
+ "required": ["value"],
1734
+ "properties": {
1735
+ "value": {
1736
+ "type": "string"
1737
+ },
1738
+ "label": {
1739
+ "type": "string"
1740
+ }
1741
+ }
1742
+ }
1743
+ }
1744
+ ],
1745
+ "default": [""]
1746
+ },
1747
+ "type": {
1748
+ "enum": ["duration"]
1749
+ },
1750
+ "format": {
1751
+ "enum": ["default"],
1752
+ "default": "default"
1753
+ },
1754
+ "constraints": {
1755
+ "title": "Constraints",
1756
+ "type": "object",
1757
+ "properties": {
1758
+ "required": {
1759
+ "type": "boolean"
1760
+ },
1761
+ "unique": {
1762
+ "type": "boolean"
1763
+ },
1764
+ "enum": {
1765
+ "type": "array",
1766
+ "minItems": 1,
1767
+ "uniqueItems": true,
1768
+ "items": {
1769
+ "type": "string"
1770
+ }
1771
+ },
1772
+ "minimum": {
1773
+ "type": "string"
1774
+ },
1775
+ "maximum": {
1776
+ "type": "string"
1777
+ },
1778
+ "exclusiveMinimum": {
1779
+ "type": "string"
1780
+ },
1781
+ "exclusiveMaximum": {
1782
+ "type": "string"
1783
+ }
1784
+ }
1785
+ },
1786
+ "rdfType": {
1787
+ "type": "string"
1788
+ }
1789
+ }
1790
+ },
1791
+ {
1792
+ "type": "object",
1793
+ "title": "Any Field",
1794
+ "required": ["name", "type"],
1795
+ "properties": {
1796
+ "name": {
1797
+ "title": "Name",
1798
+ "type": "string"
1799
+ },
1800
+ "title": {
1801
+ "title": "Title",
1802
+ "type": "string"
1803
+ },
1804
+ "description": {
1805
+ "title": "Description",
1806
+ "type": "string"
1807
+ },
1808
+ "example": {
1809
+ "title": "Example",
1810
+ "type": "string"
1811
+ },
1812
+ "missingValues": {
1813
+ "anyOf": [
1814
+ {
1815
+ "type": "array",
1816
+ "items": {
1817
+ "type": "string"
1818
+ }
1819
+ },
1820
+ {
1821
+ "type": "array",
1822
+ "items": {
1823
+ "type": "object",
1824
+ "required": ["value"],
1825
+ "properties": {
1826
+ "value": {
1827
+ "type": "string"
1828
+ },
1829
+ "label": {
1830
+ "type": "string"
1831
+ }
1832
+ }
1833
+ }
1834
+ }
1835
+ ],
1836
+ "default": [""]
1837
+ },
1838
+ "type": {
1839
+ "enum": ["any"]
1840
+ },
1841
+ "constraints": {
1842
+ "title": "Constraints",
1843
+ "type": "object",
1844
+ "properties": {
1845
+ "required": {
1846
+ "type": "boolean"
1847
+ },
1848
+ "unique": {
1849
+ "type": "boolean"
1850
+ },
1851
+ "enum": {
1852
+ "type": "array",
1853
+ "minItems": 1,
1854
+ "uniqueItems": true
1855
+ }
1856
+ }
1857
+ },
1858
+ "rdfType": {
1859
+ "type": "string"
1860
+ }
1861
+ }
1862
+ }
1863
+ ]
1864
+ }
1865
+ },
1866
+ "fieldsMatch": {
1867
+ "type": "string",
1868
+ "enum": ["exact", "equal", "subset", "superset", "partial"],
1869
+ "default": "exact"
1870
+ },
1871
+ "primaryKey": {
1872
+ "oneOf": [
1873
+ {
1874
+ "type": "array",
1875
+ "minItems": 1,
1876
+ "uniqueItems": true,
1877
+ "items": {
1878
+ "type": "string"
1879
+ }
1880
+ },
1881
+ {
1882
+ "type": "string"
1883
+ }
1884
+ ]
1885
+ },
1886
+ "uniqueKeys": {
1887
+ "type": "array",
1888
+ "minItems": 1,
1889
+ "uniqueItems": true,
1890
+ "items": {
1891
+ "type": "array",
1892
+ "minItems": 1,
1893
+ "uniqueItems": true,
1894
+ "items": {
1895
+ "type": "string"
1896
+ }
1897
+ }
1898
+ },
1899
+ "foreignKeys": {
1900
+ "type": "array",
1901
+ "minItems": 1,
1902
+ "items": {
1903
+ "title": "Table Schema Foreign Key",
1904
+ "type": "object",
1905
+ "required": ["fields", "reference"],
1906
+ "oneOf": [
1907
+ {
1908
+ "properties": {
1909
+ "fields": {
1910
+ "type": "array",
1911
+ "items": {
1912
+ "type": "string",
1913
+ "minItems": 1,
1914
+ "uniqueItems": true
1915
+ }
1916
+ },
1917
+ "reference": {
1918
+ "type": "object",
1919
+ "required": ["fields"],
1920
+ "properties": {
1921
+ "resource": {
1922
+ "type": "string"
1923
+ },
1924
+ "fields": {
1925
+ "type": "array",
1926
+ "items": {
1927
+ "type": "string"
1928
+ },
1929
+ "minItems": 1,
1930
+ "uniqueItems": true
1931
+ }
1932
+ }
1933
+ }
1934
+ }
1935
+ },
1936
+ {
1937
+ "properties": {
1938
+ "fields": {
1939
+ "type": "string"
1940
+ },
1941
+ "reference": {
1942
+ "type": "object",
1943
+ "required": ["fields"],
1944
+ "properties": {
1945
+ "resource": {
1946
+ "type": "string"
1947
+ },
1948
+ "fields": {
1949
+ "type": "string"
1950
+ }
1951
+ }
1952
+ }
1953
+ }
1954
+ }
1955
+ ]
1956
+ }
1957
+ },
1958
+ "missingValues": {
1959
+ "anyOf": [
1960
+ {
1961
+ "type": "array",
1962
+ "items": {
1963
+ "type": "string"
1964
+ }
1965
+ },
1966
+ {
1967
+ "type": "array",
1968
+ "items": {
1969
+ "type": "object",
1970
+ "required": ["value"],
1971
+ "properties": {
1972
+ "value": {
1973
+ "type": "string"
1974
+ },
1975
+ "label": {
1976
+ "type": "string"
1977
+ }
1978
+ }
1979
+ }
1980
+ }
1981
+ ],
1982
+ "default": [""]
1983
+ }
1984
+ }
1985
+ }
1986
+ }
1987
+ }