@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,1126 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Table Schema",
4
+ "required": ["fields"],
5
+ "properties": {
6
+ "fields": {
7
+ "type": "array",
8
+ "minItems": 1,
9
+ "items": {
10
+ "title": "Table Schema Field",
11
+ "type": "object",
12
+ "oneOf": [
13
+ {
14
+ "type": "object",
15
+ "title": "String Field",
16
+ "required": ["name"],
17
+ "properties": {
18
+ "name": {
19
+ "title": "Name",
20
+ "type": "string"
21
+ },
22
+ "title": {
23
+ "title": "Title",
24
+ "type": "string"
25
+ },
26
+ "description": {
27
+ "title": "Description",
28
+ "type": "string"
29
+ },
30
+ "example": {
31
+ "title": "Example",
32
+ "type": "string"
33
+ },
34
+ "type": {
35
+ "enum": ["string"]
36
+ },
37
+ "format": {
38
+ "enum": ["default", "email", "uri", "binary", "uuid"],
39
+ "default": "default"
40
+ },
41
+ "constraints": {
42
+ "title": "Constraints",
43
+ "type": "object",
44
+ "properties": {
45
+ "required": {
46
+ "type": "boolean"
47
+ },
48
+ "unique": {
49
+ "type": "boolean"
50
+ },
51
+ "pattern": {
52
+ "type": "string"
53
+ },
54
+ "enum": {
55
+ "type": "array",
56
+ "minItems": 1,
57
+ "uniqueItems": true,
58
+ "items": {
59
+ "type": "string"
60
+ }
61
+ },
62
+ "minLength": {
63
+ "type": "integer"
64
+ },
65
+ "maxLength": {
66
+ "type": "integer"
67
+ }
68
+ }
69
+ },
70
+ "rdfType": {
71
+ "type": "string"
72
+ }
73
+ }
74
+ },
75
+ {
76
+ "type": "object",
77
+ "title": "Number Field",
78
+ "required": ["name", "type"],
79
+ "properties": {
80
+ "name": {
81
+ "title": "Name",
82
+ "type": "string"
83
+ },
84
+ "title": {
85
+ "title": "Title",
86
+ "type": "string"
87
+ },
88
+ "description": {
89
+ "title": "Description",
90
+ "type": "string"
91
+ },
92
+ "example": {
93
+ "title": "Example",
94
+ "type": "string"
95
+ },
96
+ "type": {
97
+ "enum": ["number"]
98
+ },
99
+ "format": {
100
+ "enum": ["default"],
101
+ "default": "default"
102
+ },
103
+ "bareNumber": {
104
+ "type": "boolean",
105
+ "title": "bareNumber",
106
+ "default": true
107
+ },
108
+ "decimalChar": {
109
+ "type": "string"
110
+ },
111
+ "groupChar": {
112
+ "type": "string"
113
+ },
114
+ "constraints": {
115
+ "title": "Constraints",
116
+ "type": "object",
117
+ "properties": {
118
+ "required": {
119
+ "type": "boolean"
120
+ },
121
+ "unique": {
122
+ "type": "boolean"
123
+ },
124
+ "enum": {
125
+ "oneOf": [
126
+ {
127
+ "type": "array",
128
+ "minItems": 1,
129
+ "uniqueItems": true,
130
+ "items": {
131
+ "type": "string"
132
+ }
133
+ },
134
+ {
135
+ "type": "array",
136
+ "minItems": 1,
137
+ "uniqueItems": true,
138
+ "items": {
139
+ "type": "number"
140
+ }
141
+ }
142
+ ]
143
+ },
144
+ "minimum": {
145
+ "oneOf": [
146
+ {
147
+ "type": "string"
148
+ },
149
+ {
150
+ "type": "number"
151
+ }
152
+ ]
153
+ },
154
+ "maximum": {
155
+ "oneOf": [
156
+ {
157
+ "type": "string"
158
+ },
159
+ {
160
+ "type": "number"
161
+ }
162
+ ]
163
+ }
164
+ }
165
+ },
166
+ "rdfType": {
167
+ "type": "string"
168
+ }
169
+ }
170
+ },
171
+ {
172
+ "type": "object",
173
+ "title": "Integer Field",
174
+ "required": ["name", "type"],
175
+ "properties": {
176
+ "name": {
177
+ "title": "Name",
178
+ "type": "string"
179
+ },
180
+ "title": {
181
+ "title": "Title",
182
+ "type": "string"
183
+ },
184
+ "description": {
185
+ "title": "Description",
186
+ "type": "string"
187
+ },
188
+ "example": {
189
+ "title": "Example",
190
+ "type": "string"
191
+ },
192
+ "type": {
193
+ "enum": ["integer"]
194
+ },
195
+ "format": {
196
+ "enum": ["default"],
197
+ "default": "default"
198
+ },
199
+ "bareNumber": {
200
+ "type": "boolean",
201
+ "title": "bareNumber",
202
+ "default": true
203
+ },
204
+ "constraints": {
205
+ "title": "Constraints",
206
+ "type": "object",
207
+ "properties": {
208
+ "required": {
209
+ "type": "boolean"
210
+ },
211
+ "unique": {
212
+ "type": "boolean"
213
+ },
214
+ "enum": {
215
+ "oneOf": [
216
+ {
217
+ "type": "array",
218
+ "minItems": 1,
219
+ "uniqueItems": true,
220
+ "items": {
221
+ "type": "string"
222
+ }
223
+ },
224
+ {
225
+ "type": "array",
226
+ "minItems": 1,
227
+ "uniqueItems": true,
228
+ "items": {
229
+ "type": "integer"
230
+ }
231
+ }
232
+ ]
233
+ },
234
+ "minimum": {
235
+ "oneOf": [
236
+ {
237
+ "type": "string"
238
+ },
239
+ {
240
+ "type": "integer"
241
+ }
242
+ ]
243
+ },
244
+ "maximum": {
245
+ "oneOf": [
246
+ {
247
+ "type": "string"
248
+ },
249
+ {
250
+ "type": "integer"
251
+ }
252
+ ]
253
+ }
254
+ }
255
+ },
256
+ "rdfType": {
257
+ "type": "string"
258
+ }
259
+ }
260
+ },
261
+ {
262
+ "type": "object",
263
+ "title": "Date Field",
264
+ "required": ["name", "type"],
265
+ "properties": {
266
+ "name": {
267
+ "title": "Name",
268
+ "type": "string"
269
+ },
270
+ "title": {
271
+ "title": "Title",
272
+ "type": "string"
273
+ },
274
+ "description": {
275
+ "title": "Description",
276
+ "type": "string"
277
+ },
278
+ "example": {
279
+ "title": "Example",
280
+ "type": "string"
281
+ },
282
+ "type": {
283
+ "enum": ["date"]
284
+ },
285
+ "format": {
286
+ "default": "default"
287
+ },
288
+ "constraints": {
289
+ "title": "Constraints",
290
+ "type": "object",
291
+ "properties": {
292
+ "required": {
293
+ "type": "boolean"
294
+ },
295
+ "unique": {
296
+ "type": "boolean"
297
+ },
298
+ "enum": {
299
+ "type": "array",
300
+ "minItems": 1,
301
+ "uniqueItems": true,
302
+ "items": {
303
+ "type": "string"
304
+ }
305
+ },
306
+ "minimum": {
307
+ "type": "string"
308
+ },
309
+ "maximum": {
310
+ "type": "string"
311
+ }
312
+ }
313
+ },
314
+ "rdfType": {
315
+ "type": "string"
316
+ }
317
+ }
318
+ },
319
+ {
320
+ "type": "object",
321
+ "title": "Time Field",
322
+ "required": ["name", "type"],
323
+ "properties": {
324
+ "name": {
325
+ "title": "Name",
326
+ "type": "string"
327
+ },
328
+ "title": {
329
+ "title": "Title",
330
+ "type": "string"
331
+ },
332
+ "description": {
333
+ "title": "Description",
334
+ "type": "string"
335
+ },
336
+ "example": {
337
+ "title": "Example",
338
+ "type": "string"
339
+ },
340
+ "type": {
341
+ "enum": ["time"]
342
+ },
343
+ "format": {
344
+ "default": "default"
345
+ },
346
+ "constraints": {
347
+ "title": "Constraints",
348
+ "type": "object",
349
+ "properties": {
350
+ "required": {
351
+ "type": "boolean"
352
+ },
353
+ "unique": {
354
+ "type": "boolean"
355
+ },
356
+ "enum": {
357
+ "type": "array",
358
+ "minItems": 1,
359
+ "uniqueItems": true,
360
+ "items": {
361
+ "type": "string"
362
+ }
363
+ },
364
+ "minimum": {
365
+ "type": "string"
366
+ },
367
+ "maximum": {
368
+ "type": "string"
369
+ }
370
+ }
371
+ },
372
+ "rdfType": {
373
+ "type": "string"
374
+ }
375
+ }
376
+ },
377
+ {
378
+ "type": "object",
379
+ "title": "Date Time Field",
380
+ "required": ["name", "type"],
381
+ "properties": {
382
+ "name": {
383
+ "title": "Name",
384
+ "type": "string"
385
+ },
386
+ "title": {
387
+ "title": "Title",
388
+ "type": "string"
389
+ },
390
+ "description": {
391
+ "title": "Description",
392
+ "type": "string"
393
+ },
394
+ "example": {
395
+ "title": "Example",
396
+ "type": "string"
397
+ },
398
+ "type": {
399
+ "enum": ["datetime"]
400
+ },
401
+ "format": {
402
+ "default": "default"
403
+ },
404
+ "constraints": {
405
+ "title": "Constraints",
406
+ "type": "object",
407
+ "properties": {
408
+ "required": {
409
+ "type": "boolean"
410
+ },
411
+ "unique": {
412
+ "type": "boolean"
413
+ },
414
+ "enum": {
415
+ "type": "array",
416
+ "minItems": 1,
417
+ "uniqueItems": true,
418
+ "items": {
419
+ "type": "string"
420
+ }
421
+ },
422
+ "minimum": {
423
+ "type": "string"
424
+ },
425
+ "maximum": {
426
+ "type": "string"
427
+ }
428
+ }
429
+ },
430
+ "rdfType": {
431
+ "type": "string"
432
+ }
433
+ }
434
+ },
435
+ {
436
+ "type": "object",
437
+ "title": "Year Field",
438
+ "required": ["name", "type"],
439
+ "properties": {
440
+ "name": {
441
+ "title": "Name",
442
+ "type": "string"
443
+ },
444
+ "title": {
445
+ "title": "Title",
446
+ "type": "string"
447
+ },
448
+ "description": {
449
+ "title": "Description",
450
+ "type": "string"
451
+ },
452
+ "example": {
453
+ "title": "Example",
454
+ "type": "string"
455
+ },
456
+ "type": {
457
+ "enum": ["year"]
458
+ },
459
+ "format": {
460
+ "enum": ["default"],
461
+ "default": "default"
462
+ },
463
+ "constraints": {
464
+ "title": "Constraints",
465
+ "type": "object",
466
+ "properties": {
467
+ "required": {
468
+ "type": "boolean"
469
+ },
470
+ "unique": {
471
+ "type": "boolean"
472
+ },
473
+ "enum": {
474
+ "oneOf": [
475
+ {
476
+ "type": "array",
477
+ "minItems": 1,
478
+ "uniqueItems": true,
479
+ "items": {
480
+ "type": "string"
481
+ }
482
+ },
483
+ {
484
+ "type": "array",
485
+ "minItems": 1,
486
+ "uniqueItems": true,
487
+ "items": {
488
+ "type": "integer"
489
+ }
490
+ }
491
+ ]
492
+ },
493
+ "minimum": {
494
+ "oneOf": [
495
+ {
496
+ "type": "string"
497
+ },
498
+ {
499
+ "type": "integer"
500
+ }
501
+ ]
502
+ },
503
+ "maximum": {
504
+ "oneOf": [
505
+ {
506
+ "type": "string"
507
+ },
508
+ {
509
+ "type": "integer"
510
+ }
511
+ ]
512
+ }
513
+ }
514
+ },
515
+ "rdfType": {
516
+ "type": "string"
517
+ }
518
+ }
519
+ },
520
+ {
521
+ "type": "object",
522
+ "title": "Year Month Field",
523
+ "required": ["name", "type"],
524
+ "properties": {
525
+ "name": {
526
+ "title": "Name",
527
+ "type": "string"
528
+ },
529
+ "title": {
530
+ "title": "Title",
531
+ "type": "string"
532
+ },
533
+ "description": {
534
+ "title": "Description",
535
+ "type": "string"
536
+ },
537
+ "example": {
538
+ "title": "Example",
539
+ "type": "string"
540
+ },
541
+ "type": {
542
+ "enum": ["yearmonth"]
543
+ },
544
+ "format": {
545
+ "enum": ["default"],
546
+ "default": "default"
547
+ },
548
+ "constraints": {
549
+ "title": "Constraints",
550
+ "type": "object",
551
+ "properties": {
552
+ "required": {
553
+ "type": "boolean"
554
+ },
555
+ "unique": {
556
+ "type": "boolean"
557
+ },
558
+ "enum": {
559
+ "type": "array",
560
+ "minItems": 1,
561
+ "uniqueItems": true,
562
+ "items": {
563
+ "type": "string"
564
+ }
565
+ },
566
+ "minimum": {
567
+ "type": "string"
568
+ },
569
+ "maximum": {
570
+ "type": "string"
571
+ }
572
+ }
573
+ },
574
+ "rdfType": {
575
+ "type": "string"
576
+ }
577
+ }
578
+ },
579
+ {
580
+ "type": "object",
581
+ "title": "Boolean Field",
582
+ "required": ["name", "type"],
583
+ "properties": {
584
+ "name": {
585
+ "title": "Name",
586
+ "type": "string"
587
+ },
588
+ "title": {
589
+ "title": "Title",
590
+ "type": "string"
591
+ },
592
+ "description": {
593
+ "title": "Description",
594
+ "type": "string"
595
+ },
596
+ "example": {
597
+ "title": "Example",
598
+ "type": "string"
599
+ },
600
+ "type": {
601
+ "enum": ["boolean"]
602
+ },
603
+ "format": {
604
+ "enum": ["default"],
605
+ "default": "default"
606
+ },
607
+ "trueValues": {
608
+ "type": "array",
609
+ "minItems": 1,
610
+ "items": {
611
+ "type": "string"
612
+ },
613
+ "default": ["true", "True", "TRUE", "1"]
614
+ },
615
+ "falseValues": {
616
+ "type": "array",
617
+ "minItems": 1,
618
+ "items": {
619
+ "type": "string"
620
+ },
621
+ "default": ["false", "False", "FALSE", "0"]
622
+ },
623
+ "constraints": {
624
+ "title": "Constraints",
625
+ "type": "object",
626
+ "properties": {
627
+ "required": {
628
+ "type": "boolean"
629
+ },
630
+ "enum": {
631
+ "type": "array",
632
+ "minItems": 1,
633
+ "uniqueItems": true,
634
+ "items": {
635
+ "type": "boolean"
636
+ }
637
+ }
638
+ }
639
+ },
640
+ "rdfType": {
641
+ "type": "string"
642
+ }
643
+ }
644
+ },
645
+ {
646
+ "type": "object",
647
+ "title": "Object Field",
648
+ "required": ["name", "type"],
649
+ "properties": {
650
+ "name": {
651
+ "title": "Name",
652
+ "type": "string"
653
+ },
654
+ "title": {
655
+ "title": "Title",
656
+ "type": "string"
657
+ },
658
+ "description": {
659
+ "title": "Description",
660
+ "type": "string"
661
+ },
662
+ "example": {
663
+ "title": "Example",
664
+ "type": "string"
665
+ },
666
+ "type": {
667
+ "enum": ["object"]
668
+ },
669
+ "format": {
670
+ "enum": ["default"],
671
+ "default": "default"
672
+ },
673
+ "constraints": {
674
+ "title": "Constraints",
675
+ "type": "object",
676
+ "properties": {
677
+ "required": {
678
+ "type": "boolean"
679
+ },
680
+ "unique": {
681
+ "type": "boolean"
682
+ },
683
+ "enum": {
684
+ "oneOf": [
685
+ {
686
+ "type": "array",
687
+ "minItems": 1,
688
+ "uniqueItems": true,
689
+ "items": {
690
+ "type": "string"
691
+ }
692
+ },
693
+ {
694
+ "type": "array",
695
+ "minItems": 1,
696
+ "uniqueItems": true,
697
+ "items": {
698
+ "type": "object"
699
+ }
700
+ }
701
+ ]
702
+ },
703
+ "minLength": {
704
+ "type": "integer"
705
+ },
706
+ "maxLength": {
707
+ "type": "integer"
708
+ }
709
+ }
710
+ },
711
+ "rdfType": {
712
+ "type": "string"
713
+ }
714
+ }
715
+ },
716
+ {
717
+ "type": "object",
718
+ "title": "GeoPoint Field",
719
+ "required": ["name", "type"],
720
+ "properties": {
721
+ "name": {
722
+ "title": "Name",
723
+ "type": "string"
724
+ },
725
+ "title": {
726
+ "title": "Title",
727
+ "type": "string"
728
+ },
729
+ "description": {
730
+ "title": "Description",
731
+ "type": "string"
732
+ },
733
+ "example": {
734
+ "title": "Example",
735
+ "type": "string"
736
+ },
737
+ "type": {
738
+ "enum": ["geopoint"]
739
+ },
740
+ "format": {
741
+ "notes": [
742
+ "Implementations `MUST` strip all white space in the default format of `lon, lat`."
743
+ ],
744
+ "enum": ["default", "array", "object"],
745
+ "default": "default"
746
+ },
747
+ "constraints": {
748
+ "title": "Constraints",
749
+ "type": "object",
750
+ "properties": {
751
+ "required": {
752
+ "type": "boolean"
753
+ },
754
+ "unique": {
755
+ "type": "boolean"
756
+ },
757
+ "enum": {
758
+ "oneOf": [
759
+ {
760
+ "type": "array",
761
+ "minItems": 1,
762
+ "uniqueItems": true,
763
+ "items": {
764
+ "type": "string"
765
+ }
766
+ },
767
+ {
768
+ "type": "array",
769
+ "minItems": 1,
770
+ "uniqueItems": true,
771
+ "items": {
772
+ "type": "array"
773
+ }
774
+ },
775
+ {
776
+ "type": "array",
777
+ "minItems": 1,
778
+ "uniqueItems": true,
779
+ "items": {
780
+ "type": "object"
781
+ }
782
+ }
783
+ ]
784
+ }
785
+ }
786
+ },
787
+ "rdfType": {
788
+ "type": "string"
789
+ }
790
+ }
791
+ },
792
+ {
793
+ "type": "object",
794
+ "title": "GeoJSON Field",
795
+ "required": ["name", "type"],
796
+ "properties": {
797
+ "name": {
798
+ "title": "Name",
799
+ "type": "string"
800
+ },
801
+ "title": {
802
+ "title": "Title",
803
+ "type": "string"
804
+ },
805
+ "description": {
806
+ "title": "Description",
807
+ "type": "string"
808
+ },
809
+ "example": {
810
+ "title": "Example",
811
+ "type": "string"
812
+ },
813
+ "type": {
814
+ "enum": ["geojson"]
815
+ },
816
+ "format": {
817
+ "enum": ["default", "topojson"],
818
+ "default": "default"
819
+ },
820
+ "constraints": {
821
+ "title": "Constraints",
822
+ "type": "object",
823
+ "properties": {
824
+ "required": {
825
+ "type": "boolean"
826
+ },
827
+ "unique": {
828
+ "type": "boolean"
829
+ },
830
+ "enum": {
831
+ "oneOf": [
832
+ {
833
+ "type": "array",
834
+ "minItems": 1,
835
+ "uniqueItems": true,
836
+ "items": {
837
+ "type": "string"
838
+ }
839
+ },
840
+ {
841
+ "type": "array",
842
+ "minItems": 1,
843
+ "uniqueItems": true,
844
+ "items": {
845
+ "type": "object"
846
+ }
847
+ }
848
+ ]
849
+ },
850
+ "minLength": {
851
+ "type": "integer"
852
+ },
853
+ "maxLength": {
854
+ "type": "integer"
855
+ }
856
+ }
857
+ },
858
+ "rdfType": {
859
+ "type": "string"
860
+ }
861
+ }
862
+ },
863
+ {
864
+ "type": "object",
865
+ "title": "Array Field",
866
+ "required": ["name", "type"],
867
+ "properties": {
868
+ "name": {
869
+ "title": "Name",
870
+ "type": "string"
871
+ },
872
+ "title": {
873
+ "title": "Title",
874
+ "type": "string"
875
+ },
876
+ "description": {
877
+ "title": "Description",
878
+ "type": "string"
879
+ },
880
+ "example": {
881
+ "title": "Example",
882
+ "type": "string"
883
+ },
884
+ "type": {
885
+ "enum": ["array"]
886
+ },
887
+ "format": {
888
+ "enum": ["default"],
889
+ "default": "default"
890
+ },
891
+ "constraints": {
892
+ "title": "Constraints",
893
+ "type": "object",
894
+ "properties": {
895
+ "required": {
896
+ "type": "boolean"
897
+ },
898
+ "unique": {
899
+ "type": "boolean"
900
+ },
901
+ "enum": {
902
+ "oneOf": [
903
+ {
904
+ "type": "array",
905
+ "minItems": 1,
906
+ "uniqueItems": true,
907
+ "items": {
908
+ "type": "string"
909
+ }
910
+ },
911
+ {
912
+ "type": "array",
913
+ "minItems": 1,
914
+ "uniqueItems": true,
915
+ "items": {
916
+ "type": "array"
917
+ }
918
+ }
919
+ ]
920
+ },
921
+ "minLength": {
922
+ "type": "integer"
923
+ },
924
+ "maxLength": {
925
+ "type": "integer"
926
+ }
927
+ }
928
+ },
929
+ "rdfType": {
930
+ "type": "string"
931
+ }
932
+ }
933
+ },
934
+ {
935
+ "type": "object",
936
+ "title": "Duration Field",
937
+ "required": ["name", "type"],
938
+ "properties": {
939
+ "name": {
940
+ "title": "Name",
941
+ "type": "string"
942
+ },
943
+ "title": {
944
+ "title": "Title",
945
+ "type": "string"
946
+ },
947
+ "description": {
948
+ "title": "Description",
949
+ "type": "string"
950
+ },
951
+ "example": {
952
+ "title": "Example",
953
+ "type": "string"
954
+ },
955
+ "type": {
956
+ "enum": ["duration"]
957
+ },
958
+ "format": {
959
+ "enum": ["default"],
960
+ "default": "default"
961
+ },
962
+ "constraints": {
963
+ "title": "Constraints",
964
+ "type": "object",
965
+ "properties": {
966
+ "required": {
967
+ "type": "boolean"
968
+ },
969
+ "unique": {
970
+ "type": "boolean"
971
+ },
972
+ "enum": {
973
+ "type": "array",
974
+ "minItems": 1,
975
+ "uniqueItems": true,
976
+ "items": {
977
+ "type": "string"
978
+ }
979
+ },
980
+ "minimum": {
981
+ "type": "string"
982
+ },
983
+ "maximum": {
984
+ "type": "string"
985
+ }
986
+ }
987
+ },
988
+ "rdfType": {
989
+ "type": "string"
990
+ }
991
+ }
992
+ },
993
+ {
994
+ "type": "object",
995
+ "title": "Any Field",
996
+ "required": ["name", "type"],
997
+ "properties": {
998
+ "name": {
999
+ "title": "Name",
1000
+ "type": "string"
1001
+ },
1002
+ "title": {
1003
+ "title": "Title",
1004
+ "type": "string"
1005
+ },
1006
+ "description": {
1007
+ "title": "Description",
1008
+ "type": "string"
1009
+ },
1010
+ "example": {
1011
+ "title": "Example",
1012
+ "type": "string"
1013
+ },
1014
+ "type": {
1015
+ "enum": ["any"]
1016
+ },
1017
+ "constraints": {
1018
+ "title": "Constraints",
1019
+ "type": "object",
1020
+ "properties": {
1021
+ "required": {
1022
+ "type": "boolean"
1023
+ },
1024
+ "unique": {
1025
+ "type": "boolean"
1026
+ },
1027
+ "enum": {
1028
+ "type": "array",
1029
+ "minItems": 1,
1030
+ "uniqueItems": true
1031
+ }
1032
+ }
1033
+ },
1034
+ "rdfType": {
1035
+ "type": "string"
1036
+ }
1037
+ }
1038
+ }
1039
+ ]
1040
+ }
1041
+ },
1042
+ "primaryKey": {
1043
+ "oneOf": [
1044
+ {
1045
+ "type": "array",
1046
+ "minItems": 1,
1047
+ "uniqueItems": true,
1048
+ "items": {
1049
+ "type": "string"
1050
+ }
1051
+ },
1052
+ {
1053
+ "type": "string"
1054
+ }
1055
+ ]
1056
+ },
1057
+ "foreignKeys": {
1058
+ "type": "array",
1059
+ "minItems": 1,
1060
+ "items": {
1061
+ "title": "Table Schema Foreign Key",
1062
+ "type": "object",
1063
+ "required": ["fields", "reference"],
1064
+ "oneOf": [
1065
+ {
1066
+ "properties": {
1067
+ "fields": {
1068
+ "type": "array",
1069
+ "items": {
1070
+ "type": "string",
1071
+ "minItems": 1,
1072
+ "uniqueItems": true
1073
+ }
1074
+ },
1075
+ "reference": {
1076
+ "type": "object",
1077
+ "required": ["resource", "fields"],
1078
+ "properties": {
1079
+ "resource": {
1080
+ "type": "string",
1081
+ "default": ""
1082
+ },
1083
+ "fields": {
1084
+ "type": "array",
1085
+ "items": {
1086
+ "type": "string"
1087
+ },
1088
+ "minItems": 1,
1089
+ "uniqueItems": true
1090
+ }
1091
+ }
1092
+ }
1093
+ }
1094
+ },
1095
+ {
1096
+ "properties": {
1097
+ "fields": {
1098
+ "type": "string"
1099
+ },
1100
+ "reference": {
1101
+ "type": "object",
1102
+ "required": ["resource", "fields"],
1103
+ "properties": {
1104
+ "resource": {
1105
+ "type": "string",
1106
+ "default": ""
1107
+ },
1108
+ "fields": {
1109
+ "type": "string"
1110
+ }
1111
+ }
1112
+ }
1113
+ }
1114
+ }
1115
+ ]
1116
+ }
1117
+ },
1118
+ "missingValues": {
1119
+ "type": "array",
1120
+ "items": {
1121
+ "type": "string"
1122
+ },
1123
+ "default": [""]
1124
+ }
1125
+ }
1126
+ }