adiwg-mdjson_schemas 1.0.0rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +7 -0
  4. data/CREDITS +3 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +24 -0
  7. data/README.md +36 -0
  8. data/Rakefile +12 -0
  9. data/adiwg-json_schemas.gemspec +25 -0
  10. data/examples/additionalDocumentation.json +61 -0
  11. data/examples/address.json +10 -0
  12. data/examples/associatedResource.json +119 -0
  13. data/examples/citation.json +128 -0
  14. data/examples/contact.json +205 -0
  15. data/examples/contactRef.json +12 -0
  16. data/examples/dataDictionary.json +547 -0
  17. data/examples/dataQuality.json +272 -0
  18. data/examples/date.json +19 -0
  19. data/examples/distributor.json +113 -0
  20. data/examples/extent_linestring.json +288 -0
  21. data/examples/extent_point.json +246 -0
  22. data/examples/extent_polygon.json +353 -0
  23. data/examples/format.json +14 -0
  24. data/examples/full_example.json +2844 -0
  25. data/examples/full_example2.json +2325 -0
  26. data/examples/geojson.json +446 -0
  27. data/examples/graphicOverview.json +28 -0
  28. data/examples/hierarchyLevel.json +90 -0
  29. data/examples/keywords.json +144 -0
  30. data/examples/lcc_project_example.json +326 -0
  31. data/examples/legalConstraints.json +17 -0
  32. data/examples/maintInfo.json +34 -0
  33. data/examples/metadataInfo.json +103 -0
  34. data/examples/minimum_example.json +35 -0
  35. data/examples/onlineResource.json +17 -0
  36. data/examples/resolution.json +9 -0
  37. data/examples/resourceInfo.json +1264 -0
  38. data/examples/resourceMaintenance.json +10 -0
  39. data/examples/securityConstraints.json +13 -0
  40. data/examples/spatialRef.json +14 -0
  41. data/examples/taxonomy.json +197 -0
  42. data/examples/temporalElement.json +29 -0
  43. data/examples/uri.json +16 -0
  44. data/examples/usage.json +35 -0
  45. data/examples/verticalExtent.json +18 -0
  46. data/lib/adiwg-mdjson_schemas.rb +1 -0
  47. data/lib/adiwg/mdjson_schemas.rb +7 -0
  48. data/lib/adiwg/mdjson_schemas/utils.rb +20 -0
  49. data/lib/adiwg/mdjson_schemas/validator.rb +42 -0
  50. data/lib/adiwg/mdjson_schemas/version.rb +6 -0
  51. data/schema/schema.json +64 -0
  52. data/schema/schema/citation.json +186 -0
  53. data/schema/schema/contact.json +255 -0
  54. data/schema/schema/dataDictionary.json +209 -0
  55. data/schema/schema/dataQuality.json +159 -0
  56. data/schema/schema/distributor.json +171 -0
  57. data/schema/schema/extent.json +214 -0
  58. data/schema/schema/geojson/bbox.json +14 -0
  59. data/schema/schema/geojson/crs.json +99 -0
  60. data/schema/schema/geojson/geojson.json +194 -0
  61. data/schema/schema/geojson/geometry.json +203 -0
  62. data/schema/schema/graphicOverview.json +42 -0
  63. data/schema/schema/keyword.json +39 -0
  64. data/schema/schema/maintInfo.json +43 -0
  65. data/schema/schema/metadata.json +173 -0
  66. data/schema/schema/onlineResource.json +42 -0
  67. data/schema/schema/resolution.json +51 -0
  68. data/schema/schema/resourceConstraint.json +108 -0
  69. data/schema/schema/resourceInfo.json +305 -0
  70. data/schema/schema/taxonomy.json +122 -0
  71. data/schema/schema/usage.json +39 -0
  72. data/templates/mdJson_template.json +1065 -0
  73. data/test/draft-04.json +189 -0
  74. data/test/tc_schemas.rb +210 -0
  75. data/test/tc_utils.rb +27 -0
  76. metadata +178 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: af3e09edfffe8a417c5600bd2dd5465dbe93c0f2
