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