adiwg-mdjson_schemas 1.1.3 → 2.0.0.pre.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/README.md +14 -3
  4. data/adiwg-json_schemas.gemspec +2 -2
  5. data/bower.json +0 -1
  6. data/examples/additionalDocumentation.json +9 -60
  7. data/examples/address.json +14 -10
  8. data/examples/allocation.json +12 -0
  9. data/examples/associatedResource.json +10 -118
  10. data/examples/attribute.json +27 -0
  11. data/examples/attributeGroup.json +17 -0
  12. data/examples/boundingBox.json +6 -0
  13. data/examples/citation.json +69 -127
  14. data/examples/computedBbox.json +399 -0
  15. data/examples/constraint.json +62 -0
  16. data/examples/contact.json +40 -207
  17. data/examples/coverageDescription.json +21 -0
  18. data/examples/date.json +8 -19
  19. data/examples/dictionary.json +58 -0
  20. data/examples/dimension.json +11 -0
  21. data/examples/distribution.json +26 -0
  22. data/examples/distributor.json +22 -142
  23. data/examples/domain.json +29 -0
  24. data/examples/domainItem.json +11 -0
  25. data/examples/duration.json +17 -0
  26. data/examples/entity.json +48 -0
  27. data/examples/entityAttribute.json +31 -0
  28. data/examples/entityForeignKey.json +17 -0
  29. data/examples/entityIndex.json +8 -0
  30. data/examples/extent.json +60 -0
  31. data/examples/featureCollection.json +58 -0
  32. data/examples/featureProperties.json +16 -0
  33. data/examples/format.json +7 -14
  34. data/examples/funding.json +33 -0
  35. data/examples/geoJson.json +185 -0
  36. data/examples/geographicExtent.json +22 -0
  37. data/examples/geometryCollection.json +14 -0
  38. data/examples/geometryFeature.json +12 -0
  39. data/examples/geometryObject.json +90 -0
  40. data/examples/georectifiedRepresentation.json +28 -0
  41. data/examples/georeferencableRepresentation.json +25 -0
  42. data/examples/gmlIdentifier.json +8 -0
  43. data/examples/graphic.json +33 -0
  44. data/examples/gridRepresentation.json +14 -0
  45. data/examples/identifier.json +9 -0
  46. data/examples/imageDescription.json +15 -0
  47. data/examples/keyword.json +14 -0
  48. data/examples/keywordObject.json +12 -0
  49. data/examples/legalConstraint.json +21 -0
  50. data/examples/lineage.json +21 -0
  51. data/examples/locale.json +12 -3
  52. data/examples/maintenance.json +38 -0
  53. data/examples/mdJson.json +99 -0
  54. data/examples/measure.json +5 -0
  55. data/examples/medium.json +16 -0
  56. data/examples/metadata.json +102 -0
  57. data/examples/metadataInfo.json +68 -101
  58. data/examples/onlineResource.json +13 -17
  59. data/examples/orderProcess.json +6 -0
  60. data/examples/party.json +21 -0
  61. data/examples/phone.json +9 -0
  62. data/examples/processStep.json +34 -0
  63. data/examples/releasability.json +28 -0
  64. data/examples/resourceInfo.json +230 -1256
  65. data/examples/responsibleParty.json +31 -0
  66. data/examples/schema.json +8 -0
  67. data/examples/scope.json +33 -0
  68. data/examples/scopeDescription.json +8 -0
  69. data/examples/securityConstraint.json +13 -0
  70. data/examples/series.json +9 -0
  71. data/examples/source.json +23 -0
  72. data/examples/spatialReference.json +34 -0
  73. data/examples/spatialRepresentation.json +59 -0
  74. data/examples/spatialResolution.json +11 -0
  75. data/examples/taxonomicClassification.json +59 -0
  76. data/examples/taxonomicSystem.json +13 -0
  77. data/examples/taxonomy.json +79 -188
  78. data/examples/temporalExtent.json +11 -0
  79. data/examples/timeInstant.json +13 -0
  80. data/examples/timeInterval.json +8 -0
  81. data/examples/timePeriod.json +26 -0
  82. data/examples/transferOption.json +36 -0
  83. data/examples/usage.json +48 -33
  84. data/examples/vectorObject.json +4 -0
  85. data/examples/vectorRepresentation.json +10 -0
  86. data/examples/verticalExtent.json +10 -17
  87. data/examples/voucher.json +12 -0
  88. data/lib/adiwg/mdjson_schemas/utils.rb +45 -15
  89. data/lib/adiwg/mdjson_schemas/validator.rb +6 -7
  90. data/lib/adiwg/mdjson_schemas/version.rb +1 -1
  91. data/lib/adiwg/mdjson_schemas.rb +4 -2
  92. data/schema/additionalDocumentation.json +29 -0
  93. data/schema/associatedResource.json +49 -0
  94. data/schema/attribute.json +157 -0
  95. data/schema/attributeGroup.json +29 -0
  96. data/schema/{schema/geojson/bbox.json → bbox.json} +2 -2
  97. data/schema/{schema/citation.json → citation.json} +73 -99
  98. data/schema/common.json +49 -0
  99. data/schema/{schema/resourceConstraint.json → constraint.json} +83 -13
  100. data/schema/contact.json +234 -0
  101. data/schema/coverageDescription.json +50 -0
  102. data/schema/dataDictionary.json +71 -0
  103. data/schema/distribution.json +35 -0
  104. data/schema/distributor.json +46 -0
  105. data/schema/domain.json +65 -0
  106. data/schema/entity.json +235 -0
  107. data/schema/extent.json +59 -0
  108. data/schema/format.json +37 -0
  109. data/schema/funding.json +67 -0
  110. data/schema/geographicExtent.json +87 -0
  111. data/schema/{schema/geojson/geojson.json → geojson.json} +16 -44
  112. data/schema/{schema/geojson/geometry.json → geometry.json} +2 -1
  113. data/schema/georectifiedRepresentation.json +89 -0
  114. data/schema/georeferencableRepresentation.json +49 -0
  115. data/schema/{schema/graphicOverview.json → graphic.json} +19 -6
  116. data/schema/{schema/gridInfo.json → gridRepresentation.json} +7 -13
  117. data/schema/identifier.json +47 -0
  118. data/schema/imageDescription.json +92 -0
  119. data/schema/{schema/keyword.json → keyword.json} +18 -4
  120. data/schema/{schema/dataQuality.json → lineage.json} +92 -57
  121. data/schema/{schema/maintInfo.json → maintInfo.json} +24 -6
  122. data/schema/measure.json +31 -0
  123. data/schema/medium.json +55 -0
  124. data/schema/metadata.json +77 -0
  125. data/schema/metadataInfo.json +112 -0
  126. data/schema/{schema/onlineResource.json → onlineResource.json} +1 -1
  127. data/schema/orderProcess.json +45 -0
  128. data/schema/releasability.json +42 -0
  129. data/schema/{schema/resourceInfo.json → resourceInfo.json} +112 -189
  130. data/schema/responsibility.json +56 -0
  131. data/schema/schema.json +16 -31
  132. data/schema/scope.json +55 -0
  133. data/schema/spatialReference.json +26 -0
  134. data/schema/spatialRepresentation.json +83 -0
  135. data/schema/spatialResolution.json +54 -0
  136. data/schema/taxonomy.json +178 -0
  137. data/schema/temporalExtent.json +42 -0
  138. data/schema/timeInstant.json +46 -0
  139. data/schema/timePeriod.json +126 -0
  140. data/schema/transferOption.json +61 -0
  141. data/schema/{schema/usage.json → usage.json} +34 -4
  142. data/schema/vectorRepresentation.json +51 -0
  143. data/schema/verticalExtent.json +37 -0
  144. data/test/helper.rb +32 -0
  145. data/test/tc_additionalDocumentation.rb +8 -0
  146. data/test/tc_address.rb +8 -0
  147. data/test/tc_associatedResource.rb +8 -0
  148. data/test/tc_attribute.rb +8 -0
  149. data/test/tc_attributeGroup.rb +8 -0
  150. data/test/tc_boundingBox.rb +8 -0
  151. data/test/tc_citation.rb +8 -0
  152. data/test/tc_constraint.rb +8 -0
  153. data/test/tc_contact.rb +8 -0
  154. data/test/tc_coverageDescription.rb +8 -0
  155. data/test/tc_dataDictionary.rb +8 -0
  156. data/test/tc_dimension.rb +8 -0
  157. data/test/tc_distribution.rb +8 -0
  158. data/test/tc_distributor.rb +8 -0
  159. data/test/tc_domain.rb +8 -0
  160. data/test/tc_domainItem.rb +8 -0
  161. data/test/tc_duration.rb +8 -0
  162. data/test/tc_entity.rb +20 -0
  163. data/test/tc_extent.rb +8 -0
  164. data/test/tc_featureCollection.rb +8 -0
  165. data/test/tc_featureProperties.rb +8 -0
  166. data/test/tc_format.rb +8 -0
  167. data/test/tc_funding.rb +8 -0
  168. data/test/tc_geographicElement.rb +12 -0
  169. data/test/tc_geographicExtent.rb +8 -0
  170. data/test/tc_geometryCollection.rb +8 -0
  171. data/test/tc_geometryFeature.rb +8 -0
  172. data/test/tc_geometryObject.rb +8 -0
  173. data/test/tc_georectifiedRepresentation.rb +8 -0
  174. data/test/tc_georeferencableRepresentation.rb +8 -0
  175. data/test/tc_graphic.rb +8 -0
  176. data/test/tc_gridRepresentation.rb +8 -0
  177. data/test/tc_identifier.rb +8 -0
  178. data/test/tc_imageDescription.rb +8 -0
  179. data/test/tc_jsonschema.rb +16 -0
  180. data/test/tc_keyword.rb +8 -0
  181. data/test/tc_lineage.rb +8 -0
  182. data/test/tc_maintInfo.rb +8 -0
  183. data/test/tc_measure.rb +8 -0
  184. data/test/tc_medium.rb +8 -0
  185. data/test/tc_metadata.rb +8 -0
  186. data/test/tc_metadataInfo.rb +8 -0
  187. data/test/tc_onlineResource.rb +8 -0
  188. data/test/tc_orderProcess.rb +8 -0
  189. data/test/tc_party.rb +8 -0
  190. data/test/tc_processStep.rb +8 -0
  191. data/test/tc_releasability.rb +8 -0
  192. data/test/tc_resourceInfo.rb +8 -0
  193. data/test/tc_responsibility.rb +8 -0
  194. data/test/tc_schema.rb +8 -0
  195. data/test/tc_scope.rb +8 -0
  196. data/test/tc_source.rb +8 -0
  197. data/test/tc_spatialReference.rb +8 -0
  198. data/test/tc_spatialRepresentation.rb +8 -0
  199. data/test/tc_spatialResolution.rb +8 -0
  200. data/test/tc_taxonomicClassification.rb +8 -0
  201. data/test/tc_taxonomicSystem.rb +8 -0
  202. data/test/tc_taxonomy.rb +8 -0
  203. data/test/tc_temporalExtent.rb +8 -0
  204. data/test/tc_timeInstant.rb +8 -0
  205. data/test/tc_timePeriod.rb +8 -0
  206. data/test/tc_transferOption.rb +8 -0
  207. data/test/tc_uri.rb +8 -0
  208. data/test/tc_usage.rb +8 -0
  209. data/test/tc_utils.rb +8 -11
  210. data/test/tc_vectorRepresentation.rb +13 -0
  211. data/test/tc_verticalExtent.rb +8 -0
  212. data/test/tc_voucher.rb +8 -0
  213. metadata +264 -57
  214. data/examples/contactRef.json +0 -12
  215. data/examples/coverageInfo.json +0 -148
  216. data/examples/dataDictionary.json +0 -549
  217. data/examples/dataQuality.json +0 -272
  218. data/examples/extent_linestring.json +0 -288
  219. data/examples/extent_point.json +0 -246
  220. data/examples/extent_polygon.json +0 -353
  221. data/examples/full_example.json +0 -3065
  222. data/examples/full_example2.json +0 -2325
  223. data/examples/geojson.json +0 -446
  224. data/examples/graphicOverview.json +0 -28
  225. data/examples/gridInfo.json +0 -23
  226. data/examples/hierarchyLevel.json +0 -90
  227. data/examples/keywords.json +0 -144
  228. data/examples/lcc_project_example.json +0 -326
  229. data/examples/legalConstraints.json +0 -17
  230. data/examples/maintInfo.json +0 -34
  231. data/examples/minimum_example.json +0 -35
  232. data/examples/resolution.json +0 -9
  233. data/examples/resourceMaintenance.json +0 -10
  234. data/examples/securityConstraints.json +0 -13
  235. data/examples/spatialRef.json +0 -14
  236. data/examples/temporalElement.json +0 -29
  237. data/schema/schema/contact.json +0 -262
  238. data/schema/schema/coverageInfo.json +0 -303
  239. data/schema/schema/dataDictionary.json +0 -335
  240. data/schema/schema/distributor.json +0 -216
  241. data/schema/schema/extent.json +0 -215
  242. data/schema/schema/geojson/crs.json +0 -99
  243. data/schema/schema/metadata.json +0 -188
  244. data/schema/schema/resolution.json +0 -51
  245. data/schema/schema/taxonomy.json +0 -122
  246. data/test/tc_schemas.rb +0 -243
  247. /data/schema/{schema/locale.json → locale.json} +0 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "releasability.json#",