4
+ data.tar.gz: 992ce73d3a50d6a4bf95c1d858ce32f20b218b5b
5
+ SHA512:
6
+ metadata.gz: 311fe5dfc1516397b8ad227b81ce93a6cc6fa8f669cb7a09a2d017967b97c7fad38ce8e0ce73fc3c7e5f13d5aad6c5d7ef13f27f0c99141e42f84f3c20a46ee0
7
+ data.tar.gz: 7c1fa8f4c276b74dad4f42c049768c57e54b62c4b03127bc6bb73f9ec63c87eb3287e3649c2f751dd92386f987f9ab8d2105fcf8acd0b4744727b014aa59dfae
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .project
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
4
+ - 2.0.0
5
+ - 1.9.3
6
+ - jruby-19mode
7
+ - ruby-head
data/CREDITS ADDED
@@ -0,0 +1,3 @@
1
+ geojson
2
+ - Francis Galiegue, https://github.com/fge/sample-json-schemas/geojson
3
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in adiwg-json_schemas.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <http://unlicense.org>
@@ -0,0 +1,36 @@
1
+ [![Build Status](https://travis-ci.org/adiwg/mdJson-schemas.svg?branch=master)](https://travis-ci.org/adiwg/mdJson-schemas)
2
+
3
+ # mdJson-schemas
4
+
5
+
6
+ JSON schemas for the ADIwg project and data metadata standard
7
+
8
+ ## Ruby Gem
9
+
10
+ TODO: Write a gem description
11
+
12
+ ### Installation
13
+
14
+ Add this line to your application's Gemfile:
15
+
16
+ gem 'adiwg-json_schemas'
17
+
18
+ And then execute:
19
+
20
+ $ bundle
21
+
22
+ Or install it yourself as:
23
+
24
+ $ gem install adiwg-json_schemas
25
+
26
+ ### Usage
27
+
28
+ TODO: Write usage instructions here
29
+
30
+ ## Contributing
31
+
32
+ 1. Fork it
33
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
34
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
35
+ 4. Push to the branch (`git push origin my-new-feature`)
36
+ 5. Create new Pull Request
@@ -0,0 +1,12 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs << 'test'
7
+ t.test_files = FileList['test/tc*.rb']
8
+ t.verbose = true
9
+ end
10
+
11
+ desc "Run tests"
12
+ task :default => :test
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'adiwg/mdjson_schemas/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "adiwg-mdjson_schemas"
8
+ spec.version = ADIWG::MdjsonSchemas::VERSION
9
+ spec.authors = ["Josh Bradley, Stan Smith"]
10
+ spec.email = ["adiwg@adiwg.org"]
11
+ spec.description = %q{JSON schemas for validating according to the the ADIwg project and data metadata standard. The schemas comply with JSON Schema draft version 4.}
12
+ spec.summary = %q{JSON schemas for the ADIwg metadata standard}
13
+ spec.homepage = "https://github.com/adiwg/mdJson-schemas"
14
+ spec.license = "UNLICENSE"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features|)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake", ">= 0"
23
+ spec.add_development_dependency "json-schema", "~> 2.4.0"
24
+ spec.add_development_dependency "minitest", "~>5"
25
+ end
@@ -0,0 +1,61 @@
1
+ [
2
+ {
3
+ "resourceType": "resourceType",
4
+ "citation": {
5
+ "title": "title",
6
+ "date": [
7
+ {
8
+ "date": "1111-11-11",
9
+ "dateType": "dateType"
10
+ }
11
+ ],
12
+ "edition": "edition",
13
+ "responsibleParty": [
14
+ {
15
+ "contactId": "contactId",
16
+ "role": "role"
17
+ }
18
+ ],
19
+ "presentationForm": ["presentationForm"],
20
+ "identifier": [
21
+ {
22
+ "identifier": "identifier",
23
+ "type": "type",
24
+ "authority": {
25
+ "title": "title",
26
+ "date": [
27
+ {
28
+ "date": "1111-11-11",
29
+ "dateType": "dateType"
30
+ }
31
+ ],
32
+ "responsibleParty": [
33
+ {
34
+ "contactId": "contactId",
35
+ "role": "role"
36
+ }
37
+ ],
38
+ "onlineResource": [
39
+ {
40
+ "uri": "http://thisisanexample.com",
41
+ "protocol": "protocol",
42
+ "name": "name",
43
+ "description": "description",
44
+ "function": "function"
45
+ }
46
+ ]
47
+ }
48
+ }
49
+ ],
50
+ "onlineResource": [
51
+ {
52
+ "uri": "http://thisisanexample.com",
53
+ "protocol": "protocol",
54
+ "name": "name",
55
+ "description": "description",
56
+ "function": "function"
57
+ }
58
+ ]
59
+ }
60
+ }
61
+ ]
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "deliveryPoint": ["deliveryPoint1", "deliveryPoint2"],
4
+ "city": "city",
5
+ "administrativeArea": "administrativeArea",
6
+ "postalCode": "postalCode",
7
+ "country": "country",
8
+ "electronicMailAddress": ["example1@example.com", "example2@example.com"]
9
+ }
10
+ ]
@@ -0,0 +1,119 @@
1
+ [
2
+ {
3
+ "associationType": "associationType",
4
+ "initiativeType": "initiativeType",
5
+ "resourceType": "resourceType",
6
+ "resourceCitation": {
7
+ "title": "title",
8
+ "date": [
9
+ {
10
+ "date": "1111-11-11",
11
+ "dateType": "dateType"
12
+ }
13
+ ],
14
+ "edition": "edition",
15
+ "responsibleParty": [
16
+ {
17
+ "contactId": "contactId",
18
+ "role": "role"
19
+ }
20
+ ],
21
+ "presentationForm": ["presentationForm"],
22
+ "identifier": [
23
+ {
24
+ "identifier": "identifier",
25
+ "type": "type",
26
+ "authority": {
27
+ "title": "title",
28
+ "date": [
29
+ {
30
+ "date": "1111-11-11",
31
+ "dateType": "dateType"
32
+ }
33
+ ],
34
+ "responsibleParty": [
35
+ {
36
+ "contactId": "contactId",
37
+ "role": "role"
38
+ }
39
+ ],
40
+ "onlineResource": [
41
+ {
42
+ "uri": "http://thisisanexample.com",
43
+ "protocol": "protocol",
44
+ "name": "name",
45
+ "description": "description",
46
+ "function": "function"
47
+ }
48
+ ]
49
+ }
50
+ }
51
+ ],
52
+ "onlineResource": [
53
+ {
54
+ "uri": "http://thisisanexample.com",
55
+ "protocol": "protocol",
56
+ "name": "name",
57
+ "description": "description",
58
+ "function": "function"
59
+ }
60
+ ]
61
+ },
62
+ "metadataCitation": {
63
+ "title": "title",
64
+ "date": [
65
+ {
66
+ "date": "1111-11-11",
67
+ "dateType": "dateType"
68
+ }
69
+ ],
70
+ "edition": "edition",
71
+ "responsibleParty": [
72
+ {
73
+ "contactId": "contactId",
74
+ "role": "role"
75
+ }
76
+ ],
77
+ "presentationForm": ["presentationForm"],
78
+ "identifier": [
79
+ {
80
+ "identifier": "identifier",
81
+ "type": "type",
82
+ "authority": {
83
+ "title": "title",
84
+ "date": [
85
+ {
86
+ "date": "1111-11-11",
87
+ "dateType": "dateType"
88
+ }
89
+ ],
90
+ "responsibleParty": [
91
+ {
92
+ "contactId": "contactId",
93
+ "role": "role"
94
+ }
95
+ ],
96
+ "onlineResource": [
97
+ {
98
+ "uri": "http://thisisanexample.com",
99
+ "protocol": "protocol",
100
+ "name": "name",
101
+ "description": "description",
102
+ "function": "function"
103
+ }
104
+ ]
105
+ }
106
+ }
107
+ ],
108
+ "onlineResource": [
109
+ {
110
+ "uri": "http://thisisanexample.com",
111
+ "protocol": "protocol",
112
+ "name": "name",
113
+ "description": "description",
114
+ "function": "function"
115
+ }
116
+ ]
117
+ }
118
+ }
119
+ ]
@@ -0,0 +1,128 @@
1
+ [
2
+ {
3
+ "title": "title",
4
+ "date": [
5
+ {
6
+ "date": "1111-11-11",
7
+ "dateType": "dateType1"
8
+ }, {
9
+ "date": "1112-11-11",
10
+ "dateType": "dateType2"
11
+ }
12
+ ],
13
+ "edition": "edition",
14
+ "responsibleParty": [
15
+ {
16
+ "contactId": "contactId1",
17
+ "role": "role1"
18
+ }, {
19
+ "contactId": "contactId2",
20
+ "role": "role2"
21
+ }
22
+ ],
23
+ "presentationForm": ["presentationForm1", "presentationForm2"],
24
+ "identifier": [
25
+ {
26
+ "identifier": "identifier1",
27
+ "type": "type1",
28
+ "authority": {
29
+ "title": "title",
30
+ "date": [
31
+ {
32
+ "date": "1111-11-11",
33
+ "dateType": "dateType1"
34
+ }
35
+ ],
36
+ "responsibleParty": [
37
+ {
38
+ "contactId": "contactId1",
39
+ "role": "role1"
40
+ }
41
+ ],
42
+ "onlineResource": [
43
+ {
44
+ "uri": "http://thisisanexample1.com",
45
+ "protocol": "protocol1",
46
+ "name": "name1",
47
+ "description": "description1",
48
+ "function": "function1"
49
+ }
50
+ ]
51
+ }
52
+ }
53
+ ],
54
+ "onlineResource": [
55
+ {
56
+ "uri": "http://thisisanexample1.com",
57
+ "protocol": "protocol1",
58
+ "name": "name1",
59
+ "description": "description1",
60
+ "function": "function1"
61
+ },
62
+ {
63
+ "uri": "http://thisisanexample2.com",
64
+ "protocol": "protocol2",
65
+ "name": "name2",
66
+ "description": "description2",
67
+ "function": "function2"
68
+ }
69
+ ]
70
+ }, {
71
+ "title": "Project Tracking System",
72
+ "date": [
73
+ {
74
+ "date": "2013-03-13",
75
+ "dateType": "creation"
76
+ }
77
+ ]
78
+ }, {
79
+ "title": "Project Tracking System",
80
+ "date": [
81
+ {
82
+ "date": "2013-03-13",
83
+ "dateType": "creation"
84
+ }
85
+ ],
86
+ "responsibleParty": [
87
+ {
88
+ "contactId": "1",
89
+ "role": "originator"
90
+ }, {
91
+ "contactId": "2",
92
+ "role": "publisher"
93
+ }
94
+ ]
95
+ }, {
96
+ "title": "Project Tracking System",
97
+ "date": [
98
+ {
99
+ "date": "2011-11-11",
100
+ "dateType": "publication"
101
+ }, {
102
+ "date": "2013-03-13",
103
+ "dateType": "revision"
104
+ }
105
+ ],
106
+ "edition": "version 1.2.0",
107
+ "responsibleParty": [
108
+ {
109
+ "contactId": "1",
110
+ "role": "originator"
111
+ }, {
112
+ "contactId": "2",
113
+ "role": "publisher"
114
+ }
115
+ ],
116
+ "presentationForm": ["digitalDocument"],
117
+ "onlineResource": [
118
+ {
119
+ "uri": "http://dx.doi.org/10.1000/182"
120
+ }
121
+ ],
122
+ "additionalIdentifier": {
123
+ "doi": "10.1000/182",
124
+ "isbn": "HB12365.214",
125
+ "issn": "0ab4-dd983c01"
126
+ }
127
+ }
128
+ ]