uc3-dmp-id 0.0.140 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,1656 +3,1658 @@
3
3
  module Uc3DmpId
4
4
  module Schemas
5
5
  # The JSON schema for creating a new DMP ID
6
+ # rubocop:disable Layout/LineLength, Metrics/MethodLength, Metrics/ClassLength
6
7
  class Author
7
8
  class << self
8
9
  def load
9
10
  JSON.parse({
10
- "$id": "https://github.com/CDLUC3/dmp-hub-sam/layer/ruby/config/schemas/author.json",
11
- "title": "Data Management Plan (DMP)",
12
- "description": "JSON Schema for a Data Management Plan (DMP)",
13
- "type": "object",
14
- "properties": {
15
- "dmp": {
16
- "$id": "#/properties/dmp",
17
- "type": "object",
18
- "title": "The DMP Schema",
19
- "properties": {
20
- "contact": {
21
- "$id": "#/properties/dmp/properties/contact",
22
- "type": "object",
23
- "title": "The DMP Contact Schema",
24
- "properties": {
25
- "contact_id": {
26
- "$id": "#/properties/dmp/properties/contact/properties/contact_id",
27
- "type": "object",
28
- "title": "The Contact ID Schema",
29
- "properties": {
30
- "identifier": {
31
- "$id": "#/properties/dmp/properties/contact/properties/contact_id/properties/identifier",
32
- "type": "string",
33
- "title": "The DMP Contact Identifier Schema",
34
- "examples": ["https://orcid.org/0000-0000-0000-0000"]
11
+ '$id': 'https://github.com/CDLUC3/dmp-hub-sam/layer/ruby/config/schemas/author.json',
12
+ title: 'Data Management Plan (DMP)',
13
+ description: 'JSON Schema for a Data Management Plan (DMP)',
14
+ type: 'object',
15
+ properties: {
16
+ dmp: {
17
+ '$id': '#/properties/dmp',
18
+ type: 'object',
19
+ title: 'The DMP Schema',
20
+ properties: {
21
+ contact: {
22
+ '$id': '#/properties/dmp/properties/contact',
23
+ type: 'object',
24
+ title: 'The DMP Contact Schema',
25
+ properties: {
26
+ contact_id: {
27
+ '$id': '#/properties/dmp/properties/contact/properties/contact_id',
28
+ type: 'object',
29
+ title: 'The Contact ID Schema',
30
+ properties: {
31
+ identifier: {
32
+ '$id': '#/properties/dmp/properties/contact/properties/contact_id/properties/identifier',
33
+ type: 'string',
34
+ title: 'The DMP Contact Identifier Schema',
35
+ examples: ['https://orcid.org/0000-0000-0000-0000']
35
36
  },
36
- "type": {
37
- "$id": "#/properties/dmp/properties/contact/properties/contact_id/properties/type",
38
- "type": "string",
39
- "enum": [
40
- "orcid",
41
- "isni",
42
- "openid",
43
- "other"
37
+ type: {
38
+ '$id': '#/properties/dmp/properties/contact/properties/contact_id/properties/type',
39
+ type: 'string',
40
+ enum: %w[
41
+ orcid
42
+ isni
43
+ openid
44
+ other
44
45
  ],
45
- "title": "The DMP Contact Identifier Type Schema",
46
- "description": "Identifier type. Allowed values: orcid, isni, openid, other",
47
- "examples": ["orcid"]
46
+ title: 'The DMP Contact Identifier Type Schema',
47
+ description: 'Identifier type. Allowed values: orcid, isni, openid, other',
48
+ examples: ['orcid']
48
49
  }
49
50
  },
50
- "required": [
51
- "identifier",
52
- "type"
51
+ required: %w[
52
+ identifier
53
+ type
53
54
  ]
54
55
  },
55
- "dmproadmap_affiliation": {
56
- "$id": "#/properties/dmp/properties/contact/properties/dmproadmap_affiliation",
57
- "type": "object",
58
- "title": "The contact's affiliation",
59
- "properties": {
60
- "affiliation_id": {
61
- "$id": "#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/affiliation_id",
62
- "type": "object",
63
- "title": "The unique ID of the affiliation",
64
- "description": "The affiliation's ROR, Crossref funder ID or URL",
65
- "properties": {
66
- "identifier": {
67
- "$id": "#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/affiliation_id/properties/identifier",
68
- "type": "string",
69
- "title": "The affiliation ID",
70
- "description": "ROR ID, Crossref funder ID or URL. Recommended to use Research Organization Registry (ROR). See: https://ror.org",
71
- "examples": ["https://ror.org/03yrm5c26", "http://dx.doi.org/10.13039/100005595", "http://www.cdlib.org/"]
56
+ dmproadmap_affiliation: {
57
+ '$id': '#/properties/dmp/properties/contact/properties/dmproadmap_affiliation',
58
+ type: 'object',
59
+ title: "The contact's affiliation",
60
+ properties: {
61
+ affiliation_id: {
62
+ '$id': '#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/affiliation_id',
63
+ type: 'object',
64
+ title: 'The unique ID of the affiliation',
65
+ description: "The affiliation's ROR, Crossref funder ID or URL",
66
+ properties: {
67
+ identifier: {
68
+ '$id': '#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/affiliation_id/properties/identifier',
69
+ type: 'string',
70
+ title: 'The affiliation ID',
71
+ description: 'ROR ID, Crossref funder ID or URL. Recommended to use Research Organization Registry (ROR). See: https://ror.org',
72
+ examples: ['https://ror.org/03yrm5c26', 'http://dx.doi.org/10.13039/100005595', 'http://www.cdlib.org/']
72
73
  },
73
- "type": {
74
- "$id": "#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/affiliation_id/properties/type",
75
- "type": "string",
76
- "enum": [
77
- "doi",
78
- "ror",
79
- "url"
74
+ type: {
75
+ '$id': '#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/affiliation_id/properties/type',
76
+ type: 'string',
77
+ enum: %w[
78
+ doi
79
+ ror
80
+ url
80
81
  ],
81
- "title": "The affiliation ID type schema",
82
- "description": "Identifier type. Allowed values: doi, ror, url",
83
- "examples": ["ror"]
82
+ title: 'The affiliation ID type schema',
83
+ description: 'Identifier type. Allowed values: doi, ror, url',
84
+ examples: ['ror']
84
85
  }
85
86
  },
86
- "required": [
87
- "identifier",
88
- "type"
87
+ required: %w[
88
+ identifier
89
+ type
89
90
  ]
90
91
  },
91
- "name": {
92
- "$id": "#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/name",
93
- "type": "string",
94
- "title": "Name of the instituion/organization",
95
- "description": "Official institution/organization name",
96
- "examples": ["Example University"]
92
+ name: {
93
+ '$id': '#/properties/dmp/properties/contact/properties/dmproadmap_affiliation/properties/name',
94
+ type: 'string',
95
+ title: 'Name of the instituion/organization',
96
+ description: 'Official institution/organization name',
97
+ examples: ['Example University']
97
98
  }
98
99
  }
99
100
  },
100
- "mbox": {
101
- "$id": "#/properties/dmp/properties/contact/properties/mbox",
102
- "type": "string",
103
- "format": "email",
104
- "title": "The Mailbox Schema",
105
- "description": "Contact Person's E-mail address",
106
- "examples": ["cc@example.com"]
101
+ mbox: {
102
+ '$id': '#/properties/dmp/properties/contact/properties/mbox',
103
+ type: 'string',
104
+ format: 'email',
105
+ title: 'The Mailbox Schema',
106
+ description: "Contact Person's E-mail address",
107
+ examples: ['cc@example.com']
107
108
  },
108
- "name": {
109
- "$id": "#/properties/dmp/properties/contact/properties/name",
110
- "type": "string",
111
- "title": "The Name Schema",
112
- "description": "Name of the contact person as Last, First (e.g. 'Doe PhD., Jane A.' or 'Doe, Jane')",
113
- "examples": ["Doe, Jane"]
109
+ name: {
110
+ '$id': '#/properties/dmp/properties/contact/properties/name',
111
+ type: 'string',
112
+ title: 'The Name Schema',
113
+ description: "Name of the contact person as Last, First (e.g. 'Doe PhD., Jane A.' or 'Doe, Jane')",
114
+ examples: ['Doe, Jane']
114
115
  }
115
116
  },
116
- "required": [
117
- "contact_id",
118
- "mbox",
119
- "name"
117
+ required: %w[
118
+ contact_id
119
+ mbox
120
+ name
120
121
  ]
121
122
  },
122
- "contributor": {
123
- "$id": "#/properties/dmp/properties/contributor",
124
- "type": "array",
125
- "title": "The Contributor Schema",
126
- "items": {
127
- "$id": "#/properties/dmp/properties/contributor/items",
128
- "type": "object",
129
- "title": "The Contributor Items Schema",
130
- "properties": {
131
- "contributor_id": {
132
- "$id": "#/properties/dmp/properties/contributor/items/properties/contributor_id",
133
- "type": "object",
134
- "title": "The Contributor_id Schema",
135
- "properties": {
136
- "identifier": {
137
- "$id": "#/properties/dmp/properties/contributor/items/properties/contributor_id/properties/identifier",
138
- "type": "string",
139
- "title": "The Contributor Identifier Schema",
140
- "description": "Identifier for a contact person",
141
- "examples": ["http://orcid.org/0000-0000-0000-0000"]
123
+ contributor: {
124
+ '$id': '#/properties/dmp/properties/contributor',
125
+ type: 'array',
126
+ title: 'The Contributor Schema',
127
+ items: {
128
+ '$id': '#/properties/dmp/properties/contributor/items',
129
+ type: 'object',
130
+ title: 'The Contributor Items Schema',
131
+ properties: {
132
+ contributor_id: {
133
+ '$id': '#/properties/dmp/properties/contributor/items/properties/contributor_id',
134
+ type: 'object',
135
+ title: 'The Contributor_id Schema',
136
+ properties: {
137
+ identifier: {
138
+ '$id': '#/properties/dmp/properties/contributor/items/properties/contributor_id/properties/identifier',
139
+ type: 'string',
140
+ title: 'The Contributor Identifier Schema',
141
+ description: 'Identifier for a contact person',
142
+ examples: ['http://orcid.org/0000-0000-0000-0000']
142
143
  },
143
- "type": {
144
- "$id": "#/properties/dmp/properties/contributor/items/properties/contributor_id/properties/type",
145
- "type": "string",
146
- "enum": [
147
- "orcid",
148
- "isni",
149
- "openid",
150
- "other"
144
+ type: {
145
+ '$id': '#/properties/dmp/properties/contributor/items/properties/contributor_id/properties/type',
146
+ type: 'string',
147
+ enum: %w[
148
+ orcid
149
+ isni
150
+ openid
151
+ other
151
152
  ],
152
- "title": "The Contributor Identifier Type Schema",
153
- "description": "Identifier type. Allowed values: orcid, isni, openid, other",
154
- "examples": ["orcid"]
153
+ title: 'The Contributor Identifier Type Schema',
154
+ description: 'Identifier type. Allowed values: orcid, isni, openid, other',
155
+ examples: ['orcid']
155
156
  }
156
157
  },
157
- "required": [
158
- "identifier",
159
- "type"
158
+ required: %w[
159
+ identifier
160
+ type
160
161
  ]
161
162
  },
162
- "dmproadmap_affiliation": {
163
- "$id": "#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation",
164
- "type": "object",
165
- "title": "The contributor's affiliation",
166
- "properties": {
167
- "affiliation_id": {
168
- "$id": "#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/affiliation_id",
169
- "type": "object",
170
- "title": "The unique ID of the affiliation",
171
- "description": "The affiliation's ROR, Crossref funder ID or URL",
172
- "properties": {
173
- "identifier": {
174
- "$id": "#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/affiliation_id/properties/identifier",
175
- "type": "string",
176
- "title": "The affiliation ID",
177
- "description": "ROR ID, Crossref funder ID or URL. Recommended to use Research Organization Registry (ROR). See: https://ror.org",
178
- "examples": ["https://ror.org/03yrm5c26", "http://dx.doi.org/10.13039/100005595", "http://www.cdlib.org/"]
163
+ dmproadmap_affiliation: {
164
+ '$id': '#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation',
165
+ type: 'object',
166
+ title: "The contributor's affiliation",
167
+ properties: {
168
+ affiliation_id: {
169
+ '$id': '#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/affiliation_id',
170
+ type: 'object',
171
+ title: 'The unique ID of the affiliation',
172
+ description: "The affiliation's ROR, Crossref funder ID or URL",
173
+ properties: {
174
+ identifier: {
175
+ '$id': '#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/affiliation_id/properties/identifier',
176
+ type: 'string',
177
+ title: 'The affiliation ID',
178
+ description: 'ROR ID, Crossref funder ID or URL. Recommended to use Research Organization Registry (ROR). See: https://ror.org',
179
+ examples: ['https://ror.org/03yrm5c26', 'http://dx.doi.org/10.13039/100005595', 'http://www.cdlib.org/']
179
180
  },
180
- "type": {
181
- "$id": "#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/affiliation_id/properties/type",
182
- "type": "string",
183
- "enum": [
184
- "doi",
185
- "ror",
186
- "url"
181
+ type: {
182
+ '$id': '#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/affiliation_id/properties/type',
183
+ type: 'string',
184
+ enum: %w[
185
+ doi
186
+ ror
187
+ url
187
188
  ],
188
- "title": "The affiliation ID type schema",
189
- "description": "Identifier type. Allowed values: doi, ror, url",
190
- "examples": ["ror"]
189
+ title: 'The affiliation ID type schema',
190
+ description: 'Identifier type. Allowed values: doi, ror, url',
191
+ examples: ['ror']
191
192
  }
192
193
  },
193
- "required": [
194
- "identifier",
195
- "type"
194
+ required: %w[
195
+ identifier
196
+ type
196
197
  ]
197
198
  },
198
- "name": {
199
- "$id": "#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/name",
200
- "type": "string",
201
- "title": "Name of the instituion/organization",
202
- "description": "Official institution/organization name",
203
- "examples": ["Example University"]
199
+ name: {
200
+ '$id': '#/properties/dmp/properties/contributor/items/properties/dmproadmap_affiliation/properties/name',
201
+ type: 'string',
202
+ title: 'Name of the instituion/organization',
203
+ description: 'Official institution/organization name',
204
+ examples: ['Example University']
204
205
  }
205
206
  }
206
207
  },
207
- "mbox": {
208
- "$id": "#/properties/dmp/properties/contributor/items/properties/mbox",
209
- "type": "string",
210
- "title": "The Contributor Mailbox Schema",
211
- "description": "Contributor Mail address",
212
- "examples": ["john@smith.com"],
213
- "format": "email"
208
+ mbox: {
209
+ '$id': '#/properties/dmp/properties/contributor/items/properties/mbox',
210
+ type: 'string',
211
+ title: 'The Contributor Mailbox Schema',
212
+ description: 'Contributor Mail address',
213
+ examples: ['john@smith.com'],
214
+ format: 'email'
214
215
  },
215
- "name": {
216
- "$id": "#/properties/dmp/properties/contributor/items/properties/name",
217
- "type": "string",
218
- "title": "The Name Schema",
219
- "description": "Name of the contributor as Last, First (e.g. 'Doe PhD., Jane A.' or 'Doe, Jane')",
220
- "examples": ["Smith, John"]
216
+ name: {
217
+ '$id': '#/properties/dmp/properties/contributor/items/properties/name',
218
+ type: 'string',
219
+ title: 'The Name Schema',
220
+ description: "Name of the contributor as Last, First (e.g. 'Doe PhD., Jane A.' or 'Doe, Jane')",
221
+ examples: ['Smith, John']
221
222
  },
222
- "role": {
223
- "$id": "#/properties/dmp/properties/contributor/items/properties/role",
224
- "type": "array",
225
- "title": "The Role Schema",
226
- "description": "Type of contributor",
227
- "items": {
228
- "$id": "#/properties/dmp/properties/contributor/items/properties/role/items",
229
- "type": "string",
230
- "title": "The Contributor Role(s) Items Schema",
231
- "examples": ["Data Steward"]
223
+ role: {
224
+ '$id': '#/properties/dmp/properties/contributor/items/properties/role',
225
+ type: 'array',
226
+ title: 'The Role Schema',
227
+ description: 'Type of contributor',
228
+ items: {
229
+ '$id': '#/properties/dmp/properties/contributor/items/properties/role/items',
230
+ type: 'string',
231
+ title: 'The Contributor Role(s) Items Schema',
232
+ examples: ['Data Steward']
232
233
  },
233
- "uniqueItems": true
234
+ uniqueItems: true
234
235
  }
235
236
  },
236
- "required": [
237
- "name",
238
- "role"
237
+ required: %w[
238
+ name
239
+ role
239
240
  ]
240
241
  }
241
242
  },
242
- "cost": {
243
- "$id": "#/properties/dmp/properties/cost",
244
- "type": "array",
245
- "title": "The Cost Schema",
246
- "items": {
247
- "$id": "#/properties/dmp/properties/cost/items",
248
- "type": "object",
249
- "title": "The Cost Items Schema",
250
- "properties": {
251
- "currency_code": {
252
- "$id": "#/properties/dmp/properties/cost/items/properties/currency_code",
253
- "type": "string",
254
- "enum": [
255
- "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN",
256
- "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL",
257
- "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY",
258
- "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD",
259
- "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS",
260
- "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF",
261
- "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD",
262
- "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT",
263
- "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD",
264
- "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN",
265
- "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK",
266
- "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR",
267
- "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SPL*","SRD",
268
- "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY",
269
- "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF",
270
- "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR",
271
- "ZMW", "ZWD"
243
+ cost: {
244
+ '$id': '#/properties/dmp/properties/cost',
245
+ type: 'array',
246
+ title: 'The Cost Schema',
247
+ items: {
248
+ '$id': '#/properties/dmp/properties/cost/items',
249
+ type: 'object',
250
+ title: 'The Cost Items Schema',
251
+ properties: {
252
+ currency_code: {
253
+ '$id': '#/properties/dmp/properties/cost/items/properties/currency_code',
254
+ type: 'string',
255
+ enum: [
256
+ 'AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN',
257
+ 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL',
258
+ 'BSD', 'BTN', 'BWP', 'BYN', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY',
259
+ 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD',
260
+ 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS',
261
+ 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF',
262
+ 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD',
263
+ 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT',
264
+ 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD',
265
+ 'MMK', 'MNT', 'MOP', 'MRU', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN',
266
+ 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK',
267
+ 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR',
268
+ 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL*', 'SRD',
269
+ 'STN', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY',
270
+ 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF',
271
+ 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR',
272
+ 'ZMW', 'ZWD'
272
273
  ],
273
- "title": "The Cost Currency Code Schema",
274
- "description": "Allowed values defined by ISO 4217",
275
- "examples": ["EUR"]
274
+ title: 'The Cost Currency Code Schema',
275
+ description: 'Allowed values defined by ISO 4217',
276
+ examples: ['EUR']
276
277
  },
277
- "description": {
278
- "$id": "#/properties/dmp/properties/cost/items/properties/description",
279
- "type": "string",
280
- "title": "The Cost Description Schema",
281
- "description": "Cost(s) Description",
282
- "examples": ["Costs for maintaining..."]
278
+ description: {
279
+ '$id': '#/properties/dmp/properties/cost/items/properties/description',
280
+ type: 'string',
281
+ title: 'The Cost Description Schema',
282
+ description: 'Cost(s) Description',
283
+ examples: ['Costs for maintaining...']
283
284
  },
284
- "title": {
285
- "$id": "#/properties/dmp/properties/cost/items/properties/title",
286
- "type": "string",
287
- "title": "The Cost Title Schema",
288
- "description": "Title",
289
- "examples": ["Storage and Backup"]
285
+ title: {
286
+ '$id': '#/properties/dmp/properties/cost/items/properties/title',
287
+ type: 'string',
288
+ title: 'The Cost Title Schema',
289
+ description: 'Title',
290
+ examples: ['Storage and Backup']
290
291
  },
291
- "value": {
292
- "$id": "#/properties/dmp/properties/cost/items/properties/value",
293
- "type": "number",
294
- "title": "The Cost Value Schema",
295
- "description": "Value",
296
- "examples": [1000]
292
+ value: {
293
+ '$id': '#/properties/dmp/properties/cost/items/properties/value',
294
+ type: 'number',
295
+ title: 'The Cost Value Schema',
296
+ description: 'Value',
297
+ examples: [1000]
297
298
  }
298
299
  },
299
- "required": ["title"]
300
+ required: ['title']
300
301
  }
301
302
  },
302
- "created": {
303
- "$id": "#/properties/dmp/properties/created",
304
- "type": "string",
305
- "format": "date-time",
306
- "title": "The DMP Creation Schema",
307
- "description": "Date and time of the first version of a DMP. Must not be changed in subsequent DMPs. Encoded using the relevant ISO 8601 Date and Time compliant string",
308
- "examples": ["2019-03-13T13:13:00+00:00"]
303
+ created: {
304
+ '$id': '#/properties/dmp/properties/created',
305
+ type: 'string',
306
+ format: 'date-time',
307
+ title: 'The DMP Creation Schema',
308
+ description: 'Date and time of the first version of a DMP. Must not be changed in subsequent DMPs. Encoded using the relevant ISO 8601 Date and Time compliant string',
309
+ examples: ['2019-03-13T13:13:00+00:00']
309
310
  },
310
- "dataset": {
311
- "$id": "#/properties/dmp/properties/dataset",
312
- "type": "array",
313
- "title": "The Dataset Schema",
314
- "items": {
315
- "$id": "#/properties/dmp/properties/dataset/items",
316
- "type": "object",
317
- "title": "The Dataset Items Schema",
318
- "properties": {
319
- "data_quality_assurance": {
320
- "$id": "#/properties/dmp/properties/dataset/items/properties/data_quality_assurance",
321
- "type": "array",
322
- "title": "The Data Quality Assurance Schema",
323
- "description": "Data Quality Assurance",
324
- "items": {
325
- "$id": "#/properties/dmp/properties/dataset/items/properties/data_quality_assurance/items",
326
- "type": "string",
327
- "title": "The Data Quality Assurance Schema",
328
- "examples": ["We use file naming convention..."]
311
+ dataset: {
312
+ '$id': '#/properties/dmp/properties/dataset',
313
+ type: 'array',
314
+ title: 'The Dataset Schema',
315
+ items: {
316
+ '$id': '#/properties/dmp/properties/dataset/items',
317
+ type: 'object',
318
+ title: 'The Dataset Items Schema',
319
+ properties: {
320
+ data_quality_assurance: {
321
+ '$id': '#/properties/dmp/properties/dataset/items/properties/data_quality_assurance',
322
+ type: 'array',
323
+ title: 'The Data Quality Assurance Schema',
324
+ description: 'Data Quality Assurance',
325
+ items: {
326
+ '$id': '#/properties/dmp/properties/dataset/items/properties/data_quality_assurance/items',
327
+ type: 'string',
328
+ title: 'The Data Quality Assurance Schema',
329
+ examples: ['We use file naming convention...']
329
330
  }
330
331
  },
331
- "dataset_id": {
332
- "$id": "#/properties/dmp/properties/dataset/items/properties/dataset_id",
333
- "type": "object",
334
- "title": "The Dataset ID Schema",
335
- "description": "Dataset ID",
336
- "properties": {
337
- "identifier": {
338
- "$id": "#/properties/dmp/properties/dataset/items/properties/dataset_id/properties/identifier",
339
- "type": "string",
340
- "title": "The Dataset Identifier Schema",
341
- "description": "Identifier for a dataset",
342
- "examples": ["https://hdl.handle.net/11353/10.923628"]
332
+ dataset_id: {
333
+ '$id': '#/properties/dmp/properties/dataset/items/properties/dataset_id',
334
+ type: 'object',
335
+ title: 'The Dataset ID Schema',
336
+ description: 'Dataset ID',
337
+ properties: {
338
+ identifier: {
339
+ '$id': '#/properties/dmp/properties/dataset/items/properties/dataset_id/properties/identifier',
340
+ type: 'string',
341
+ title: 'The Dataset Identifier Schema',
342
+ description: 'Identifier for a dataset',
343
+ examples: ['https://hdl.handle.net/11353/10.923628']
343
344
  },
344
- "type": {
345
- "$id": "#/properties/dmp/properties/dataset/items/properties/dataset_id/properties/type",
346
- "type": "string",
347
- "enum": [
348
- "handle",
349
- "doi",
350
- "ark",
351
- "url",
352
- "other"
345
+ type: {
346
+ '$id': '#/properties/dmp/properties/dataset/items/properties/dataset_id/properties/type',
347
+ type: 'string',
348
+ enum: %w[
349
+ handle
350
+ doi
351
+ ark
352
+ url
353
+ other
353
354
  ],
354
- "title": "The Dataset Identifier Type Schema",
355
- "description": "Dataset identifier type. Allowed values: handle, doi, ark, url, other",
356
- "examples": ["handle"]
355
+ title: 'The Dataset Identifier Type Schema',
356
+ description: 'Dataset identifier type. Allowed values: handle, doi, ark, url, other',
357
+ examples: ['handle']
357
358
  }
358
359
  },
359
- "required": [
360
- "identifier",
361
- "type"
360
+ required: %w[
361
+ identifier
362
+ type
362
363
  ]
363
364
  },
364
- "description": {
365
- "$id": "#/properties/dmp/properties/dataset/items/properties/description",
366
- "type": "string",
367
- "title": "The Dataset Description Schema",
368
- "description": "Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.",
369
- "examples": ["Field observation"]
365
+ description: {
366
+ '$id': '#/properties/dmp/properties/dataset/items/properties/description',
367
+ type: 'string',
368
+ title: 'The Dataset Description Schema',
369
+ description: 'Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.',
370
+ examples: ['Field observation']
370
371
  },
371
- "distribution": {
372
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution",
373
- "type": "array",
374
- "title": "The Dataset Distribution Schema",
375
- "description": "To provide technical information on a specific instance of data.",
376
- "items": {
377
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items",
378
- "type": "object",
379
- "title": "The Dataset Distribution Items Schema",
380
- "properties": {
381
- "access_url": {
382
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/access_url",
383
- "type": "string",
384
- "title": "The Dataset Distribution Access URL Schema",
385
- "description": "A URL of the resource that gives access to a distribution of the dataset. e.g. landing page.",
386
- "examples": ["http://some.repo"]
372
+ distribution: {
373
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution',
374
+ type: 'array',
375
+ title: 'The Dataset Distribution Schema',
376
+ description: 'To provide technical information on a specific instance of data.',
377
+ items: {
378
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items',
379
+ type: 'object',
380
+ title: 'The Dataset Distribution Items Schema',
381
+ properties: {
382
+ access_url: {
383
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/access_url',
384
+ type: 'string',
385
+ title: 'The Dataset Distribution Access URL Schema',
386
+ description: 'A URL of the resource that gives access to a distribution of the dataset. e.g. landing page.',
387
+ examples: ['http://some.repo']
387
388
  },
388
- "available_until": {
389
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/available_until",
390
- "type": "string",
391
- "format": "date",
392
- "title": "The Dataset Distribution Available Until Schema",
393
- "description": "Indicates how long this distribution will be/ should be available. Encoded using the relevant ISO 8601 Date and Time compliant string.",
394
- "examples": ["2030-06-30"]
389
+ available_until: {
390
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/available_until',
391
+ type: 'string',
392
+ format: 'date',
393
+ title: 'The Dataset Distribution Available Until Schema',
394
+ description: 'Indicates how long this distribution will be/ should be available. Encoded using the relevant ISO 8601 Date and Time compliant string.',
395
+ examples: ['2030-06-30']
395
396
  },
396
- "byte_size": {
397
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/byte_size",
398
- "type": "integer",
399
- "title": "The Dataset Distribution Byte Size Schema",
400
- "description": "Size in bytes.",
401
- "examples": [690000]
397
+ byte_size: {
398
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/byte_size',
399
+ type: 'integer',
400
+ title: 'The Dataset Distribution Byte Size Schema',
401
+ description: 'Size in bytes.',
402
+ examples: [690_000]
402
403
  },
403
- "data_access": {
404
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/data_access",
405
- "type": "string",
406
- "enum": [
407
- "open",
408
- "shared",
409
- "closed"
404
+ data_access: {
405
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/data_access',
406
+ type: 'string',
407
+ enum: %w[
408
+ open
409
+ shared
410
+ closed
410
411
  ],
411
- "title": "The Dataset Distribution Data Access Schema",
412
- "description": "Indicates access mode for data. Allowed values: open, shared, closed",
413
- "examples": ["open"]
412
+ title: 'The Dataset Distribution Data Access Schema',
413
+ description: 'Indicates access mode for data. Allowed values: open, shared, closed',
414
+ examples: ['open']
414
415
  },
415
- "description": {
416
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/description",
417
- "type": "string",
418
- "title": "The Dataset Distribution Description Schema",
419
- "description": "Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.",
420
- "examples": ["Best quality data before resizing"]
416
+ description: {
417
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/description',
418
+ type: 'string',
419
+ title: 'The Dataset Distribution Description Schema',
420
+ description: 'Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.',
421
+ examples: ['Best quality data before resizing']
421
422
  },
422
- "download_url": {
423
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/download_url",
424
- "type": "string",
425
- "format": "uri",
426
- "title": "The Dataset Distribution Download URL Schema",
427
- "description": "The URL of the downloadable file in a given format. E.g. CSV file or RDF file.",
428
- "examples": ["http://example.com/download/abc123/download"]
423
+ download_url: {
424
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/download_url',
425
+ type: 'string',
426
+ format: 'uri',
427
+ title: 'The Dataset Distribution Download URL Schema',
428
+ description: 'The URL of the downloadable file in a given format. E.g. CSV file or RDF file.',
429
+ examples: ['http://example.com/download/abc123/download']
429
430
  },
430
- "format": {
431
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/format",
432
- "type": "array",
433
- "title": "The Dataset Distribution Format Schema",
434
- "description": "Format according to: https://www.iana.org/assignments/media-types/media-types.xhtml if appropriate, otherwise use the common name for this format.",
435
- "items": {
436
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/format/items",
437
- "type": "string",
438
- "title": "The Dataset Distribution Format Items Schema",
439
- "examples": ["image/tiff"]
431
+ format: {
432
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/format',
433
+ type: 'array',
434
+ title: 'The Dataset Distribution Format Schema',
435
+ description: 'Format according to: https://www.iana.org/assignments/media-types/media-types.xhtml if appropriate, otherwise use the common name for this format.',
436
+ items: {
437
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/format/items',
438
+ type: 'string',
439
+ title: 'The Dataset Distribution Format Items Schema',
440
+ examples: ['image/tiff']
440
441
  }
441
442
  },
442
- "host": {
443
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host",
444
- "type": "object",
445
- "title": "The Dataset Distribution Host Schema",
446
- "description": "To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.",
447
- "properties": {
448
- "availability": {
449
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/availability",
450
- "type": "string",
451
- "title": "The Dataset Distribution Host Availability Schema",
452
- "description": "Availability",
453
- "examples": ["99,5"]
443
+ host: {
444
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host',
445
+ type: 'object',
446
+ title: 'The Dataset Distribution Host Schema',
447
+ description: 'To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.',
448
+ properties: {
449
+ availability: {
450
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/availability',
451
+ type: 'string',
452
+ title: 'The Dataset Distribution Host Availability Schema',
453
+ description: 'Availability',
454
+ examples: ['99,5']
454
455
  },
455
- "backup_frequency": {
456
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/backup_frequency",
457
- "type": "string",
458
- "title": "The Dataset Distribution Host Backup Frequency Schema",
459
- "description": "Backup Frequency",
460
- "examples": ["weekly"]
456
+ backup_frequency: {
457
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/backup_frequency',
458
+ type: 'string',
459
+ title: 'The Dataset Distribution Host Backup Frequency Schema',
460
+ description: 'Backup Frequency',
461
+ examples: ['weekly']
461
462
  },
462
- "backup_type": {
463
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/backup_type",
464
- "type": "string",
465
- "title": "The Dataset Distribution Host Backup Type Schema",
466
- "description": "Backup Type",
467
- "examples": ["tapes"]
463
+ backup_type: {
464
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/backup_type',
465
+ type: 'string',
466
+ title: 'The Dataset Distribution Host Backup Type Schema',
467
+ description: 'Backup Type',
468
+ examples: ['tapes']
468
469
  },
469
- "certified_with": {
470
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/certified_with",
471
- "type": "string",
472
- "enum": [
473
- "din31644",
474
- "dini-zertifikat",
475
- "dsa",
476
- "iso16363",
477
- "iso16919",
478
- "trac",
479
- "wds",
480
- "coretrustseal"
470
+ certified_with: {
471
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/certified_with',
472
+ type: 'string',
473
+ enum: %w[
474
+ din31644
475
+ dini-zertifikat
476
+ dsa
477
+ iso16363
478
+ iso16919
479
+ trac
480
+ wds
481
+ coretrustseal
481
482
  ],
482
- "title": "The Dataset Distribution Host Certification Type Schema",
483
- "description": "Repository certified to a recognised standard. Allowed values: din31644, dini-zertifikat, dsa, iso16363, iso16919, trac, wds, coretrustseal",
484
- "examples": ["coretrustseal"]
483
+ title: 'The Dataset Distribution Host Certification Type Schema',
484
+ description: 'Repository certified to a recognised standard. Allowed values: din31644, dini-zertifikat, dsa, iso16363, iso16919, trac, wds, coretrustseal',
485
+ examples: ['coretrustseal']
485
486
  },
486
- "description": {
487
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/description",
488
- "type": "string",
489
- "title": "The Dataset Distribution Host Description Schema",
490
- "description": "Description",
491
- "examples": ["Repository hosted by..."]
487
+ description: {
488
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/description',
489
+ type: 'string',
490
+ title: 'The Dataset Distribution Host Description Schema',
491
+ description: 'Description',
492
+ examples: ['Repository hosted by...']
492
493
  },
493
- "dmproadmap_host_id": {
494
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/host_id",
495
- "type": "object",
496
- "title": "The Host ID",
497
- "description": "The unique identifier or URL for the host",
498
- "properties": {
499
- "identifier": {
500
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/host_id/properties/identifier",
501
- "type": "string",
502
- "title": "The Host Identifier",
503
- "description": "The Host URL or identifier",
504
- "examples": ["https://www.re3data.org/repository/r3d100000044", "https://example.host.org"]
494
+ dmproadmap_host_id: {
495
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/host_id',
496
+ type: 'object',
497
+ title: 'The Host ID',
498
+ description: 'The unique identifier or URL for the host',
499
+ properties: {
500
+ identifier: {
501
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/host_id/properties/identifier',
502
+ type: 'string',
503
+ title: 'The Host Identifier',
504
+ description: 'The Host URL or identifier',
505
+ examples: ['https://www.re3data.org/repository/r3d100000044', 'https://example.host.org']
505
506
  },
506
- "type": {
507
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/host_id/properties/type",
508
- "type": "string",
509
- "enum": [
510
- "handle",
511
- "doi",
512
- "ark",
513
- "url"
507
+ type: {
508
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/host_id/properties/type',
509
+ type: 'string',
510
+ enum: %w[
511
+ handle
512
+ doi
513
+ ark
514
+ url
514
515
  ],
515
- "title": "The Host Identifier Type Schema",
516
- "description": "Host identifier type. Allowed values: handle, doi, ark, url",
517
- "examples": ["url"]
516
+ title: 'The Host Identifier Type Schema',
517
+ description: 'Host identifier type. Allowed values: handle, doi, ark, url',
518
+ examples: ['url']
518
519
  }
519
520
  },
520
- "required": [
521
- "identifier",
522
- "type"
521
+ required: %w[
522
+ identifier
523
+ type
523
524
  ]
524
525
  },
525
- "geo_location": {
526
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/geo_location",
527
- "type": "string",
528
- "enum": [
529
- "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA",
530
- "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV",
531
- "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU",
532
- "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES",
533
- "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM",
534
- "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE",
535
- "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM",
536
- "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY",
537
- "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT",
538
- "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU",
539
- "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA",
540
- "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM",
541
- "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL",
542
- "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE",
543
- "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW"
526
+ geo_location: {
527
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/geo_location',
528
+ type: 'string',
529
+ enum: %w[
530
+ AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA
531
+ BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV
532
+ BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU
533
+ CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES
534
+ ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM
535
+ GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE
536
+ IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM
537
+ KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY
538
+ MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT
539
+ MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU
540
+ NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA
541
+ RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM
542
+ SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL
543
+ TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE
544
+ VG VI VN VU WF WS YE YT ZA ZM ZW
544
545
  ],
545
- "title": "The Dataset Distribution Host Geographical Location Schema",
546
- "description": "Physical location of the data expressed using ISO 3166-1 country code.",
547
- "examples": ["AT"]
546
+ title: 'The Dataset Distribution Host Geographical Location Schema',
547
+ description: 'Physical location of the data expressed using ISO 3166-1 country code.',
548
+ examples: ['AT']
548
549
  },
549
- "pid_system": {
550
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/pid_system",
551
- "type": "array",
552
- "title": "The Dataset Distribution Host PID System Schema",
553
- "description": "PID system(s). Allowed values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pmid, purl, upc, url, urn, other",
554
- "items": {
555
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/pid_system/items",
556
- "type": "string",
557
- "title": "The Dataset Distribution Host PID System Items Schema",
558
- "enum": [
559
- "ark",
560
- "arxiv",
561
- "bibcode",
562
- "doi",
563
- "ean13",
564
- "eissn",
565
- "handle",
566
- "igsn",
567
- "isbn",
568
- "issn",
569
- "istc",
570
- "lissn",
571
- "lsid",
572
- "pmid",
573
- "purl",
574
- "upc",
575
- "url",
576
- "urn",
577
- "other"
550
+ pid_system: {
551
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/pid_system',
552
+ type: 'array',
553
+ title: 'The Dataset Distribution Host PID System Schema',
554
+ description: 'PID system(s). Allowed values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pmid, purl, upc, url, urn, other',
555
+ items: {
556
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/pid_system/items',
557
+ type: 'string',
558
+ title: 'The Dataset Distribution Host PID System Items Schema',
559
+ enum: %w[
560
+ ark
561
+ arxiv
562
+ bibcode
563
+ doi
564
+ ean13
565
+ eissn
566
+ handle
567
+ igsn
568
+ isbn
569
+ issn
570
+ istc
571
+ lissn
572
+ lsid
573
+ pmid
574
+ purl
575
+ upc
576
+ url
577
+ urn
578
+ other
578
579
  ],
579
- "examples": ["doi"]
580
+ examples: ['doi']
580
581
  }
581
582
  },
582
- "storage_type": {
583
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/storage_type",
584
- "type": "string",
585
- "title": "The Dataset Distribution Host Storage Type Schema",
586
- "description": "The type of storage required",
587
- "examples": ["External Hard Drive"]
583
+ storage_type: {
584
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/storage_type',
585
+ type: 'string',
586
+ title: 'The Dataset Distribution Host Storage Type Schema',
587
+ description: 'The type of storage required',
588
+ examples: ['External Hard Drive']
588
589
  },
589
- "support_versioning": {
590
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/support_versioning",
591
- "type": "string",
592
- "enum": [
593
- "yes",
594
- "no",
595
- "unknown"
590
+ support_versioning: {
591
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/support_versioning',
592
+ type: 'string',
593
+ enum: %w[
594
+ yes
595
+ no
596
+ unknown
596
597
  ],
597
- "title": "The Dataset Distribution Host Support Versioning Schema",
598
- "description": "If host supports versioning. Allowed values: yes, no, unknown",
599
- "examples": ["yes"]
598
+ title: 'The Dataset Distribution Host Support Versioning Schema',
599
+ description: 'If host supports versioning. Allowed values: yes, no, unknown',
600
+ examples: ['yes']
600
601
  },
601
- "title": {
602
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/title",
603
- "type": "string",
604
- "title": "The Dataset Distribution Host Title Schema",
605
- "description": "Title",
606
- "examples": ["Super Repository"]
602
+ title: {
603
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/title',
604
+ type: 'string',
605
+ title: 'The Dataset Distribution Host Title Schema',
606
+ description: 'Title',
607
+ examples: ['Super Repository']
607
608
  },
608
- "url": {
609
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/url",
610
- "type": "string",
611
- "format": "uri",
612
- "title": "The Dataset Distribution Host Title Schema",
613
- "description": "The URL of the system hosting a distribution of a dataset",
614
- "examples": ["https://zenodo.org"]
609
+ url: {
610
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/host/properties/url',
611
+ type: 'string',
612
+ format: 'uri',
613
+ title: 'The Dataset Distribution Host Title Schema',
614
+ description: 'The URL of the system hosting a distribution of a dataset',
615
+ examples: ['https://zenodo.org']
615
616
  }
616
617
  },
617
- "required": [
618
- "title",
619
- "url"
618
+ required: %w[
619
+ title
620
+ url
620
621
  ]
621
622
  },
622
- "license": {
623
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license",
624
- "type": "array",
625
- "title": "The Dataset Distribution License(s) Schema",
626
- "description": "To list all licenses applied to a specific distribution of data.",
627
- "items": {
628
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license/items",
629
- "type": "object",
630
- "title": "The Dataset Distribution License Items",
631
- "properties": {
632
- "license_ref": {
633
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license/items/properties/license_ref",
634
- "type": "string",
635
- "format": "uri",
636
- "title": "The Dataset Distribution License Reference Schema",
637
- "description": "Link to license document.",
638
- "examples": ["https://creativecommons.org/licenses/by/4.0/"]
623
+ license: {
624
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license',
625
+ type: 'array',
626
+ title: 'The Dataset Distribution License(s) Schema',
627
+ description: 'To list all licenses applied to a specific distribution of data.',
628
+ items: {
629
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license/items',
630
+ type: 'object',
631
+ title: 'The Dataset Distribution License Items',
632
+ properties: {
633
+ license_ref: {
634
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license/items/properties/license_ref',
635
+ type: 'string',
636
+ format: 'uri',
637
+ title: 'The Dataset Distribution License Reference Schema',
638
+ description: 'Link to license document.',
639
+ examples: ['https://creativecommons.org/licenses/by/4.0/']
639
640
  },
640
- "start_date": {
641
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license/items/properties/start_date",
642
- "type": "string",
643
- "format": "date-time",
644
- "title": "The Dataset Distribution License Start Date Schema",
645
- "description": "If date is set in the future, it indicates embargo period. Encoded using the relevant ISO 8601 Date and Time compliant string.",
646
- "examples": ["2019-06-30"]
641
+ start_date: {
642
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/license/items/properties/start_date',
643
+ type: 'string',
644
+ format: 'date-time',
645
+ title: 'The Dataset Distribution License Start Date Schema',
646
+ description: 'If date is set in the future, it indicates embargo period. Encoded using the relevant ISO 8601 Date and Time compliant string.',
647
+ examples: ['2019-06-30']
647
648
  }
648
649
  },
649
- "required": [
650
- "license_ref",
651
- "start_date"
650
+ required: %w[
651
+ license_ref
652
+ start_date
652
653
  ]
653
654
  }
654
655
  },
655
- "title": {
656
- "$id": "#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/title",
657
- "type": "string",
658
- "title": "The Dataset Distribution Title Schema",
659
- "description": "Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.",
660
- "examples": ["Full resolution images"]
656
+ title: {
657
+ '$id': '#/properties/dmp/properties/dataset/items/properties/distribution/items/properties/title',
658
+ type: 'string',
659
+ title: 'The Dataset Distribution Title Schema',
660
+ description: 'Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.',
661
+ examples: ['Full resolution images']
661
662
  }
662
663
  },
663
- "required": [
664
- "data_access",
665
- "title"
664
+ required: %w[
665
+ data_access
666
+ title
666
667
  ]
667
668
  }
668
669
  },
669
- "issued": {
670
- "$id": "#/properties/dmp/properties/dataset/items/properties/issued",
671
- "type": "string",
672
- "format": "date-time",
673
- "title": "The Dataset Date of Issue Schema",
674
- "description": "Issued. Encoded using the relevant ISO 8601 Date and Time compliant string.",
675
- "examples": ["2019-06-30"]
670
+ issued: {
671
+ '$id': '#/properties/dmp/properties/dataset/items/properties/issued',
672
+ type: 'string',
673
+ format: 'date-time',
674
+ title: 'The Dataset Date of Issue Schema',
675
+ description: 'Issued. Encoded using the relevant ISO 8601 Date and Time compliant string.',
676
+ examples: ['2019-06-30']
676
677
  },
677
- "keyword": {
678
- "$id": "#/properties/dmp/properties/dataset/items/properties/keyword",
679
- "type": "array",
680
- "title": "The Dataset Keyword(s) Schema",
681
- "description": "Keywords",
682
- "items": {
683
- "$id": "#/properties/dmp/properties/dataset/items/properties/keyword/items",
684
- "type": "string",
685
- "title": "The Dataset Keyword Items Schema",
686
- "examples": ["keyword 1, keyword 2"]
678
+ keyword: {
679
+ '$id': '#/properties/dmp/properties/dataset/items/properties/keyword',
680
+ type: 'array',
681
+ title: 'The Dataset Keyword(s) Schema',
682
+ description: 'Keywords',
683
+ items: {
684
+ '$id': '#/properties/dmp/properties/dataset/items/properties/keyword/items',
685
+ type: 'string',
686
+ title: 'The Dataset Keyword Items Schema',
687
+ examples: ['keyword 1, keyword 2']
687
688
  }
688
689
  },
689
- "language": {
690
- "$id": "#/properties/dmp/properties/dataset/items/properties/language",
691
- "type": "string",
692
- "enum": [
693
- "aar", "abk", "afr", "aka", "amh", "ara", "arg", "asm", "ava", "ave", "aym", "aze", "bak", "bam", "bel", "ben", "bih", "bis", "bod", "bos",
694
- "bre", "bul", "cat", "ces", "cha", "che", "chu", "chv", "cor", "cos", "cre", "cym", "dan", "deu", "div", "dzo", "ell", "eng", "epo", "est",
695
- "eus", "ewe", "fao", "fas", "fij", "fin", "fra", "fry", "ful", "gla", "gle", "glg", "glv", "grn", "guj", "hat", "hau", "hbs", "heb", "her",
696
- "hin", "hmo", "hrv", "hun", "hye", "ibo", "ido", "iii", "iku", "ile", "ina", "ind", "ipk", "isl", "ita", "jav", "jpn", "kal", "kan", "kas",
697
- "kat", "kau", "kaz", "khm", "kik", "kin", "kir", "kom", "kon", "kor", "kua", "kur", "lao", "lat", "lav", "lim", "lin", "lit", "ltz", "lub",
698
- "lug", "mah", "mal", "mar", "mkd", "mlg", "mlt", "mon", "mri", "msa", "mya", "nau", "nav", "nbl", "nde", "ndo", "nep", "nld", "nno", "nob",
699
- "nor", "nya", "oci", "oji", "ori", "orm", "oss", "pan", "pli", "pol", "por", "pus", "que", "roh", "ron", "run", "rus", "sag", "san", "sin",
700
- "slk", "slv", "sme", "smo", "sna", "snd", "som", "sot", "spa", "sqi", "srd", "srp", "ssw", "sun", "swa", "swe", "tah", "tam", "tat", "tel",
701
- "tgk", "tgl", "tha", "tir", "ton", "tsn", "tso", "tuk", "tur", "twi", "uig", "ukr", "urd", "uzb", "ven", "vie", "vol", "wln", "wol", "xho",
702
- "yid", "yor", "zha", "zho", "zul"
690
+ language: {
691
+ '$id': '#/properties/dmp/properties/dataset/items/properties/language',
692
+ type: 'string',
693
+ enum: %w[
694
+ aar abk afr aka amh ara arg asm ava ave aym aze bak bam bel ben bih bis bod bos
695
+ bre bul cat ces cha che chu chv cor cos cre cym dan deu div dzo ell eng epo est
696
+ eus ewe fao fas fij fin fra fry ful gla gle glg glv grn guj hat hau hbs heb her
697
+ hin hmo hrv hun hye ibo ido iii iku ile ina ind ipk isl ita jav jpn kal kan kas
698
+ kat kau kaz khm kik kin kir kom kon kor kua kur lao lat lav lim lin lit ltz lub
699
+ lug mah mal mar mkd mlg mlt mon mri msa mya nau nav nbl nde ndo nep nld nno nob
700
+ nor nya oci oji ori orm oss pan pli pol por pus que roh ron run rus sag san sin
701
+ slk slv sme smo sna snd som sot spa sqi srd srp ssw sun swa swe tah tam tat tel
702
+ tgk tgl tha tir ton tsn tso tuk tur twi uig ukr urd uzb ven vie vol wln wol xho
703
+ yid yor zha zho zul
703
704
  ],
704
- "title": "The Dataset Language Schema",
705
- "description": "Language of the dataset expressed using ISO 639-3.",
706
- "examples": ["eng"]
705
+ title: 'The Dataset Language Schema',
706
+ description: 'Language of the dataset expressed using ISO 639-3.',
707
+ examples: ['eng']
707
708
  },
708
- "metadata": {
709
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata",
710
- "type": "array",
711
- "title": "The Dataset Metadata Schema",
712
- "description": "To describe metadata standards used.",
713
- "items": {
714
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata/items",
715
- "type": "object",
716
- "title": "The Dataset Metadata Items Schema",
717
- "properties": {
718
- "description": {
719
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/description",
720
- "type": "string",
721
- "title": "The Dataset Metadata Description Schema",
722
- "description": "Description",
723
- "examples": ["Provides taxonomy for..."]
709
+ metadata: {
710
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata',
711
+ type: 'array',
712
+ title: 'The Dataset Metadata Schema',
713
+ description: 'To describe metadata standards used.',
714
+ items: {
715
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata/items',
716
+ type: 'object',
717
+ title: 'The Dataset Metadata Items Schema',
718
+ properties: {
719
+ description: {
720
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/description',
721
+ type: 'string',
722
+ title: 'The Dataset Metadata Description Schema',
723
+ description: 'Description',
724
+ examples: ['Provides taxonomy for...']
724
725
  },
725
- "language": {
726
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/language",
727
- "type": "string",
728
- "enum": [
729
- "aar", "abk", "afr", "aka", "amh", "ara", "arg", "asm", "ava", "ave", "aym", "aze", "bak", "bam", "bel", "ben", "bih", "bis", "bod", "bos",
730
- "bre", "bul", "cat", "ces", "cha", "che", "chu", "chv", "cor", "cos", "cre", "cym", "dan", "deu", "div", "dzo", "ell", "eng", "epo", "est",
731
- "eus", "ewe", "fao", "fas", "fij", "fin", "fra", "fry", "ful", "gla", "gle", "glg", "glv", "grn", "guj", "hat", "hau", "hbs", "heb", "her",
732
- "hin", "hmo", "hrv", "hun", "hye", "ibo", "ido", "iii", "iku", "ile", "ina", "ind", "ipk", "isl", "ita", "jav", "jpn", "kal", "kan", "kas",
733
- "kat", "kau", "kaz", "khm", "kik", "kin", "kir", "kom", "kon", "kor", "kua", "kur", "lao", "lat", "lav", "lim", "lin", "lit", "ltz", "lub",
734
- "lug", "mah", "mal", "mar", "mkd", "mlg", "mlt", "mon", "mri", "msa", "mya", "nau", "nav", "nbl", "nde", "ndo", "nep", "nld", "nno", "nob",
735
- "nor", "nya", "oci", "oji", "ori", "orm", "oss", "pan", "pli", "pol", "por", "pus", "que", "roh", "ron", "run", "rus", "sag", "san", "sin",
736
- "slk", "slv", "sme", "smo", "sna", "snd", "som", "sot", "spa", "sqi", "srd", "srp", "ssw", "sun", "swa", "swe", "tah", "tam", "tat", "tel",
737
- "tgk", "tgl", "tha", "tir", "ton", "tsn", "tso", "tuk", "tur", "twi", "uig", "ukr", "urd", "uzb", "ven", "vie", "vol", "wln", "wol", "xho",
738
- "yid", "yor", "zha", "zho", "zul"
726
+ language: {
727
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/language',
728
+ type: 'string',
729
+ enum: %w[
730
+ aar abk afr aka amh ara arg asm ava ave aym aze bak bam bel ben bih bis bod bos
731
+ bre bul cat ces cha che chu chv cor cos cre cym dan deu div dzo ell eng epo est
732
+ eus ewe fao fas fij fin fra fry ful gla gle glg glv grn guj hat hau hbs heb her
733
+ hin hmo hrv hun hye ibo ido iii iku ile ina ind ipk isl ita jav jpn kal kan kas
734
+ kat kau kaz khm kik kin kir kom kon kor kua kur lao lat lav lim lin lit ltz lub
735
+ lug mah mal mar mkd mlg mlt mon mri msa mya nau nav nbl nde ndo nep nld nno nob
736
+ nor nya oci oji ori orm oss pan pli pol por pus que roh ron run rus sag san sin
737
+ slk slv sme smo sna snd som sot spa sqi srd srp ssw sun swa swe tah tam tat tel
738
+ tgk tgl tha tir ton tsn tso tuk tur twi uig ukr urd uzb ven vie vol wln wol xho
739
+ yid yor zha zho zul
739
740
  ],
740
- "title": "The Dataset Metadata Language Schema",
741
- "description": "Language of the metadata expressed using ISO 639-3.",
742
- "examples": ["eng"]
741
+ title: 'The Dataset Metadata Language Schema',
742
+ description: 'Language of the metadata expressed using ISO 639-3.',
743
+ examples: ['eng']
743
744
  },
744
- "metadata_standard_id": {
745
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/metadata_standard_id",
746
- "type": "object",
747
- "title": "The Dataset Metadata Standard ID Schema",
748
- "properties": {
749
- "identifier": {
750
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/metadata_standard_id/identifier",
751
- "type": "string",
752
- "title": "The Dataset Metadata Standard Identifier Value Schema",
753
- "description": "Identifier for the metadata standard used.",
754
- "examples": ["http://www.dublincore.org/specifications/dublin-core/dcmi-terms/"]
745
+ metadata_standard_id: {
746
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/metadata_standard_id',
747
+ type: 'object',
748
+ title: 'The Dataset Metadata Standard ID Schema',
749
+ properties: {
750
+ identifier: {
751
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/metadata_standard_id/identifier',
752
+ type: 'string',
753
+ title: 'The Dataset Metadata Standard Identifier Value Schema',
754
+ description: 'Identifier for the metadata standard used.',
755
+ examples: ['http://www.dublincore.org/specifications/dublin-core/dcmi-terms/']
755
756
  },
756
- "type": {
757
- "$id": "#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/metadata_standard_id/type",
758
- "type": "string",
759
- "enum": [
760
- "url",
761
- "other"
757
+ type: {
758
+ '$id': '#/properties/dmp/properties/dataset/items/properties/metadata/items/properties/metadata_standard_id/type',
759
+ type: 'string',
760
+ enum: %w[
761
+ url
762
+ other
762
763
  ],
763
- "title": "The Dataset Metadata Standard Identifier Type Schema",
764
- "description": "Identifier type. Allowed values: url, other",
765
- "examples": ["url"]
764
+ title: 'The Dataset Metadata Standard Identifier Type Schema',
765
+ description: 'Identifier type. Allowed values: url, other',
766
+ examples: ['url']
766
767
  }
767
768
  },
768
- "required": [
769
- "identifier",
770
- "type"
769
+ required: %w[
770
+ identifier
771
+ type
771
772
  ]
772
773
  }
773
774
  },
774
- "required": [
775
- "metadata_standard_id"
775
+ required: [
776
+ 'metadata_standard_id'
776
777
  ]
777
778
  }
778
779
  },
779
- "personal_data": {
780
- "$id": "#/properties/dmp/properties/dataset/items/properties/personal_data",
781
- "type": "string",
782
- "enum": [
783
- "yes",
784
- "no",
785
- "unknown"
780
+ personal_data: {
781
+ '$id': '#/properties/dmp/properties/dataset/items/properties/personal_data',
782
+ type: 'string',
783
+ enum: %w[
784
+ yes
785
+ no
786
+ unknown
786
787
  ],
787
- "title": "The Dataset Personal Data Schema",
788
- "description": "If any personal data is contained. Allowed values: yes, no, unknown",
789
- "examples": ["unknown"]
788
+ title: 'The Dataset Personal Data Schema',
789
+ description: 'If any personal data is contained. Allowed values: yes, no, unknown',
790
+ examples: ['unknown']
790
791
  },
791
- "preservation_statement": {
792
- "$id": "#/properties/dmp/properties/dataset/items/properties/preservation_statement",
793
- "type": "string",
794
- "title": "The Dataset Preservation Statement Schema",
795
- "description": "Preservation Statement",
796
- "examples": ["Must be preserved to enable..."]
792
+ preservation_statement: {
793
+ '$id': '#/properties/dmp/properties/dataset/items/properties/preservation_statement',
794
+ type: 'string',
795
+ title: 'The Dataset Preservation Statement Schema',
796
+ description: 'Preservation Statement',
797
+ examples: ['Must be preserved to enable...']
797
798
  },
798
- "security_and_privacy": {
799
- "$id": "#/properties/dmp/properties/dataset/items/properties/security_and_privacy",
800
- "type": "array",
801
- "title": "The Dataset Security and Policy Schema",
802
- "description": "To list all issues and requirements related to security and privacy",
803
- "items": {
804
- "$id": "#/properties/dmp/properties/dataset/items/properties/security_and_privacy/items",
805
- "type": "object",
806
- "title": "The Dataset Security & Policy Items Schema",
807
- "properties": {
808
- "description": {
809
- "$id": "#/properties/dmp/properties/dataset/items/properties/security_and_privacy/items/properties/description",
810
- "type": "string",
811
- "title": "The Dataset Security & Policy Description Schema",
812
- "description": "Description",
813
- "examples": ["Server with data must be kept in a locked room"]
799
+ security_and_privacy: {
800
+ '$id': '#/properties/dmp/properties/dataset/items/properties/security_and_privacy',
801
+ type: 'array',
802
+ title: 'The Dataset Security and Policy Schema',
803
+ description: 'To list all issues and requirements related to security and privacy',
804
+ items: {
805
+ '$id': '#/properties/dmp/properties/dataset/items/properties/security_and_privacy/items',
806
+ type: 'object',
807
+ title: 'The Dataset Security & Policy Items Schema',
808
+ properties: {
809
+ description: {
810
+ '$id': '#/properties/dmp/properties/dataset/items/properties/security_and_privacy/items/properties/description',
811
+ type: 'string',
812
+ title: 'The Dataset Security & Policy Description Schema',
813
+ description: 'Description',
814
+ examples: ['Server with data must be kept in a locked room']
814
815
  },
815
- "title": {
816
- "$id": "#/properties/dmp/properties/dataset/items/properties/security_and_privacy/items/properties/title",
817
- "type": "string",
818
- "title": "The Dataset Security & Policy Title Schema",
819
- "description": "Title",
820
- "examples": ["Physical access control"]
816
+ title: {
817
+ '$id': '#/properties/dmp/properties/dataset/items/properties/security_and_privacy/items/properties/title',
818
+ type: 'string',
819
+ title: 'The Dataset Security & Policy Title Schema',
820
+ description: 'Title',
821
+ examples: ['Physical access control']
821
822
  }
822
823
  },
823
- "required": ["title"]
824
+ required: ['title']
824
825
  }
825
826
  },
826
- "sensitive_data": {
827
- "$id": "#/properties/dmp/properties/dataset/items/properties/sensitive_data",
828
- "type": "string",
829
- "enum": [
830
- "yes",
831
- "no",
832
- "unknown"
827
+ sensitive_data: {
828
+ '$id': '#/properties/dmp/properties/dataset/items/properties/sensitive_data',
829
+ type: 'string',
830
+ enum: %w[
831
+ yes
832
+ no
833
+ unknown
833
834
  ],
834
- "title": "The Dataset Sensitive Data Schema",
835
- "description": "If any sensitive data is contained. Allowed values: yes, no, unknown",
836
- "examples": ["unknown"]
835
+ title: 'The Dataset Sensitive Data Schema',
836
+ description: 'If any sensitive data is contained. Allowed values: yes, no, unknown',
837
+ examples: ['unknown']
837
838
  },
838
- "technical_resource": {
839
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource",
840
- "type": "array",
841
- "title": "The Dataset Technical Resource Schema",
842
- "description": "To list all technical resources needed to implement a DMP",
843
- "items": {
844
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource/items",
845
- "type": "object",
846
- "title": "The Dataset Technical Resource Items Schema",
847
- "properties": {
848
- "description": {
849
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource/items/description",
850
- "type": "string",
851
- "title": "The Dataset Technical Resource Description Schema",
852
- "description": "Description of the technical resource",
853
- "examples": ["Device needed to collect field data..."]
839
+ technical_resource: {
840
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource',
841
+ type: 'array',
842
+ title: 'The Dataset Technical Resource Schema',
843
+ description: 'To list all technical resources needed to implement a DMP',
844
+ items: {
845
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource/items',
846
+ type: 'object',
847
+ title: 'The Dataset Technical Resource Items Schema',
848
+ properties: {
849
+ description: {
850
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource/items/description',
851
+ type: 'string',
852
+ title: 'The Dataset Technical Resource Description Schema',
853
+ description: 'Description of the technical resource',
854
+ examples: ['Device needed to collect field data...']
854
855
  },
855
- "dmproadmap_technical_resource_id": {
856
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource/items/dmproadmap_technical_resource_id",
857
- "type": "object",
858
- "title": "The Dataset Metadata Standard ID Schema",
859
- "properties": {
860
- "identifier": {
861
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource/items/dmproadmap_technical_resource_id/identifier",
862
- "type": "string",
863
- "title": "The Technical Resource Identifier Value Schema",
864
- "description": "Identifier for the metadata standard used.",
865
- "examples": ["http://www.dublincore.org/specifications/dublin-core/dcmi-terms/"]
856
+ dmproadmap_technical_resource_id: {
857
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource/items/dmproadmap_technical_resource_id',
858
+ type: 'object',
859
+ title: 'The Dataset Metadata Standard ID Schema',
860
+ properties: {
861
+ identifier: {
862
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource/items/dmproadmap_technical_resource_id/identifier',
863
+ type: 'string',
864
+ title: 'The Technical Resource Identifier Value Schema',
865
+ description: 'Identifier for the metadata standard used.',
866
+ examples: ['http://www.dublincore.org/specifications/dublin-core/dcmi-terms/']
866
867
  },
867
- "type": {
868
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource/items/dmproadmap_technical_resource_id/type",
869
- "type": "string",
870
- "enum": [
871
- "ark",
872
- "doi",
873
- "handle",
874
- "rrid",
875
- "url",
876
- "other"
868
+ type: {
869
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource/items/dmproadmap_technical_resource_id/type',
870
+ type: 'string',
871
+ enum: %w[
872
+ ark
873
+ doi
874
+ handle
875
+ rrid
876
+ url
877
+ other
877
878
  ],
878
- "title": "The Technical Resource Identifier Type Schema",
879
- "description": "Identifier type. Allowed values: url, other",
880
- "examples": ["url"]
879
+ title: 'The Technical Resource Identifier Type Schema',
880
+ description: 'Identifier type. Allowed values: url, other',
881
+ examples: ['url']
881
882
  }
882
883
  }
883
884
  },
884
- "name": {
885
- "$id": "#/properties/dmp/properties/dataset/items/properties/technical_resource/items/name",
886
- "type": "string",
887
- "title": "The Dataset Technical Resource Name Schema",
888
- "description": "Name of the technical resource",
889
- "examples": ["123/45/43/AT"]
885
+ name: {
886
+ '$id': '#/properties/dmp/properties/dataset/items/properties/technical_resource/items/name',
887
+ type: 'string',
888
+ title: 'The Dataset Technical Resource Name Schema',
889
+ description: 'Name of the technical resource',
890
+ examples: ['123/45/43/AT']
890
891
  }
891
892
  },
892
- "required": ["name"]
893
+ required: ['name']
893
894
  }
894
895
  },
895
- "title": {
896
- "$id": "#/properties/dmp/properties/dataset/items/properties/title",
897
- "type": "string",
898
- "title": "The Dataset Title Schema",
899
- "description": "Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.",
900
- "examples": ["Fast car images"]
896
+ title: {
897
+ '$id': '#/properties/dmp/properties/dataset/items/properties/title',
898
+ type: 'string',
899
+ title: 'The Dataset Title Schema',
900
+ description: 'Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.',
901
+ examples: ['Fast car images']
901
902
  },
902
- "type": {
903
- "$id": "#/properties/dmp/properties/dataset/items/properties/type",
904
- "type": "string",
905
- "title": "The Dataset Type Schema",
906
- "description": "If appropriate, type according to: DataCite and/or COAR dictionary. Otherwise use the common name for the type, e.g. raw data, software, survey, etc. https://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf http://vocabularies.coar-repositories.org/pubby/resource_type.html",
907
- "examples": ["image"]
903
+ type: {
904
+ '$id': '#/properties/dmp/properties/dataset/items/properties/type',
905
+ type: 'string',
906
+ title: 'The Dataset Type Schema',
907
+ description: 'If appropriate, type according to: DataCite and/or COAR dictionary. Otherwise use the common name for the type, e.g. raw data, software, survey, etc. https://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf http://vocabularies.coar-repositories.org/pubby/resource_type.html',
908
+ examples: ['image']
908
909
  }
909
910
  },
910
- "required": [
911
- "title"
911
+ required: [
912
+ 'title'
912
913
  ]
913
914
  }
914
915
  },
915
- "description": {
916
- "$id": "#/properties/dmp/properties/description",
917
- "type": "string",
918
- "title": "The DMP Description Schema",
919
- "description": "To provide any free-form text information on a DMP",
920
- "examples": ["This DMP is for our new project"]
916
+ description: {
917
+ '$id': '#/properties/dmp/properties/description',
918
+ type: 'string',
919
+ title: 'The DMP Description Schema',
920
+ description: 'To provide any free-form text information on a DMP',
921
+ examples: ['This DMP is for our new project']
921
922
  },
922
- "dmp_id": {
923
- "$id": "#/properties/dmp/properties/dmp_id",
924
- "type": "object",
925
- "title": "The DMP Identifier Schema",
926
- "description": "Identifier for the DMP itself",
927
- "properties": {
928
- "identifier": {
929
- "$id": "#/properties/dmp/properties/dmp_id/properties/identifier",
930
- "type": "string",
931
- "title": "The DMP Identifier Value Schema",
932
- "description": "Identifier for a DMP",
933
- "examples": ["https://doi.org/10.1371/journal.pcbi.1006750"]
923
+ dmp_id: {
924
+ '$id': '#/properties/dmp/properties/dmp_id',
925
+ type: 'object',
926
+ title: 'The DMP Identifier Schema',
927
+ description: 'Identifier for the DMP itself',
928
+ properties: {
929
+ identifier: {
930
+ '$id': '#/properties/dmp/properties/dmp_id/properties/identifier',
931
+ type: 'string',
932
+ title: 'The DMP Identifier Value Schema',
933
+ description: 'Identifier for a DMP',
934
+ examples: ['https://doi.org/10.1371/journal.pcbi.1006750']
934
935
  },
935
- "type": {
936
- "$id": "#/properties/dmp/properties/dmp_id/properties/type",
937
- "type": "string",
938
- "enum": [
939
- "handle",
940
- "doi",
941
- "ark",
942
- "url",
943
- "other",
944
- "file"
936
+ type: {
937
+ '$id': '#/properties/dmp/properties/dmp_id/properties/type',
938
+ type: 'string',
939
+ enum: %w[
940
+ handle
941
+ doi
942
+ ark
943
+ url
944
+ other
945
+ file
945
946
  ],
946
- "title": "The DMP Identifier Type Schema",
947
- "description": "The DMP Identifier Type. Allowed values: handle, doi, ark, url, other, file (note: file is used by DMPHub to handle new PDF uploads)",
948
- "examples": ["doi"]
947
+ title: 'The DMP Identifier Type Schema',
948
+ description: 'The DMP Identifier Type. Allowed values: handle, doi, ark, url, other, file (note: file is used by DMPHub to handle new PDF uploads)',
949
+ examples: ['doi']
949
950
  }
950
951
  },
951
- "required": [
952
- "identifier",
953
- "type"
952
+ required: %w[
953
+ identifier
954
+ type
954
955
  ]
955
956
  },
956
- "dmphub_modifications": {
957
- "$id": "#/properties/dmp/properties/dmphub_modifications",
958
- "type": "array",
959
- "title": "External modifications",
960
- "description": "Modifications made by an external system that does not own the DMP ID",
961
- "items": {
962
- "$id": "#/properties/dmp/properties/dmphub_modifications/items",
963
- "type": "object",
964
- "title": "An external modification",
965
- "properties": {
966
- "id": {
967
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/id",
968
- "type": "string",
969
- "title": "Modification identifier",
970
- "examples": ["12345ABCD"]
957
+ dmphub_modifications: {
958
+ '$id': '#/properties/dmp/properties/dmphub_modifications',
959
+ type: 'array',
960
+ title: 'External modifications',
961
+ description: 'Modifications made by an external system that does not own the DMP ID',
962
+ items: {
963
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items',
964
+ type: 'object',
965
+ title: 'An external modification',
966
+ properties: {
967
+ id: {
968
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/id',
969
+ type: 'string',
970
+ title: 'Modification identifier',
971
+ examples: ['12345ABCD']
971
972
  },
972
- "provenance": {
973
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/provenance",
974
- "type": "string",
975
- "title": "Modifier",
976
- "examples": ["datacite"]
973
+ provenance: {
974
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/provenance',
975
+ type: 'string',
976
+ title: 'Modifier',
977
+ examples: ['datacite']
977
978
  },
978
- "timestamp": {
979
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/timestamp",
980
- "type": "string",
981
- "format": "date-time",
982
- "title": "The modification date and time",
983
- "examples": ["2023-07-27T15:08:32Z"]
979
+ timestamp: {
980
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/timestamp',
981
+ type: 'string',
982
+ format: 'date-time',
983
+ title: 'The modification date and time',
984
+ examples: ['2023-07-27T15:08:32Z']
984
985
  },
985
- "note": {
986
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/note",
987
- "type": "string",
988
- "title": "Descriptive note",
989
- "examples": ["data received from event data"]
986
+ note: {
987
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/note',
988
+ type: 'string',
989
+ title: 'Descriptive note',
990
+ examples: ['data received from event data']
990
991
  },
991
- "status": {
992
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/status",
993
- "type": "string",
994
- "title": "Modification status",
995
- "enum": [
996
- "accepted",
997
- "pending",
998
- "rejected"
992
+ status: {
993
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/status',
994
+ type: 'string',
995
+ title: 'Modification status',
996
+ enum: %w[
997
+ accepted
998
+ pending
999
+ rejected
999
1000
  ]
1000
1001
  },
1001
- "dmproadmap_related_identifier": {
1002
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier",
1003
- "type": "object",
1004
- "title": "A related identifier",
1005
- "properties": {
1006
- "descriptor": {
1007
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/descriptor",
1008
- "type": "string",
1009
- "enum": [
1010
- "is_cited_by",
1011
- "cites",
1012
- "is_supplement_to",
1013
- "is_supplemented_by",
1014
- "is_described_by",
1015
- "describes",
1016
- "has_metadata",
1017
- "is_metadata_for",
1018
- "is_part_of",
1019
- "has_part",
1020
- "is_referenced_by",
1021
- "references",
1022
- "is_documented_by",
1023
- "documents",
1024
- "is_new_version_of",
1025
- "is_previous_version_of"
1002
+ dmproadmap_related_identifier: {
1003
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier',
1004
+ type: 'object',
1005
+ title: 'A related identifier',
1006
+ properties: {
1007
+ descriptor: {
1008
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/descriptor',
1009
+ type: 'string',
1010
+ enum: %w[
1011
+ is_cited_by
1012
+ cites
1013
+ is_supplement_to
1014
+ is_supplemented_by
1015
+ is_described_by
1016
+ describes
1017
+ has_metadata
1018
+ is_metadata_for
1019
+ is_part_of
1020
+ has_part
1021
+ is_referenced_by
1022
+ references
1023
+ is_documented_by
1024
+ documents
1025
+ is_new_version_of
1026
+ is_previous_version_of
1026
1027
  ]
1027
1028
  },
1028
- "identifier": {
1029
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/identifier",
1030
- "type": "string",
1031
- "title": "A unique identifier for the item",
1032
- "description": "Identifier for a DMP",
1033
- "examples": ["https://doi.org/10.1371/journal.pcbi.1006750"]
1029
+ identifier: {
1030
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/identifier',
1031
+ type: 'string',
1032
+ title: 'A unique identifier for the item',
1033
+ description: 'Identifier for a DMP',
1034
+ examples: ['https://doi.org/10.1371/journal.pcbi.1006750']
1034
1035
  },
1035
- "type": {
1036
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/type",
1037
- "type": "string",
1038
- "enum": [
1039
- "handle",
1040
- "doi",
1041
- "ark",
1042
- "url",
1043
- "other"
1036
+ type: {
1037
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/type',
1038
+ type: 'string',
1039
+ enum: %w[
1040
+ handle
1041
+ doi
1042
+ ark
1043
+ url
1044
+ other
1044
1045
  ]
1045
1046
  },
1046
- "work_type": {
1047
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/work_type",
1048
- "type": "string"
1047
+ work_type: {
1048
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/dmproadmap_related_identifier/properties/work_type',
1049
+ type: 'string'
1049
1050
  }
1050
1051
  },
1051
- "required": [
1052
- "descriptor",
1053
- "identifier",
1054
- "type",
1055
- "work_type"
1052
+ required: %w[
1053
+ descriptor
1054
+ identifier
1055
+ type
1056
+ work_type
1056
1057
  ]
1057
1058
  },
1058
- "funding": {
1059
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding",
1060
- "type": "object",
1061
- "title": "A modification to Funding",
1062
- "properties": {
1063
- "dmproadmap_project_number": {
1064
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/dmproadmap_project_number",
1065
- "type": "string",
1066
- "title": "The funder's identifier for the research project",
1067
- "description": "The funder's identifier used to identify the research project",
1068
- "examples": ["prj-XYZ987-UCB"]
1059
+ funding: {
1060
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding',
1061
+ type: 'object',
1062
+ title: 'A modification to Funding',
1063
+ properties: {
1064
+ dmproadmap_project_number: {
1065
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/dmproadmap_project_number',
1066
+ type: 'string',
1067
+ title: "The funder's identifier for the research project",
1068
+ description: "The funder's identifier used to identify the research project",
1069
+ examples: ['prj-XYZ987-UCB']
1069
1070
  },
1070
- "funder_id": {
1071
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funder_id",
1072
- "type": "object",
1073
- "title": "The Funder ID Schema",
1074
- "description": "Funder ID of the associated project",
1075
- "properties": {
1076
- "identifier": {
1077
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funder_id/properties/identifier",
1078
- "type": "string",
1079
- "title": "The Funder ID Value Schema",
1080
- "description": "Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/",
1081
- "examples": ["501100002428"]
1071
+ funder_id: {
1072
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funder_id',
1073
+ type: 'object',
1074
+ title: 'The Funder ID Schema',
1075
+ description: 'Funder ID of the associated project',
1076
+ properties: {
1077
+ identifier: {
1078
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funder_id/properties/identifier',
1079
+ type: 'string',
1080
+ title: 'The Funder ID Value Schema',
1081
+ description: 'Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/',
1082
+ examples: ['501100002428']
1082
1083
  },
1083
- "type": {
1084
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funder_id/properties/type",
1085
- "type": "string",
1086
- "enum": [
1087
- "fundref",
1088
- "ror",
1089
- "url",
1090
- "other"
1084
+ type: {
1085
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funder_id/properties/type',
1086
+ type: 'string',
1087
+ enum: %w[
1088
+ fundref
1089
+ ror
1090
+ url
1091
+ other
1091
1092
  ],
1092
- "title": "The Funder ID Type Schema",
1093
- "description": "Identifier type. Allowed values: fundref, url, other",
1094
- "examples": ["fundref"]
1093
+ title: 'The Funder ID Type Schema',
1094
+ description: 'Identifier type. Allowed values: fundref, url, other',
1095
+ examples: ['fundref']
1095
1096
  }
1096
1097
  },
1097
- "required": [
1098
- "identifier",
1099
- "type"
1098
+ required: %w[
1099
+ identifier
1100
+ type
1100
1101
  ]
1101
1102
  },
1102
- "funding_status": {
1103
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funding_status",
1104
- "type": "string",
1105
- "enum": [
1106
- "planned",
1107
- "applied",
1108
- "granted",
1109
- "rejected"
1103
+ funding_status: {
1104
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/funding_status',
1105
+ type: 'string',
1106
+ enum: %w[
1107
+ planned
1108
+ applied
1109
+ granted
1110
+ rejected
1110
1111
  ],
1111
- "title": "The Funding Status Schema",
1112
- "description": "To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected",
1113
- "examples": ["granted"]
1112
+ title: 'The Funding Status Schema',
1113
+ description: 'To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected',
1114
+ examples: ['granted']
1114
1115
  },
1115
- "grant_id": {
1116
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/grant_id",
1117
- "type": "object",
1118
- "title": "The Funding Grant ID Schema",
1119
- "description": "Grant ID of the associated project",
1120
- "properties": {
1121
- "identifier": {
1122
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/grant_id/properties/identifier",
1123
- "type": "string",
1124
- "title": "The Funding Grant ID Value Schema",
1125
- "description": "Grant ID",
1126
- "examples": ["776242"]
1116
+ grant_id: {
1117
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/grant_id',
1118
+ type: 'object',
1119
+ title: 'The Funding Grant ID Schema',
1120
+ description: 'Grant ID of the associated project',
1121
+ properties: {
1122
+ identifier: {
1123
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/grant_id/properties/identifier',
1124
+ type: 'string',
1125
+ title: 'The Funding Grant ID Value Schema',
1126
+ description: 'Grant ID',
1127
+ examples: ['776242']
1127
1128
  },
1128
- "type": {
1129
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/grant_id/properties/type",
1130
- "type": "string",
1131
- "title": "The Funding Grant ID Type Schema",
1132
- "enum": [
1133
- "doi",
1134
- "url",
1135
- "other"
1129
+ type: {
1130
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/grant_id/properties/type',
1131
+ type: 'string',
1132
+ title: 'The Funding Grant ID Type Schema',
1133
+ enum: %w[
1134
+ doi
1135
+ url
1136
+ other
1136
1137
  ],
1137
- "description": "Identifier type. Allowed values: url, other",
1138
- "examples": ["other"]
1138
+ description: 'Identifier type. Allowed values: url, other',
1139
+ examples: ['other']
1139
1140
  }
1140
1141
  },
1141
- "required": [
1142
- "identifier",
1143
- "type"
1142
+ required: %w[
1143
+ identifier
1144
+ type
1144
1145
  ]
1145
1146
  },
1146
- "name": {
1147
- "$id": "#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/name",
1148
- "type": "string",
1149
- "title": "The name of the funding instituion / organization",
1150
- "description": "Name",
1151
- "examples": ["National Science Foundation"]
1147
+ name: {
1148
+ '$id': '#/properties/dmp/properties/dmphub_modifications/items/properties/funding/properties/name',
1149
+ type: 'string',
1150
+ title: 'The name of the funding instituion / organization',
1151
+ description: 'Name',
1152
+ examples: ['National Science Foundation']
1152
1153
  }
1153
1154
  },
1154
- "required": [
1155
- "funding_status",
1156
- "name"
1155
+ required: %w[
1156
+ funding_status
1157
+ name
1157
1158
  ]
1158
1159
  },
1159
- "project": {
1160
- "$id": "#/properties/dmp/properties/dmphub_modifications/project",
1161
- "type": "object",
1162
- "title": "The DMP Project Items Schema",
1163
- "properties": {
1164
- "description": {
1165
- "$id": "#/properties/dmp/properties/dmphub_modifications/project/properties/description",
1166
- "type": "string",
1167
- "title": "The DMP Project Description Schema",
1168
- "description": "Project description",
1169
- "examples": ["Project develops novel..."]
1160
+ project: {
1161
+ '$id': '#/properties/dmp/properties/dmphub_modifications/project',
1162
+ type: 'object',
1163
+ title: 'The DMP Project Items Schema',
1164
+ properties: {
1165
+ description: {
1166
+ '$id': '#/properties/dmp/properties/dmphub_modifications/project/properties/description',
1167
+ type: 'string',
1168
+ title: 'The DMP Project Description Schema',
1169
+ description: 'Project description',
1170
+ examples: ['Project develops novel...']
1170
1171
  },
1171
- "end": {
1172
- "$id": "#/properties/dmp/properties/dmphub_modifications/project/properties/end",
1173
- "type": "string",
1174
- "format": "date-time",
1175
- "title": "The DMP Project End Date Schema",
1176
- "description": "Project end date. Encoded using the relevant ISO 8601 Date and Time compliant string.",
1177
- "examples": ["2020-03-31T00:00:00Z"]
1172
+ end: {
1173
+ '$id': '#/properties/dmp/properties/dmphub_modifications/project/properties/end',
1174
+ type: 'string',
1175
+ format: 'date-time',
1176
+ title: 'The DMP Project End Date Schema',
1177
+ description: 'Project end date. Encoded using the relevant ISO 8601 Date and Time compliant string.',
1178
+ examples: ['2020-03-31T00:00:00Z']
1178
1179
  },
1179
- "start": {
1180
- "$id": "#/properties/dmp/properties/dmphub_modifications/project/properties/start",
1181
- "type": "string",
1182
- "format": "date-time",
1183
- "title": "The DMP Project Start Date Schema",
1184
- "description": "Project start date. Encoded using the relevant ISO 8601 Date and Time compliant string.",
1185
- "examples": ["2019-04-01T00:00:00Z"]
1180
+ start: {
1181
+ '$id': '#/properties/dmp/properties/dmphub_modifications/project/properties/start',
1182
+ type: 'string',
1183
+ format: 'date-time',
1184
+ title: 'The DMP Project Start Date Schema',
1185
+ description: 'Project start date. Encoded using the relevant ISO 8601 Date and Time compliant string.',
1186
+ examples: ['2019-04-01T00:00:00Z']
1186
1187
  },
1187
- "title": {
1188
- "$id": "#/properties/dmp/properties/dmphub_modifications/project/properties/title",
1189
- "type": "string",
1190
- "title": "The DMP Project Title Schema",
1191
- "description": "Project title",
1192
- "examples": ["Our New Project"]
1188
+ title: {
1189
+ '$id': '#/properties/dmp/properties/dmphub_modifications/project/properties/title',
1190
+ type: 'string',
1191
+ title: 'The DMP Project Title Schema',
1192
+ description: 'Project title',
1193
+ examples: ['Our New Project']
1193
1194
  }
1194
1195
  },
1195
- "required": [
1196
- "title"
1196
+ required: [
1197
+ 'title'
1197
1198
  ]
1198
1199
  }
1199
1200
  }
1200
1201
  },
1201
- "required": [
1202
- "id",
1203
- "provenance",
1204
- "status",
1205
- "timestamp"
1202
+ required: %w[
1203
+ id
1204
+ provenance
1205
+ status
1206
+ timestamp
1206
1207
  ]
1207
1208
  },
1208
- "dmphub_versions": {
1209
- "$id": "#/properties/dmp/properties/dmphub_versions",
1210
- "type": "array",
1211
- "title": "DMP ID versions",
1212
- "description": "Links to all of the DMPs versions",
1213
- "items": {
1214
- "$id": "#/properties/dmp/properties/dmphub_versions/items",
1215
- "type": "object",
1216
- "title": "DMP version",
1217
- "properties": {
1218
- "timestamp": {
1219
- "$id": "#/properties/dmp/properties/dmphub_versions/items/properties/timestamp",
1220
- "type": "string",
1221
- "format": "date-time",
1222
- "title": "The version date and time",
1223
- "examples": ["2023-08-17T16:14:39Z"]
1209
+ dmphub_versions: {
1210
+ '$id': '#/properties/dmp/properties/dmphub_versions',
1211
+ type: 'array',
1212
+ title: 'DMP ID versions',
1213
+ description: 'Links to all of the DMPs versions',
1214
+ items: {
1215
+ '$id': '#/properties/dmp/properties/dmphub_versions/items',
1216
+ type: 'object',
1217
+ title: 'DMP version',
1218
+ properties: {
1219
+ timestamp: {
1220
+ '$id': '#/properties/dmp/properties/dmphub_versions/items/properties/timestamp',
1221
+ type: 'string',
1222
+ format: 'date-time',
1223
+ title: 'The version date and time',
1224
+ examples: ['2023-08-17T16:14:39Z']
1224
1225
  },
1225
- "url": {
1226
- "$id": "#/properties/dmp/properties/dmphub_versions/items/properties/url",
1227
- "type": "string",
1228
- "format": "uri",
1229
- "title": "The URL to retrieve the specified version",
1230
- "examples": ["https://somesite.org/dmps/doi.org/10.1234/A1B2C3D4?version=2023-08-17T16:14:39Z"]
1226
+ url: {
1227
+ '$id': '#/properties/dmp/properties/dmphub_versions/items/properties/url',
1228
+ type: 'string',
1229
+ format: 'uri',
1230
+ title: 'The URL to retrieve the specified version',
1231
+ examples: ['https://somesite.org/dmps/doi.org/10.1234/A1B2C3D4?version=2023-08-17T16:14:39Z']
1231
1232
  }
1232
1233
  }
1233
1234
  },
1234
- "required": [
1235
- "timestamp",
1236
- "url"
1235
+ required: %w[
1236
+ timestamp
1237
+ url
1237
1238
  ]
1238
1239
  },
1239
- "dmproadmap_related_identifiers": {
1240
- "$id": "#/properties/dmp/properties/dmproadmap_related_identifiers",
1241
- "type": "array",
1242
- "title": "Related identifiers for the DMP",
1243
- "description": "Identifiers for objects related to the DMP (e.g. datasets, publications, etc.)",
1244
- "items": {
1245
- "$id": "#/properties/dmp/properties/dmproadmap_related_identifiers/items",
1246
- "type": "object",
1247
- "title": "A related identifier",
1248
- "properties": {
1249
- "descriptor": {
1250
- "$id": "#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/descriptor",
1251
- "type": "string",
1252
- "enum": [
1253
- "is_cited_by",
1254
- "cites",
1255
- "is_supplement_to",
1256
- "is_supplemented_by",
1257
- "is_described_by",
1258
- "describes",
1259
- "has_metadata",
1260
- "is_metadata_for",
1261
- "is_part_of",
1262
- "has_part",
1263
- "is_referenced_by",
1264
- "references",
1265
- "is_documented_by",
1266
- "documents",
1267
- "is_new_version_of",
1268
- "is_previous_version_of"
1240
+ dmproadmap_related_identifiers: {
1241
+ '$id': '#/properties/dmp/properties/dmproadmap_related_identifiers',
1242
+ type: 'array',
1243
+ title: 'Related identifiers for the DMP',
1244
+ description: 'Identifiers for objects related to the DMP (e.g. datasets, publications, etc.)',
1245
+ items: {
1246
+ '$id': '#/properties/dmp/properties/dmproadmap_related_identifiers/items',
1247
+ type: 'object',
1248
+ title: 'A related identifier',
1249
+ properties: {
1250
+ descriptor: {
1251
+ '$id': '#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/descriptor',
1252
+ type: 'string',
1253
+ enum: %w[
1254
+ is_cited_by
1255
+ cites
1256
+ is_supplement_to
1257
+ is_supplemented_by
1258
+ is_described_by
1259
+ describes
1260
+ has_metadata
1261
+ is_metadata_for
1262
+ is_part_of
1263
+ has_part
1264
+ is_referenced_by
1265
+ references
1266
+ is_documented_by
1267
+ documents
1268
+ is_new_version_of
1269
+ is_previous_version_of
1269
1270
  ]
1270
1271
  },
1271
- "identifier": {
1272
- "$id": "#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/identifier",
1273
- "type": "string",
1274
- "title": "A unique identifier for the item",
1275
- "description": "Identifier for a DMP",
1276
- "examples": ["https://doi.org/10.1371/journal.pcbi.1006750"]
1272
+ identifier: {
1273
+ '$id': '#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/identifier',
1274
+ type: 'string',
1275
+ title: 'A unique identifier for the item',
1276
+ description: 'Identifier for a DMP',
1277
+ examples: ['https://doi.org/10.1371/journal.pcbi.1006750']
1277
1278
  },
1278
- "type": {
1279
- "$id": "#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/type",
1280
- "type": "string",
1281
- "enum": [
1282
- "handle",
1283
- "doi",
1284
- "ark",
1285
- "url",
1286
- "other"
1279
+ type: {
1280
+ '$id': '#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/type',
1281
+ type: 'string',
1282
+ enum: %w[
1283
+ handle
1284
+ doi
1285
+ ark
1286
+ url
1287
+ other
1287
1288
  ]
1288
1289
  },
1289
- "work_type": {
1290
- "$id": "#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/work_type",
1291
- "type": "string"
1290
+ work_type: {
1291
+ '$id': '#/properties/dmp/properties/dmproadmap_related_identifiers/items/properties/work_type',
1292
+ type: 'string'
1292
1293
  }
1293
1294
  },
1294
- "required": [
1295
- "descriptor",
1296
- "identifier",
1297
- "type",
1298
- "work_type"
1295
+ required: %w[
1296
+ descriptor
1297
+ identifier
1298
+ type
1299
+ work_type
1299
1300
  ]
1300
1301
  }
1301
1302
  },
1302
- "dmproadmap_research_facilities": {
1303
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities",
1304
- "type": "array",
1305
- "title": "Facilities",
1306
- "description": "Facilities (e.g. labs and research stations) that will be used to collect/process research data",
1307
- "items": {
1308
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities/items",
1309
- "type": "object",
1310
- "title": "A research facility",
1311
- "properties": {
1312
- "facility_id": {
1313
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/facility_id",
1314
- "type": "object",
1315
- "title": "The unique ID of the facility",
1316
- "description": "The facility's ROR, DOI or URL",
1317
- "properties": {
1318
- "identifier": {
1319
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/facility_id/properties/identifier",
1320
- "type": "string",
1321
- "title": "The facility ID",
1322
- "description": "ROR ID, DOI or URL. Recommended to use Research Organization Registry (ROR) or DOI when available. See: https://ror.org",
1323
- "examples": ["https://ror.org/03yrm5c26", "http://doi.org/10.13039/100005595", "http://www.cdlib.org/"]
1303
+ dmproadmap_research_facilities: {
1304
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities',
1305
+ type: 'array',
1306
+ title: 'Facilities',
1307
+ description: 'Facilities (e.g. labs and research stations) that will be used to collect/process research data',
1308
+ items: {
1309
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities/items',
1310
+ type: 'object',
1311
+ title: 'A research facility',
1312
+ properties: {
1313
+ facility_id: {
1314
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/facility_id',
1315
+ type: 'object',
1316
+ title: 'The unique ID of the facility',
1317
+ description: "The facility's ROR, DOI or URL",
1318
+ properties: {
1319
+ identifier: {
1320
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/facility_id/properties/identifier',
1321
+ type: 'string',
1322
+ title: 'The facility ID',
1323
+ description: 'ROR ID, DOI or URL. Recommended to use Research Organization Registry (ROR) or DOI when available. See: https://ror.org',
1324
+ examples: ['https://ror.org/03yrm5c26', 'http://doi.org/10.13039/100005595', 'http://www.cdlib.org/']
1324
1325
  },
1325
- "type": {
1326
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/facility_id/properties/type",
1327
- "type": "string",
1328
- "enum": [
1329
- "doi",
1330
- "ror",
1331
- "url"
1326
+ type: {
1327
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/facility_id/properties/type',
1328
+ type: 'string',
1329
+ enum: %w[
1330
+ doi
1331
+ ror
1332
+ url
1332
1333
  ],
1333
- "title": "The facility ID type schema",
1334
- "description": "Identifier type. Allowed values: doi, ror, url",
1335
- "examples": ["ror"]
1334
+ title: 'The facility ID type schema',
1335
+ description: 'Identifier type. Allowed values: doi, ror, url',
1336
+ examples: ['ror']
1336
1337
  }
1337
1338
  },
1338
- "required": [
1339
- "identifier",
1340
- "type"
1339
+ required: %w[
1340
+ identifier
1341
+ type
1341
1342
  ]
1342
1343
  },
1343
- "name": {
1344
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/name",
1345
- "type": "string",
1346
- "title": "Name of the facility",
1347
- "description": "Official facility name",
1348
- "examples": ["Example Research Lab"]
1344
+ name: {
1345
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/name',
1346
+ type: 'string',
1347
+ title: 'Name of the facility',
1348
+ description: 'Official facility name',
1349
+ examples: ['Example Research Lab']
1349
1350
  },
1350
- "type": {
1351
- "$id": "#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/type",
1352
- "type": "string",
1353
- "enum": [
1354
- "field_station",
1355
- "laboratory"
1351
+ type: {
1352
+ '$id': '#/properties/dmp/properties/dmproadmap_research_facilities/items/properties/type',
1353
+ type: 'string',
1354
+ enum: %w[
1355
+ field_station
1356
+ laboratory
1356
1357
  ],
1357
- "title": "The type of facility",
1358
- "examples": ["field_station"]
1358
+ title: 'The type of facility',
1359
+ examples: ['field_station']
1359
1360
  }
1360
1361
  },
1361
- "required": [
1362
- "name",
1363
- "type"
1362
+ required: %w[
1363
+ name
1364
+ type
1364
1365
  ]
1365
1366
  }
1366
1367
  },
1367
- "ethical_issues_description": {
1368
- "$id": "#/properties/dmp/properties/ethical_issues_description",
1369
- "type": "string",
1370
- "title": "The DMP Ethical Issues Description Schema",
1371
- "description": "To describe ethical issues directly in a DMP",
1372
- "examples": ["There are ethical issues, because..."]
1368
+ ethical_issues_description: {
1369
+ '$id': '#/properties/dmp/properties/ethical_issues_description',
1370
+ type: 'string',
1371
+ title: 'The DMP Ethical Issues Description Schema',
1372
+ description: 'To describe ethical issues directly in a DMP',
1373
+ examples: ['There are ethical issues, because...']
1373
1374
  },
1374
- "ethical_issues_exist": {
1375
- "$id": "#/properties/dmp/properties/ethical_issues_exist",
1376
- "type": "string",
1377
- "enum": [
1378
- "yes",
1379
- "no",
1380
- "unknown"
1375
+ ethical_issues_exist: {
1376
+ '$id': '#/properties/dmp/properties/ethical_issues_exist',
1377
+ type: 'string',
1378
+ enum: %w[
1379
+ yes
1380
+ no
1381
+ unknown
1381
1382
  ],
1382
- "title": "The DMP Ethical Issues Exist Schema",
1383
- "description": "To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown",
1384
- "examples": ["yes"]
1383
+ title: 'The DMP Ethical Issues Exist Schema',
1384
+ description: 'To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown',
1385
+ examples: ['yes']
1385
1386
  },
1386
- "ethical_issues_report": {
1387
- "$id": "#/properties/dmp/properties/ethical_issues_report",
1388
- "type": "string",
1389
- "format": "uri",
1390
- "title": "The DMP Ethical Issues Report Schema",
1391
- "description": "To indicate where a protocol from a meeting with an ethical commitee can be found",
1392
- "examples": ["http://report.location"]
1387
+ ethical_issues_report: {
1388
+ '$id': '#/properties/dmp/properties/ethical_issues_report',
1389
+ type: 'string',
1390
+ format: 'uri',
1391
+ title: 'The DMP Ethical Issues Report Schema',
1392
+ description: 'To indicate where a protocol from a meeting with an ethical commitee can be found',
1393
+ examples: ['http://report.location']
1393
1394
  },
1394
- "language": {
1395
- "$id": "#/properties/dmp/properties/language",
1396
- "type": "string",
1397
- "enum": [
1398
- "aar", "abk", "afr", "aka", "amh", "ara", "arg", "asm", "ava", "ave", "aym", "aze", "bak", "bam", "bel", "ben", "bih", "bis", "bod", "bos",
1399
- "bre", "bul", "cat", "ces", "cha", "che", "chu", "chv", "cor", "cos", "cre", "cym", "dan", "deu", "div", "dzo", "ell", "eng", "epo", "est",
1400
- "eus", "ewe", "fao", "fas", "fij", "fin", "fra", "fry", "ful", "gla", "gle", "glg", "glv", "grn", "guj", "hat", "hau", "hbs", "heb", "her",
1401
- "hin", "hmo", "hrv", "hun", "hye", "ibo", "ido", "iii", "iku", "ile", "ina", "ind", "ipk", "isl", "ita", "jav", "jpn", "kal", "kan", "kas",
1402
- "kat", "kau", "kaz", "khm", "kik", "kin", "kir", "kom", "kon", "kor", "kua", "kur", "lao", "lat", "lav", "lim", "lin", "lit", "ltz", "lub",
1403
- "lug", "mah", "mal", "mar", "mkd", "mlg", "mlt", "mon", "mri", "msa", "mya", "nau", "nav", "nbl", "nde", "ndo", "nep", "nld", "nno", "nob",
1404
- "nor", "nya", "oci", "oji", "ori", "orm", "oss", "pan", "pli", "pol", "por", "pus", "que", "roh", "ron", "run", "rus", "sag", "san", "sin",
1405
- "slk", "slv", "sme", "smo", "sna", "snd", "som", "sot", "spa", "sqi", "srd", "srp", "ssw", "sun", "swa", "swe", "tah", "tam", "tat", "tel",
1406
- "tgk", "tgl", "tha", "tir", "ton", "tsn", "tso", "tuk", "tur", "twi", "uig", "ukr", "urd", "uzb", "ven", "vie", "vol", "wln", "wol", "xho",
1407
- "yid", "yor", "zha", "zho", "zul"
1395
+ language: {
1396
+ '$id': '#/properties/dmp/properties/language',
1397
+ type: 'string',
1398
+ enum: %w[
1399
+ aar abk afr aka amh ara arg asm ava ave aym aze bak bam bel ben bih bis bod bos
1400
+ bre bul cat ces cha che chu chv cor cos cre cym dan deu div dzo ell eng epo est
1401
+ eus ewe fao fas fij fin fra fry ful gla gle glg glv grn guj hat hau hbs heb her
1402
+ hin hmo hrv hun hye ibo ido iii iku ile ina ind ipk isl ita jav jpn kal kan kas
1403
+ kat kau kaz khm kik kin kir kom kon kor kua kur lao lat lav lim lin lit ltz lub
1404
+ lug mah mal mar mkd mlg mlt mon mri msa mya nau nav nbl nde ndo nep nld nno nob
1405
+ nor nya oci oji ori orm oss pan pli pol por pus que roh ron run rus sag san sin
1406
+ slk slv sme smo sna snd som sot spa sqi srd srp ssw sun swa swe tah tam tat tel
1407
+ tgk tgl tha tir ton tsn tso tuk tur twi uig ukr urd uzb ven vie vol wln wol xho
1408
+ yid yor zha zho zul
1408
1409
  ],
1409
- "title": "The DMP Language Schema",
1410
- "description": "Language of the DMP expressed using ISO 639-3.",
1411
- "examples": ["eng"]
1410
+ title: 'The DMP Language Schema',
1411
+ description: 'Language of the DMP expressed using ISO 639-3.',
1412
+ examples: ['eng']
1412
1413
  },
1413
- "modified": {
1414
- "$id": "#/properties/dmp/properties/modified",
1415
- "type": "string",
1416
- "format": "date-time",
1417
- "title": "The DMP Modification Schema",
1418
- "description": "Must be set each time DMP is modified. Indicates DMP version. Encoded using the relevant ISO 8601 Date and Time compliant string.",
1419
- "examples": ["2020-03-14T10:53:49+00:00"]
1414
+ modified: {
1415
+ '$id': '#/properties/dmp/properties/modified',
1416
+ type: 'string',
1417
+ format: 'date-time',
1418
+ title: 'The DMP Modification Schema',
1419
+ description: 'Must be set each time DMP is modified. Indicates DMP version. Encoded using the relevant ISO 8601 Date and Time compliant string.',
1420
+ examples: ['2020-03-14T10:53:49+00:00']
1420
1421
  },
1421
- "project": {
1422
- "$id": "#/properties/dmp/properties/project",
1423
- "type": "array",
1424
- "title": "The DMP Project Schema",
1425
- "description": "Project related to a DMP",
1426
- "items": {
1427
- "$id": "#/properties/dmp/properties/project/items",
1428
- "type": "object",
1429
- "title": "The DMP Project Items Schema",
1430
- "properties": {
1431
- "description": {
1432
- "$id": "#/properties/dmp/properties/project/items/properties/description",
1433
- "type": "string",
1434
- "title": "The DMP Project Description Schema",
1435
- "description": "Project description",
1436
- "examples": ["Project develops novel..."]
1422
+ project: {
1423
+ '$id': '#/properties/dmp/properties/project',
1424
+ type: 'array',
1425
+ title: 'The DMP Project Schema',
1426
+ description: 'Project related to a DMP',
1427
+ items: {
1428
+ '$id': '#/properties/dmp/properties/project/items',
1429
+ type: 'object',
1430
+ title: 'The DMP Project Items Schema',
1431
+ properties: {
1432
+ description: {
1433
+ '$id': '#/properties/dmp/properties/project/items/properties/description',
1434
+ type: 'string',
1435
+ title: 'The DMP Project Description Schema',
1436
+ description: 'Project description',
1437
+ examples: ['Project develops novel...']
1437
1438
  },
1438
- "end": {
1439
- "$id": "#/properties/dmp/properties/project/items/properties/end",
1440
- "type": "string",
1441
- "format": "date-time",
1442
- "title": "The DMP Project End Date Schema",
1443
- "description": "Project end date. Encoded using the relevant ISO 8601 Date and Time compliant string.",
1444
- "examples": ["2020-03-31"]
1439
+ end: {
1440
+ '$id': '#/properties/dmp/properties/project/items/properties/end',
1441
+ type: 'string',
1442
+ format: 'date-time',
1443
+ title: 'The DMP Project End Date Schema',
1444
+ description: 'Project end date. Encoded using the relevant ISO 8601 Date and Time compliant string.',
1445
+ examples: ['2020-03-31']
1445
1446
  },
1446
- "funding": {
1447
- "$id": "#/properties/dmp/properties/project/items/properties/funding",
1448
- "type": "array",
1449
- "title": "The DMP Project Funding Schema",
1450
- "description": "Funding related with a project",
1451
- "items": {
1452
- "$id": "#/properties/dmp/properties/project/items/properties/funding/items",
1453
- "type": "object",
1454
- "title": "The DMP Project Funding Items Schema",
1455
- "properties": {
1456
- "dmproadmap_funded_affiliations": {
1457
- "$id": "#/properties/dmp/properties/project/items/properties/funding//items/properties/dmproadmap_funded_affiliations",
1458
- "type": "array",
1459
- "title": "Institutions named on the grant",
1460
- "description": "The institutions who received the funding",
1461
- "items": {
1462
- "$id": "#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items",
1463
- "type": "object",
1464
- "title": "An institution that received funding",
1465
- "properties": {
1466
- "affiliation_id": {
1467
- "$id": "#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/affiliation_id",
1468
- "type": "object",
1469
- "title": "The funded affiliation's ID",
1470
- "description": "Affiliation ID of the associated project",
1471
- "properties": {
1472
- "identifier": {
1473
- "$id": "#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/affiliation_id/properties/identifier",
1474
- "type": "string",
1475
- "title": "The affiliation ID",
1476
- "description": "ROR ID or URL. Recommended to use Research Organization Registry (ROR). See: https://ror.org",
1477
- "examples": ["https://ror.org/00pjdza24", "https://cdlib.org"]
1447
+ funding: {
1448
+ '$id': '#/properties/dmp/properties/project/items/properties/funding',
1449
+ type: 'array',
1450
+ title: 'The DMP Project Funding Schema',
1451
+ description: 'Funding related with a project',
1452
+ items: {
1453
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/items',
1454
+ type: 'object',
1455
+ title: 'The DMP Project Funding Items Schema',
1456
+ properties: {
1457
+ dmproadmap_funded_affiliations: {
1458
+ '$id': '#/properties/dmp/properties/project/items/properties/funding//items/properties/dmproadmap_funded_affiliations',
1459
+ type: 'array',
1460
+ title: 'Institutions named on the grant',
1461
+ description: 'The institutions who received the funding',
1462
+ items: {
1463
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items',
1464
+ type: 'object',
1465
+ title: 'An institution that received funding',
1466
+ properties: {
1467
+ affiliation_id: {
1468
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/affiliation_id',
1469
+ type: 'object',
1470
+ title: "The funded affiliation's ID",
1471
+ description: 'Affiliation ID of the associated project',
1472
+ properties: {
1473
+ identifier: {
1474
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/affiliation_id/properties/identifier',
1475
+ type: 'string',
1476
+ title: 'The affiliation ID',
1477
+ description: 'ROR ID or URL. Recommended to use Research Organization Registry (ROR). See: https://ror.org',
1478
+ examples: ['https://ror.org/00pjdza24', 'https://cdlib.org']
1478
1479
  },
1479
- "type": {
1480
- "$id": "#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/affiliation_id/properties/type",
1481
- "type": "string",
1482
- "enum": [
1483
- "doi",
1484
- "ror",
1485
- "url"
1480
+ type: {
1481
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/affiliation_id/properties/type',
1482
+ type: 'string',
1483
+ enum: %w[
1484
+ doi
1485
+ ror
1486
+ url
1486
1487
  ],
1487
- "title": "The affiliation ID Type Schema",
1488
- "description": "Identifier type. Allowed values: doi, ror, url",
1489
- "examples": ["ror"]
1488
+ title: 'The affiliation ID Type Schema',
1489
+ description: 'Identifier type. Allowed values: doi, ror, url',
1490
+ examples: ['ror']
1490
1491
  }
1491
1492
  },
1492
- "required": [
1493
- "identifier",
1494
- "type"
1493
+ required: %w[
1494
+ identifier
1495
+ type
1495
1496
  ]
1496
1497
  },
1497
- "name": {
1498
- "$id": "#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/name",
1499
- "type": "string",
1500
- "title": "The name of the instituion / organization",
1501
- "description": "Project title",
1502
- "examples": ["Our New Project"]
1498
+ name: {
1499
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/items/properties/dmproadmap_funded_affiliations/items/properties/name',
1500
+ type: 'string',
1501
+ title: 'The name of the instituion / organization',
1502
+ description: 'Project title',
1503
+ examples: ['Our New Project']
1503
1504
  }
1504
1505
  }
1505
1506
  }
1506
1507
  },
1507
- "dmproadmap_opportunity_number": {
1508
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/dmproadmap_opportunity_number",
1509
- "type": "string",
1510
- "title": "The funder's opportunity / award number",
1511
- "description": "The funder's number used to identify the award or call for submissions",
1512
- "examples": ["Award-123"]
1508
+ dmproadmap_opportunity_number: {
1509
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/dmproadmap_opportunity_number',
1510
+ type: 'string',
1511
+ title: "The funder's opportunity / award number",
1512
+ description: "The funder's number used to identify the award or call for submissions",
1513
+ examples: ['Award-123']
1513
1514
  },
1514
- "dmproadmap_project_number": {
1515
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/dmproadmap_project_number",
1516
- "type": "string",
1517
- "title": "The funder's identifier for the research project",
1518
- "description": "The funder's identifier used to identify the research project",
1519
- "examples": ["prj-XYZ987-UCB"]
1515
+ dmproadmap_project_number: {
1516
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/dmproadmap_project_number',
1517
+ type: 'string',
1518
+ title: "The funder's identifier for the research project",
1519
+ description: "The funder's identifier used to identify the research project",
1520
+ examples: ['prj-XYZ987-UCB']
1520
1521
  },
1521
- "funder_id": {
1522
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/funder_id",
1523
- "type": "object",
1524
- "title": "The Funder ID Schema",
1525
- "description": "Funder ID of the associated project",
1526
- "properties": {
1527
- "identifier": {
1528
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/funder_id/properties/identifier",
1529
- "type": "string",
1530
- "title": "The Funder ID Value Schema",
1531
- "description": "Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/",
1532
- "examples": ["501100002428"]
1522
+ funder_id: {
1523
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/funder_id',
1524
+ type: 'object',
1525
+ title: 'The Funder ID Schema',
1526
+ description: 'Funder ID of the associated project',
1527
+ properties: {
1528
+ identifier: {
1529
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/funder_id/properties/identifier',
1530
+ type: 'string',
1531
+ title: 'The Funder ID Value Schema',
1532
+ description: 'Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/',
1533
+ examples: ['501100002428']
1533
1534
  },
1534
- "type": {
1535
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/funder_id/properties/type",
1536
- "type": "string",
1537
- "enum": [
1538
- "fundref",
1539
- "ror",
1540
- "url",
1541
- "other"
1535
+ type: {
1536
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/funder_id/properties/type',
1537
+ type: 'string',
1538
+ enum: %w[
1539
+ fundref
1540
+ ror
1541
+ url
1542
+ other
1542
1543
  ],
1543
- "title": "The Funder ID Type Schema",
1544
- "description": "Identifier type. Allowed values: fundref, url, other",
1545
- "examples": ["fundref"]
1544
+ title: 'The Funder ID Type Schema',
1545
+ description: 'Identifier type. Allowed values: fundref, url, other',
1546
+ examples: ['fundref']
1546
1547
  }
1547
1548
  },
1548
- "required": [
1549
- "identifier",
1550
- "type"
1549
+ required: %w[
1550
+ identifier
1551
+ type
1551
1552
  ]
1552
1553
  },
1553
- "funding_status": {
1554
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/funding_status",
1555
- "type": "string",
1556
- "enum": [
1557
- "planned",
1558
- "applied",
1559
- "granted",
1560
- "rejected"
1554
+ funding_status: {
1555
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/funding_status',
1556
+ type: 'string',
1557
+ enum: %w[
1558
+ planned
1559
+ applied
1560
+ granted
1561
+ rejected
1561
1562
  ],
1562
- "title": "The Funding Status Schema",
1563
- "description": "To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected",
1564
- "examples": ["granted"]
1563
+ title: 'The Funding Status Schema',
1564
+ description: 'To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected',
1565
+ examples: ['granted']
1565
1566
  },
1566
- "grant_id": {
1567
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/grant_id",
1568
- "type": "object",
1569
- "title": "The Funding Grant ID Schema",
1570
- "description": "Grant ID of the associated project",
1571
- "properties": {
1572
- "identifier": {
1573
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/grant_id/properties/identifier",
1574
- "type": "string",
1575
- "title": "The Funding Grant ID Value Schema",
1576
- "description": "Grant ID",
1577
- "examples": ["776242"]
1567
+ grant_id: {
1568
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/grant_id',
1569
+ type: 'object',
1570
+ title: 'The Funding Grant ID Schema',
1571
+ description: 'Grant ID of the associated project',
1572
+ properties: {
1573
+ identifier: {
1574
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/grant_id/properties/identifier',
1575
+ type: 'string',
1576
+ title: 'The Funding Grant ID Value Schema',
1577
+ description: 'Grant ID',
1578
+ examples: ['776242']
1578
1579
  },
1579
- "type": {
1580
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/grant_id/properties/type",
1581
- "type": "string",
1582
- "title": "The Funding Grant ID Type Schema",
1583
- "enum": [
1584
- "doi",
1585
- "url",
1586
- "other"
1580
+ type: {
1581
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/grant_id/properties/type',
1582
+ type: 'string',
1583
+ title: 'The Funding Grant ID Type Schema',
1584
+ enum: %w[
1585
+ doi
1586
+ url
1587
+ other
1587
1588
  ],
1588
- "description": "Identifier type. Allowed values: url, other",
1589
- "examples": ["other"]
1589
+ description: 'Identifier type. Allowed values: url, other',
1590
+ examples: ['other']
1590
1591
  }
1591
1592
  },
1592
- "required": [
1593
- "identifier",
1594
- "type"
1593
+ required: %w[
1594
+ identifier
1595
+ type
1595
1596
  ]
1596
1597
  },
1597
- "name": {
1598
- "$id": "#/properties/dmp/properties/project/items/properties/funding/properties/name",
1599
- "type": "string",
1600
- "title": "The name of the funding instituion / organization",
1601
- "description": "Name",
1602
- "examples": ["National Science Foundation"]
1598
+ name: {
1599
+ '$id': '#/properties/dmp/properties/project/items/properties/funding/properties/name',
1600
+ type: 'string',
1601
+ title: 'The name of the funding instituion / organization',
1602
+ description: 'Name',
1603
+ examples: ['National Science Foundation']
1603
1604
  }
1604
1605
  },
1605
- "required": [
1606
- "funding_status",
1607
- "name"
1606
+ required: %w[
1607
+ funding_status
1608
+ name
1608
1609
  ]
1609
1610
  }
1610
1611
  },
1611
- "start": {
1612
- "$id": "#/properties/dmp/properties/project/items/properties/start",
1613
- "type": "string",
1614
- "format": "date-time",
1615
- "title": "The DMP Project Start Date Schema",
1616
- "description": "Project start date. Encoded using the relevant ISO 8601 Date and Time compliant string.",
1617
- "examples": ["2019-04-01"]
1612
+ start: {
1613
+ '$id': '#/properties/dmp/properties/project/items/properties/start',
1614
+ type: 'string',
1615
+ format: 'date-time',
1616
+ title: 'The DMP Project Start Date Schema',
1617
+ description: 'Project start date. Encoded using the relevant ISO 8601 Date and Time compliant string.',
1618
+ examples: ['2019-04-01']
1618
1619
  },
1619
- "title": {
1620
- "$id": "#/properties/dmp/properties/project/items/properties/title",
1621
- "type": "string",
1622
- "title": "The DMP Project Title Schema",
1623
- "description": "Project title",
1624
- "examples": ["Our New Project"]
1620
+ title: {
1621
+ '$id': '#/properties/dmp/properties/project/items/properties/title',
1622
+ type: 'string',
1623
+ title: 'The DMP Project Title Schema',
1624
+ description: 'Project title',
1625
+ examples: ['Our New Project']
1625
1626
  }
1626
1627
  },
1627
- "required": [
1628
- "title"
1628
+ required: [
1629
+ 'title'
1629
1630
  ]
1630
1631
  }
1631
1632
  },
1632
- "title": {
1633
- "$id": "#/properties/dmp/properties/title",
1634
- "type": "string",
1635
- "title": "The DMP Title Schema",
1636
- "description": "Title of a DMP",
1637
- "examples": ["DMP for our new project"]
1633
+ title: {
1634
+ '$id': '#/properties/dmp/properties/title',
1635
+ type: 'string',
1636
+ title: 'The DMP Title Schema',
1637
+ description: 'Title of a DMP',
1638
+ examples: ['DMP for our new project']
1638
1639
  }
1639
1640
  },
1640
- "required": [
1641
- "contact",
1642
- "created",
1643
- "dataset",
1644
- "dmp_id",
1645
- "modified",
1646
- "project",
1647
- "title"
1641
+ required: %w[
1642
+ contact
1643
+ created
1644
+ dataset
1645
+ dmp_id
1646
+ modified
1647
+ project
1648
+ title
1648
1649
  ]
1649
1650
  }
1650
1651
  },
1651
- "additionalProperties": false,
1652
- "required": ["dmp"]
1652
+ additionalProperties: false,
1653
+ required: ['dmp']
1653
1654
  }.to_json)
1654
1655
  end
1655
1656
  end
1656
1657
  end
1658
+ # rubocop:enable Layout/LineLength, Metrics/MethodLength, Metrics/ClassLength
1657
1659
  end
1658
1660
  end