4
+ "type": "object",
5
+ "description": "",
6
+ "minProperties": 1,
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "addressee": {
10
+ "type": "array",
11
+ "example": "",
12
+
13
+ "minItems": 1,
14
+ "items": {
15
+ "$ref": "./responsibility.json#"
16
+ }
17
+ },
18
+ "statement": {
19
+ "type": "string",
20
+ "description": "The release statement.",
21
+ "example": "",
22
+ "translation": {},
23
+ "minLength": 1
24
+ },
25
+ "disseminationConstraint": {
26
+ "type": "array",
27
+ "description": "Factor in determining releasability",
28
+ "example": "",
29
+ "translation": {},
30
+ "items": {
31
+ "type": "string"
32
+ }
33
+ }
34
+ },
35
+ "anyOf": [{
36
+ "title": "Addressee is required.",
37
+ "required": ["addressee"]
38
+ }, {
39
+ "title": "Statement is required.",
40
+ "required": ["statement"]
41
+ }]
42
+ }
@@ -3,12 +3,12 @@
3
3
  "$schema": "http://json-schema.org/draft-04/schema#",
4
4
  "description": "Information about the resource.",
5
5
  "type": "object",
6
- "example": "../../examples/full_example.json#/metadata/resourceInfo",
6
+ "example": "",
7
7
  "translation": {
8
8
  "ISO 19115-2": ["MD_DataIdentification"],
9
9
  "FGDC CSDGM": ["idinfo"]
10
10
  },
11
- "required": ["resourceType", "citation", "abstract", "status", "language", "pointOfContact"],
11
+ "required": ["resourceType", "citation", "abstract", "status", "defaultResourceLocale", "pointOfContact"],
12
12
  "additionalProperties": true,
13
13
  "properties": {
14
14
  "resourceType": {
@@ -24,26 +24,7 @@
24
24
  "ISO 19115-2": ["MD_DataIdentification > citation > CI_Citation"],
25
25
  "FGDC CSDGM": ["idinfo > citation"]
26
26
  },
27
- "$ref": "citation.json#"
28
- },
29
- "resourceTimePeriod": {
30
- "description": "Time period for the resource, e.g. project start and end date(s).",
31
- "translation": {
32
- "ISO 19115-2": ["EX_Extent > temporalElement > EX_TemporalExtent > extent > TimePeriod"]
33
- },
34
- "$ref": "extent.json#/definitions/timePeriod"
35
- },
36
- "pointOfContact": {
37
- "type": "array",
38
- "description": "Identification of, and means of communication with, person(s) and organizations that may be contacted for acquiring knowledge about or acquisition of the resource.",
39
- "translation": {
40
- "ISO 19115-2": ["MD_DataIdentification > pointOfContact"]
41
- },
42
- "minItems": 1,
43
- "uniqueItems": true,
44
- "items": {
45
- "$ref": "contact.json#/definitions/contactRef"
46
- }
27
+ "$ref": "./citation.json#"
47
28
  },
48
29
  "abstract": {
49
30
  "type": "string",
@@ -57,65 +38,38 @@
57
38
  "type": "string",
58
39
  "description": "A short description of the resource. Max of 300 characters."
59
40
  },
60
- "status": {
41
+ "purpose": {
61
42
  "type": "string",
62
- "description": "Status of the resource.",
43
+ "description": "A summary of intentions for which the resource was created.",
63
44
  "translation": {
64
- "ISO 19115-2": ["MD_DataIdentification > status [MD_ProgressCode]"],
65
- "FGDC CSDGM": ["idinfo > status > progress"]
45
+ "ISO 19115-2": ["MD_DataIdentification > purpose"],
46
+ "FGDC CSDGM": ["idinfo > descript > purpose"]
66
47
  }
67
48
  },
68
- "hasMapLocation": {
69
- "type": "boolean",
70
- "description": "A flag indicating that a resource has a geographic location associated with it and therefore can be located using a map interface."
71
- },
72
- "hasDataAvailable": {
73
- "type": "boolean",
74
- "description": "A flag to indicate whether data for this resource is available for distribution."
75
- },
76
- "language": {
77
- "type": "array",
78
- "deprecated": true,
79
- "description": "Language(s) used within the resource. Should be a valid ISO 639-3 code. NOTE:This property has been deprecated in favor of 'locale'.",
49
+ "timePeriod": {
50
+ "description": "Time period for the resource, e.g. project start and end date(s).",
80
51
  "translation": {
81
- "ISO 19115-2": ["MD_DataIdentification > language"]
52
+ "ISO 19115-2": ["EX_Extent > temporalElement > EX_TemporalExtent > extent > TimePeriod"]
82
53
  },
83
- "items": {
84
- "type": "string"
85
- }
54
+ "$ref": "./timePeriod.json#"
86
55
  },
87
- "characterSet": {
56
+ "credit": {
88
57
  "type": "array",
89
- "deprecated": true,
90
- "description": "Full name of the character encoding standard used by the resource. NOTE:This property has been deprecated in favor of 'locale'.",
58
+ "description": "A narrative identification of additional resources credited for the resource.",
91
59
  "translation": {
92
- "ISO 19115-2": ["MD_DataIdentification > characterSet [MD_CharacterSetCode]"]
60
+ "ISO 19115-2": ["MD_DataIdentification > credit"],
61
+ "FGDC CSDGM": ["idinfo > datacred"]
93
62
  },
94
63
  "items": {
95
64
  "type": "string"
96
65
  }
97
66
  },
98
- "locale": {
99
- "type": "array",
100
- "description": "Localised language(s) and characterset(s) used within the resource.",
101
- "items": {
102
- "$ref": "locale.json"
103
- }
104
- },
105
- "purpose": {
106
- "type": "string",
107
- "description": "A summary of intentions for which the resource was created.",
108
- "translation": {
109
- "ISO 19115-2": ["MD_DataIdentification > purpose"],
110
- "FGDC CSDGM": ["idinfo > descript > purpose"]
111
- }
112
- },
113
- "credit": {
67
+ "status": {
114
68
  "type": "array",
115
- "description": "A narrative identification of additional resources credited for the resource.",
69
+ "description": "Status of the resource.",
116
70
  "translation": {
117
- "ISO 19115-2": ["MD_DataIdentification > credit"],
118
- "FGDC CSDGM": ["idinfo > datacred"]
71
+ "ISO 19115-2": ["MD_DataIdentification > status [MD_ProgressCode]"],
72
+ "FGDC CSDGM": ["idinfo > status > progress"]
119
73
  },
120
74
  "items": {
121
75
  "type": "string"
@@ -131,109 +85,86 @@
131
85
  "type": "string"
132
86
  }
133
87
  },
134
- "environmentDescription": {
135
- "type": "string",
136
- "description": "Description of the dataset in the producer's processing environment, including items such as the software, the computer, the computer operating system, file name, and the dataset size.",
88
+ "pointOfContact": {
89
+ "type": "array",
90
+ "description": "Identification of, and means of communication with, person(s) and organizations that may be contacted for acquiring knowledge about or acquisition of the resource.",
137
91
  "translation": {
138
- "ISO 19115-2": ["MD_DataIdentification > environmentDescription"],
139
- "FGDC CSDGM": ["idinfo > native"]
92
+ "ISO 19115-2": ["MD_DataIdentification > pointOfContact"]
93
+ },
94
+ "minItems": 1,
95
+ "uniqueItems": true,
96
+ "items": {
97
+ "$ref": "./responsibility.json#"
140
98
  }
141
99
  },
142
- "resourceNativeFormat": {
100
+ "spatialReferenceSystem": {
143
101
  "type": "array",
144
- "description": "Provides a description of the format of the resource(s).",
102
+ "description": "Geospatial referencing system used in the the data resource. The reference can be provided by an EPSG number, a named reference, or providing the parameters in a well known text (WKT) format.",
103
+ "example": "",
145
104
  "translation": {
146
- "ISO 19115-2": ["MD_DataIdentification > resourceFormat > MD_Format"]
105
+ "ISO 19115-2": ["MD_Metadata > referenceSystemInfo > MD_ReferenceSystem > referenceSystemIdentifier > RS_Identifier > code"]
147
106
  },
148
- "minItems": 1,
149
- "uniqueItems": true,
150
107
  "items": {
151
- "$ref": "distributor.json#/definitions/format"
108
+ "$ref": "./spatialReference.json#"
152
109
  }
153
110
  },
154
- "keyword": {
111
+ "spatialRepresentationType": {
155
112
  "type": "array",
156
- "description": "Provides category keywords, their type, and reference source.",
113
+ "description": "Format of the resource geographic extent, such as: vector, grid, etc.",
157
114
  "translation": {
158
- "ISO 19115-2": ["MD_DataIdentification > descriptiveKeywords > MD_Keywords"],
159
- "FGDC CSDGM": ["idinfo > keywords"]
115
+ "ISO 19115-2": ["MD_DataIdenification > spatialRepresentationType [MD_SpatialRepresentationTypeCode]"],
116
+ "FGDC CSDGM": ["spdoinfo"]
160
117
  },
161
- "uniqueItems": true,
162
118
  "items": {
163
- "$ref": "keyword.json"
119
+ "type": "string"
164
120
  }
165
121
  },
166
- "resourceMaintenance": {
122
+ "spatialRepresentation": {
167
123
  "type": "array",
168
- "description": "Information about the maintenance of the resource.",
124
+ "description": "Method used to spatially represent geographic information.",
169
125
  "translation": {
170
- "ISO 19115-2": ["MD_DataIdentification > resourceMaintenance > MD_MaintenanceInformation"]
126
+ "ISO 19115-2": ["MD_GridSpatialRepresentation"]
171
127
  },
172
128
  "items": {
173
- "$ref": "maintInfo.json#"
129
+ "$ref": "./spatialRepresentation.json#"
174
130
  }
175
131
  },
176
- "resourceSpecificUsage": {
132
+ "spatialResolution": {
177
133
  "type": "array",
178
- "description": "Description of ways in which the resource is currently or has been used.",
134
+ "description": "Information about the scale of the geographic extent.",
179
135
  "translation": {
180
- "ISO 19115-2": ["MD_DataIdentification > resourceSpecificUsage > MD_Usage"]
136
+ "ISO 19115-2": ["MD_DataIdenification > spatialResolution > MD_Resolution"]
181
137
  },
182
- "uniqueItems": true,
183
138
  "items": {
184
- "$ref": "usage.json"
139
+ "$ref": "./spatialResolution.json#"
185
140
  }
186
141
  },
187
- "graphicOverview": {
142
+ "temporalResolution": {
188
143
  "type": "array",
189
- "description": "Provides a path or link to images, maps, flow charts, models, etc. that illustrate the resource.",
144
+ "description": "Information about the termporal period of the resource.",
145
+ "translation": {},
146
+ "items": {
147
+ "$ref": "./timePeriod.json#/definitions/duration"
148
+ }
149
+ },
150
+ "extent": {
151
+ "type": "array",
152
+ "description": "Information about the geographic, vertical, and temporal extent of the resource. A resource may have multiple extents.",
190
153
  "translation": {
191
- "ISO 19115-2": ["MD_DataIdentification > graphicOverview > MD_BrowseGraphic"]
154
+ "ISO 19115-2": ["MD_DataIdentification > extent > EX_Extent"]
192
155
  },
193
156
  "items": {
194
- "$ref": "graphicOverview.json#"
157
+ "$ref": "extent.json"
195
158
  }
196
159
  },
197
- "constraint": {
198
- "type": "object",
199
- "description": "Provides information about constraints to the use of the resource.",
160
+ "coverageDescription": {
161
+ "type": "array",
162
+ "description": "Details about the content of a raster(grid) resource.",
200
163
  "translation": {
201
- "ISO 19115-2": ["MD_DataIdentification > resourceConstraints"]
164
+ "ISO 19115-2": ["MI_Metadata > contentInfo"]
202
165
  },
203
- "properties": {
204
- "useLimitation": {
205
- "type": "array",
206
- "description": "Limitation affecting the fitness for use of the resource or metadata. For example, \"not to be used for navigation\".",
207
- "example": "../../examples/full_example.json#/metadata/resourceInfo/constraint",
208
- "translation": {
209
- "ISO 19115-2": ["MD_DataIdentification > resourceConstraints > MD_Constraints[useLimitation]"]
210
- },
211
- "items": {
212
- "$ref": "resourceConstraint.json#/definitions/useLimitation"
213
- }
214
- },
215
- "legalConstraint": {
216
- "type": "array",
217
- "description": "Restrictions and legal prerequisites for accessing and using the resource or metadata.",
218
- "example": "../../examples/full_example.json#/metadata/resourceInfo/constraint/legalConstraint",
219
- "translation": {
220
- "ISO 19115-2": ["MI_Metadata > resourceConstraints > MD_LegalConstraints"]
221
- },
222
- "items": {
223
- "$ref": "resourceConstraint.json#/definitions/legalConstraint"
224
- }
225
- },
226
- "securityConstraint": {
227
- "type": "array",
228
- "description": "Handling restrictions imposed on the resource or metadata for national security or similar security concerns.",
229
- "example": "../../examples/full_example.json#/metadata/resourceInfo/constraint/securityConstraint",
230
- "translation": {
231
- "ISO 19115-2": ["MI_Metadata > resourceConstraints > MD_SecurityConstraints"]
232
- },
233
- "items": {
234
- "$ref": "resourceConstraint.json#/definitions/securityConstraint"
235
- }
236
- }
166
+ "items": {
167
+ "$ref": "./coverageDescription.json"
237
168
  }
238
169
  },
239
170
  "taxonomy": {
@@ -243,97 +174,89 @@
243
174
  },
244
175
  "$ref": "taxonomy.json"
245
176
  },
246
- "spatialReferenceSystem": {
247
- "description": "Geospatial referencing system used in the the data resource. The reference can be provided by an EPSG number, a named reference, or providing the parameters in a well known text (WKT) format.",
248
- "example": "../../examples/spatialRef.json",
177
+ "graphicOverview": {
178
+ "type": "array",
179
+ "description": "Provides a path or link to images, maps, flow charts, models, etc. that illustrate the resource.",
249
180
  "translation": {
250
- "ISO 19115-2": ["MD_Metadata > referenceSystemInfo > MD_ReferenceSystem > referenceSystemIdentifier > RS_Identifier > code"]
181
+ "ISO 19115-2": ["MD_DataIdentification > graphicOverview > MD_BrowseGraphic"]
251
182
  },
252
- "type": "object",
253
- "properties": {
254
- "name": {
255
- "type": "array",
256
- "description": "A recognized reference system name.",
257
- "items": {
258
- "type": "string"
259
- }
260
- },
261
- "epsgNumber": {
262
- "type": "array",
263
- "description": "The EPSG Geodetic Parameter Dataset of the reference system, see epsg-registry.org.",
264
- "items": {
265
- "type": "integer"
266
- }
267
- },
268
- "wkt": {
269
- "type": "array",
270
- "description": "Well-known text representation of the reference system.",
271
- "items": {
272
- "type": "string"
273
- }
274
- }
183
+ "items": {
184
+ "$ref": "graphic.json#"
275
185
  }
276
186
  },
277
- "spatialRepresentation": {
187
+ "resourceFormat": {
278
188
  "type": "array",
279
- "description": "Format of the resource geographic extent, such as: vector, grid, etc.",
189
+ "description": "Provides a description of the format of the resource.",
280
190
  "translation": {
281
- "ISO 19115-2": ["MD_DataIdenification > spatialRepresentationType [MD_SpatialRepresentationTypeCode]"],
282
- "FGDC CSDGM": ["spdoinfo"]
191
+ "ISO 19115-2": ["MD_DataIdentification > resourceFormat > MD_Format"]
283
192
  },
193
+ "minItems": 1,
194
+ "uniqueItems": true,
284
195
  "items": {
285
- "type": "string"
196
+ "$ref": "./format.json#"
286
197
  }
287
198
  },
288
- "spatialResolution": {
199
+ "keyword": {
289
200
  "type": "array",
290
- "description": "Information about the scale of the geographic extent.",
201
+ "description": "Provides category keywords, their type, and reference source.",
291
202
  "translation": {
292
- "ISO 19115-2": ["MD_DataIdenification > spatialResolution > MD_Resolution"]
203
+ "ISO 19115-2": ["MD_DataIdentification > descriptiveKeywords > MD_Keywords"],
204
+ "FGDC CSDGM": ["idinfo > keywords"]
293
205
  },
206
+ "uniqueItems": true,
294
207
  "items": {
295
- "$ref": "resolution.json"
208
+ "$ref": "keyword.json"
296
209
  }
297
210
  },
298
- "extent": {
211
+ "resourceUsage": {
299
212
  "type": "array",
300
- "description": "Information about the geographic, vertical, and temporal extent of the resource. A resource may have multiple extents.",
213
+ "description": "Description of ways in which the resource is currently or has been used.",
301
214
  "translation": {
302
- "ISO 19115-2": ["MD_DataIdentification > extent > EX_Extent"]
215
+ "ISO 19115-2": ["MD_DataIdentification > resourceSpecificUsage > MD_Usage"]
303
216
  },
217
+ "uniqueItems": true,
304
218
  "items": {
305
- "$ref": "extent.json"
219
+ "$ref": "usage.json"
306
220
  }
307
221
  },
308
- "gridInfo": {
222
+ "constraint": {
309
223
  "type": "array",
310
- "description": "Information about grid objects in the resource.",
224
+ "description": "Provides information about constraints to the use of the resource.",
311
225
  "translation": {
312
- "ISO 19115-2": ["MD_GridSpatialRepresentation"]
226
+ "ISO 19115-2": ["MD_DataIdentification > resourceConstraints"]
313
227
  },
314
228
  "items": {
315
- "$ref": "gridInfo.json"
229
+ "$ref": "./constraint.json#"
316
230
  }
317
231
  },
318
- "coverageInfo": {
232
+ "defaultResourceLocale": {
233
+ "description": "Localised language(s) and characterset(s) used within the resource.",
234
+ "$ref": "./locale.json#"
235
+
236
+ },
237
+ "otherResourceLocale": {
319
238
  "type": "array",
320
- "description": "Details about the content of a raster(grid) resource.",
321
- "translation": {
322
- "ISO 19115-2": ["MI_Metadata > contentInfo"]
323
- },
239
+ "description": "Alternate localised language(s) and characterset(s) used within the resource.",
324
240
  "items": {
325
- "$ref": "coverageInfo.json"
241
+ "$ref": "./locale.json#"
326
242
  }
327
243
  },
328
- "dataQualityInfo": {
244
+ "resourceMaintenance": {
329
245
  "type": "array",
330
- "description": "Information that describes the data quality, lineage, and/or processing steps that were applied to the whole or part of the data resource.",
246
+ "description": "Information about the maintenance of the resource.",
331
247
  "translation": {
332
- "ISO 19115-2": ["MI_Metadata > dataQualityInfo > DQ_DataQuality"],
333
- "FGDC CSDGM": ["dataqual"]
248
+ "ISO 19115-2": ["MD_DataIdentification > resourceMaintenance > MD_MaintenanceInformation"]
334
249
  },
335
250
  "items": {
336
- "$ref": "dataQuality.json#"
251
+ "$ref": "maintInfo.json#"
252
+ }
253
+ },
254
+ "environmentDescription": {
255
+ "type": "string",
256
+ "description": "Description of the dataset in the producer's processing environment, including items such as the software, the computer, the computer operating system, file name, and the dataset size.",
257
+ "translation": {
258
+ "ISO 19115-2": ["MD_DataIdentification > environmentDescription"],
259
+ "FGDC CSDGM": ["idinfo > native"]
337
260
  }
338
261
  },
339
262
  "supplementalInfo": {
@@ -344,4 +267,4 @@
344
267
  }
345
268
  }
346
269
  }
347
- }
270
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "responsibility.json#",
4
+ "type": "object",
5
+ "description": "Identifies contact role(s).",
6
+ "required": ["role", "party"],
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "role": {
10
+ "type": "string",
11
+ "description": "Function performed by the contact in the current context.",
12
+ "translation": {
13
+ "ISO 19115-2": [
14
+ "MI_Metadata > Contact > CI_Contact > role [CI_RoleCode]"
15
+ ],
16
+ "FGDC CSDGM": ["metainfo > cntinfo > cntpos"]
17
+ },
18
+ "minLength": 1
19
+ },
20
+ "timePeriod": {
21
+ "type": "array",
22
+ "description": "The period of time for which the role is valid.",
23
+ "example": "",
24
+ "translation": {},
25
+ "items": {
26
+ "$ref": "./timePeriod.json#"
27
+ }
28
+ },
29
+ "party": {
30
+ "type": "array",
31
+ "description": "Identifies all the contacts associated with the role.",
32
+ "example": "",
33
+ "translation": {},
34
+ "minItems": 1,
35
+ "items": {
36
+ "type": "object",
37
+ "required": ["contactId"],
38
+ "properties": {
39
+ "contactId": {
40
+ "type": "string",
41
+ "description": "Identifier matching a contactId in the main contact array."
42
+ },
43
+ "organizationMembers": {
44
+ "type": "array",
45
+ "description": "Identifies individuals that have an association with an organization contact.",
46
+ "example": "",
47
+ "translation": {},
48
+ "items": {
49
+ "type": "string"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
data/schema/schema.json CHANGED
@@ -1,36 +1,42 @@
1
1
  {
2
2
  "id": "schema.json#",
3
3
  "$schema": "http://json-schema.org/draft-04/schema#",
4
- "version": "1.1.0",
4
+ "version": "2.0.0-beta",
5
5
  "description": "schema for ADIwg mdJSON metadata",
6
6
  "type": "object",
7
- "required": ["version", "contact", "metadata"],
7
+ "required": ["schema", "contact", "metadata"],
8
8
  "properties": {
9
- "version": {
9
+ "schema": {
10
10
  "type": "object",
11
11
  "description": "Identifies the version of the JSON schema standard that applies to the metadata.",
12
- "example": "../examples/full_example.json#/version",
12
+ "example": "",
13
13
  "required": ["name", "version"],
14
14
  "additionalProperties": true,
15
15
  "properties": {
16
16
  "name": {
17
17
  "type": "string",
18
- "example": "../examples/full_example.json#/version",
18
+ "example": "",
19
19
  "description": "Schema identifier, i.e. the name of the schema standard."
20
20
  },
21
21
  "version": {
22
22
  "type": "string",
23
- "example": "../examples/full_example.json#/version",
23
+ "example": "",
24
24
  "description": "Specific version number of the schema standard.",
25
25
  "pattern": "[0-9]\\.[0-9]\\.[0-9]"
26
26
  }
27
27
  }
28
28
  },
29
29
  "contact": {
30
- "$ref": "schema/contact.json"
30
+ "type": "array",
31
+ "description": "An array of contacts to be referenced throughout the metadata. Any contact used in the metadata record must be stored within this array and referenced by contactId. Items in array may be used 0-n times throughout the record.",
32
+ "minItems": 1,
33
+ "uniqueItems": true,
34
+ "items": {
35
+ "$ref": "contact.json"
36
+ }
31
37
  },
32
38
  "metadata": {
33
- "$ref": "schema/metadata.json"
39
+ "$ref": "metadata.json"
34
40
  },
35
41
  "dataDictionary": {
36
42
  "type": "array",
@@ -38,31 +44,10 @@
38
44
  "translation": {
39
45
  "ISO 19115-2": ["FC_FeatureCatalogue"]
40
46
  },
41
- "example": "../examples/full_example.json#/dataDictionary",
47
+ "example": "",
42
48
  "items": {
43
- "$ref": "schema/dataDictionary.json"
49
+ "$ref": "dataDictionary.json"
44
50
  }
45
51
  }
46
- },
47
- "definitions": {
48
- "url": {
49
- "type": "string",
50
- "pattern": "(https?|ftp):\\/\\/(-\\.)?([^\\s\\/?\\.#-]+\\.?)+(\\/[^\\s]*)?$"
51
- },
52
- "uri": {
53
- "type": "string",
54
- "description": "Location (address) for on-line access using a Uniform Resource Identifier, usually in the form of a Uniform Resource Locator (URL).",
55
- "example": "../examples/uri.json",
56
- "translation": {
57
- "ISO 19115-2": ["CI_OnlineResource > linkage"]
58
- },
59
- "pattern": "([A-Za-z][A-Za-z0-9+\\-.]*):(?:(//)(?:((?:[A-Za-z0-9\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*)@)?((?:\\[(?:(?:(?:(?:[0-9A-Fa-f]{1,4}:){6}|::(?:[0-9A-Fa-f]{1,4}:){5}|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::)(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)|[Vv][0-9A-Fa-f]+\\.[A-Za-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[A-Za-z0-9\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*))(?::([0-9]*))?((?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)|/((?:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?)|((?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)|)(?:\\?((?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})*))?(?:\\#((?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})*))?"
60
- },
61
- "date": {
62
- "type": "string",
63
- "description": "An ISO 8601 date/timestamp.",
64
- "example": "../examples/date.json",
65
- "pattern": "^(\\d{4}(-\\d{2})?(-\\d{2})?$)|(^\\d{4}-\\d{2}-\\d{2}(T\\d{2})?(\\:\\d{2}(\\:\\d{2}(\\.\\d+)?)?|Z)?(Z|(-|\\+)\\d{2}(:\\d{2})?)?$)"
66
- }
67
52
  }
68
53
  }