bolognese 1.9.14 → 1.9.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +53 -7
- data/Gemfile.lock +22 -22
- data/lib/bolognese/author_utils.rb +5 -5
- data/lib/bolognese/datacite_utils.rb +32 -26
- data/lib/bolognese/readers/datacite_reader.rb +9 -2
- data/lib/bolognese/readers/schema_org_reader.rb +3 -4
- data/lib/bolognese/utils.rb +12 -0
- data/lib/bolognese/version.rb +1 -1
- data/spec/author_utils_spec.rb +14 -2
- data/spec/datacite_utils_spec.rb +25 -0
- data/spec/fixtures/datacite-example-ROR-nameIdentifiers.xml +102 -0
- data/spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml +94 -0
- data/spec/fixtures/datacite-funderIdentifier.xml +20 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_items/insert.yml +73 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +65 -0
- data/spec/metadata_spec.rb +1 -1
- data/spec/readers/datacite_json_reader_spec.rb +1 -1
- data/spec/readers/datacite_reader_spec.rb +38 -6
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53a45d740ac30bb235316e61ad8650ae88bd789ca1bafcc09a004b1ac9bf76cc
|
4
|
+
data.tar.gz: 771f8867608f7b3984861f10ceecc0b48e8ac17763f1b936e1d9f79002e16f13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1268a2e57636ec811b9004143c7092325e249050ffa4669119491e290604b5cc14c3e13983f2014196919b5bb97bb197e76c7620ced11dc34103e601b923ecb5
|
7
|
+
data.tar.gz: fc1a9df23987eb69d5797102fb537bcbe65a5f565d19413e7b018af8442effa295cbaf5efeba04450ac8ae017d8b017141f009694aabde102114bfccafcba5d1
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,48 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [Unreleased](https://github.com/datacite/bolognese/tree/HEAD)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.18...HEAD)
|
6
|
+
|
7
|
+
**Fixed bugs:**
|
8
|
+
|
9
|
+
- Fix related items handling to not include elements when they are blank [\#140](https://github.com/datacite/bolognese/issues/140)
|
10
|
+
- Related Items error out if RelatedItemIdentifier is nil [\#139](https://github.com/datacite/bolognese/issues/139)
|
11
|
+
|
12
|
+
## [1.9.18](https://github.com/datacite/bolognese/tree/1.9.18) (2022-10-11)
|
13
|
+
|
14
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.17...1.9.18)
|
15
|
+
|
16
|
+
**Merged pull requests:**
|
17
|
+
|
18
|
+
- Fix relatedItems handling [\#144](https://github.com/datacite/bolognese/pull/144) ([digitaldogsbody](https://github.com/digitaldogsbody))
|
19
|
+
- Fixes normalization behavior that omitted non-URL funding identifiers when reading from DataCite XML. Adds normalization for Crossref Funder ID and ROR funderIdentifierTypes. [\#143](https://github.com/datacite/bolognese/pull/143) ([codycooperross](https://github.com/codycooperross))
|
20
|
+
- Including a schemeURI with a nameIdentifier that is a URL will concat… [\#137](https://github.com/datacite/bolognese/pull/137) ([codycooperross](https://github.com/codycooperross))
|
21
|
+
|
22
|
+
## [1.9.17](https://github.com/datacite/bolognese/tree/1.9.17) (2022-07-04)
|
23
|
+
|
24
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.16...1.9.17)
|
25
|
+
|
26
|
+
## [1.9.16](https://github.com/datacite/bolognese/tree/1.9.16) (2022-07-04)
|
27
|
+
|
28
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.15...1.9.16)
|
29
|
+
|
30
|
+
## [1.9.15](https://github.com/datacite/bolognese/tree/1.9.15) (2022-07-04)
|
31
|
+
|
32
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.14...1.9.15)
|
33
|
+
|
34
|
+
**Merged pull requests:**
|
35
|
+
|
36
|
+
- Fix issue Bracco 521 [\#138](https://github.com/datacite/bolognese/pull/138) ([richardhallett](https://github.com/richardhallett))
|
37
|
+
|
38
|
+
## [1.9.14](https://github.com/datacite/bolognese/tree/1.9.14) (2022-05-25)
|
39
|
+
|
40
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.13...1.9.14)
|
41
|
+
|
42
|
+
**Merged pull requests:**
|
43
|
+
|
44
|
+
- Update critical dependencies [\#134](https://github.com/datacite/bolognese/pull/134) ([jrhoads](https://github.com/jrhoads))
|
45
|
+
|
3
46
|
## [1.9.13](https://github.com/datacite/bolognese/tree/1.9.13) (2022-01-06)
|
4
47
|
|
5
48
|
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.12...1.9.13)
|
@@ -116,6 +159,7 @@
|
|
116
159
|
|
117
160
|
**Merged pull requests:**
|
118
161
|
|
162
|
+
- Support returning single geoLocationPolygon [\#111](https://github.com/datacite/bolognese/pull/111) ([richardhallett](https://github.com/richardhallett))
|
119
163
|
- Change detection for crosscite format [\#107](https://github.com/datacite/bolognese/pull/107) ([richardhallett](https://github.com/richardhallett))
|
120
164
|
- Add support for multiple geolocation polygons [\#106](https://github.com/datacite/bolognese/pull/106) ([richardhallett](https://github.com/richardhallett))
|
121
165
|
- Support schema 4 4 [\#105](https://github.com/datacite/bolognese/pull/105) ([richardhallett](https://github.com/richardhallett))
|
@@ -187,7 +231,6 @@
|
|
187
231
|
|
188
232
|
**Merged pull requests:**
|
189
233
|
|
190
|
-
- Support returning single geoLocationPolygon [\#111](https://github.com/datacite/bolognese/pull/111) ([richardhallett](https://github.com/richardhallett))
|
191
234
|
- Allow some pre-1.0 versions of thor [\#102](https://github.com/datacite/bolognese/pull/102) ([cjcolvar](https://github.com/cjcolvar))
|
192
235
|
|
193
236
|
## [1.8.5](https://github.com/datacite/bolognese/tree/1.8.5) (2020-07-30)
|
@@ -339,6 +382,10 @@
|
|
339
382
|
|
340
383
|
[Full Changelog](https://github.com/datacite/bolognese/compare/1.5.17...1.5.18)
|
341
384
|
|
385
|
+
**Merged pull requests:**
|
386
|
+
|
387
|
+
- fixes missing version attribute when data comes from datacite\_json [\#85](https://github.com/datacite/bolognese/pull/85) ([kjgarza](https://github.com/kjgarza))
|
388
|
+
|
342
389
|
## [1.5.17](https://github.com/datacite/bolognese/tree/1.5.17) (2020-04-18)
|
343
390
|
|
344
391
|
[Full Changelog](https://github.com/datacite/bolognese/compare/1.5.16...1.5.17)
|
@@ -445,7 +492,6 @@
|
|
445
492
|
|
446
493
|
**Merged pull requests:**
|
447
494
|
|
448
|
-
- fixes missing version attribute when data comes from datacite\_json [\#85](https://github.com/datacite/bolognese/pull/85) ([kjgarza](https://github.com/kjgarza))
|
449
495
|
- Bump rack from 2.0.7 to 2.0.8 [\#79](https://github.com/datacite/bolognese/pull/79) ([dependabot[bot]](https://github.com/apps/dependabot))
|
450
496
|
|
451
497
|
## [v.1.4.1](https://github.com/datacite/bolognese/tree/v.1.4.1) (2019-12-15)
|
@@ -1334,15 +1380,15 @@
|
|
1334
1380
|
|
1335
1381
|
## [v.0.9.70](https://github.com/datacite/bolognese/tree/v.0.9.70) (2018-01-12)
|
1336
1382
|
|
1337
|
-
[Full Changelog](https://github.com/datacite/bolognese/compare/v.0.
|
1383
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/v.0.6.69...v.0.9.70)
|
1338
1384
|
|
1339
|
-
## [v.0.
|
1385
|
+
## [v.0.6.69](https://github.com/datacite/bolognese/tree/v.0.6.69) (2018-01-11)
|
1340
1386
|
|
1341
|
-
[Full Changelog](https://github.com/datacite/bolognese/compare/v.0.
|
1387
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/v.0.9.69...v.0.6.69)
|
1342
1388
|
|
1343
|
-
## [v.0.
|
1389
|
+
## [v.0.9.69](https://github.com/datacite/bolognese/tree/v.0.9.69) (2018-01-11)
|
1344
1390
|
|
1345
|
-
[Full Changelog](https://github.com/datacite/bolognese/compare/v.0.9.68...v.0.
|
1391
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/v.0.9.68...v.0.9.69)
|
1346
1392
|
|
1347
1393
|
## [v.0.9.68](https://github.com/datacite/bolognese/tree/v.0.9.68) (2018-01-11)
|
1348
1394
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.9.
|
4
|
+
bolognese (1.9.18)
|
5
5
|
activesupport (>= 4.2.5)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
@@ -30,7 +30,7 @@ PATH
|
|
30
30
|
GEM
|
31
31
|
remote: https://rubygems.org/
|
32
32
|
specs:
|
33
|
-
activesupport (6.1.
|
33
|
+
activesupport (6.1.7)
|
34
34
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
35
35
|
i18n (>= 1.6, < 2)
|
36
36
|
minitest (>= 5.1)
|
@@ -67,7 +67,7 @@ GEM
|
|
67
67
|
scanf (~> 1.0)
|
68
68
|
sxp (~> 1.2)
|
69
69
|
unicode-types (~> 1.7)
|
70
|
-
edtf (3.0
|
70
|
+
edtf (3.1.0)
|
71
71
|
activesupport (>= 3.0, < 8.0)
|
72
72
|
excon (0.71.1)
|
73
73
|
faraday (0.17.5)
|
@@ -83,27 +83,27 @@ GEM
|
|
83
83
|
tilt
|
84
84
|
hashdiff (1.0.1)
|
85
85
|
htmlentities (4.3.4)
|
86
|
-
i18n (1.
|
86
|
+
i18n (1.12.0)
|
87
87
|
concurrent-ruby (~> 1.0)
|
88
88
|
iso8601 (0.9.1)
|
89
89
|
json (2.6.2)
|
90
90
|
json-canonicalization (0.3.0)
|
91
|
-
json-ld (3.2.
|
91
|
+
json-ld (3.2.3)
|
92
92
|
htmlentities (~> 4.3)
|
93
93
|
json-canonicalization (~> 0.3)
|
94
94
|
link_header (~> 0.0, >= 0.0.8)
|
95
95
|
multi_json (~> 1.15)
|
96
96
|
rack (~> 2.2)
|
97
|
-
rdf (~> 3.2)
|
98
|
-
json-ld-preloaded (3.2.
|
97
|
+
rdf (~> 3.2, >= 3.2.9)
|
98
|
+
json-ld-preloaded (3.2.1)
|
99
99
|
json-ld (~> 3.2)
|
100
100
|
rdf (~> 3.2)
|
101
101
|
jsonlint (0.3.0)
|
102
102
|
oj (~> 3)
|
103
103
|
optimist (~> 3)
|
104
|
-
latex-decode (0.
|
104
|
+
latex-decode (0.4.0)
|
105
105
|
link_header (0.0.8)
|
106
|
-
loofah (2.
|
106
|
+
loofah (2.19.0)
|
107
107
|
crass (~> 1.0.2)
|
108
108
|
nokogiri (>= 1.5.9)
|
109
109
|
maremma (4.9.8)
|
@@ -119,14 +119,14 @@ GEM
|
|
119
119
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
120
120
|
matrix (0.4.2)
|
121
121
|
mini_portile2 (2.8.0)
|
122
|
-
minitest (5.
|
122
|
+
minitest (5.16.3)
|
123
123
|
multi_json (1.15.0)
|
124
|
-
multipart-post (2.
|
124
|
+
multipart-post (2.2.3)
|
125
125
|
namae (1.1.1)
|
126
126
|
nokogiri (1.13.6)
|
127
127
|
mini_portile2 (~> 2.8.0)
|
128
128
|
racc (~> 1.4)
|
129
|
-
oj (3.13.
|
129
|
+
oj (3.13.21)
|
130
130
|
oj_mimic_json (1.0.1)
|
131
131
|
optimist (3.0.1)
|
132
132
|
postrank-uri (1.0.24)
|
@@ -135,13 +135,13 @@ GEM
|
|
135
135
|
public_suffix (>= 2.0.0, < 2.1)
|
136
136
|
public_suffix (2.0.5)
|
137
137
|
racc (1.6.0)
|
138
|
-
rack (2.2.3)
|
138
|
+
rack (2.2.3.1)
|
139
139
|
rack-test (0.8.3)
|
140
140
|
rack (>= 1.0, < 3)
|
141
141
|
rake (12.3.3)
|
142
|
-
rdf (3.2.
|
142
|
+
rdf (3.2.9)
|
143
143
|
link_header (~> 0.0, >= 0.0.8)
|
144
|
-
rdf-aggregate-repo (3.2.
|
144
|
+
rdf-aggregate-repo (3.2.1)
|
145
145
|
rdf (~> 3.2)
|
146
146
|
rdf-rdfa (3.2.0)
|
147
147
|
haml (~> 5.2)
|
@@ -155,10 +155,10 @@ GEM
|
|
155
155
|
rdf (~> 3.2)
|
156
156
|
rdf-rdfa (~> 3.2)
|
157
157
|
rdf-xsd (~> 3.2)
|
158
|
-
rdf-turtle (3.2.
|
158
|
+
rdf-turtle (3.2.1)
|
159
159
|
ebnf (~> 2.3)
|
160
160
|
rdf (~> 3.2)
|
161
|
-
rdf-vocab (3.2.
|
161
|
+
rdf-vocab (3.2.2)
|
162
162
|
rdf (~> 3.2, >= 3.2.4)
|
163
163
|
rdf-xsd (3.2.1)
|
164
164
|
rdf (~> 3.2)
|
@@ -191,17 +191,17 @@ GEM
|
|
191
191
|
rdf (~> 3.2)
|
192
192
|
temple (0.8.2)
|
193
193
|
thor (1.2.1)
|
194
|
-
tilt (2.0.
|
195
|
-
tzinfo (2.0.
|
194
|
+
tilt (2.0.11)
|
195
|
+
tzinfo (2.0.5)
|
196
196
|
concurrent-ruby (~> 1.0)
|
197
|
-
unicode-types (1.
|
197
|
+
unicode-types (1.8.0)
|
198
198
|
unicode_utils (1.4.0)
|
199
199
|
vcr (3.0.3)
|
200
200
|
webmock (3.14.0)
|
201
201
|
addressable (>= 2.8.0)
|
202
202
|
crack (>= 0.3.2)
|
203
203
|
hashdiff (>= 0.4.0, < 2.0.0)
|
204
|
-
zeitwerk (2.
|
204
|
+
zeitwerk (2.6.1)
|
205
205
|
|
206
206
|
PLATFORMS
|
207
207
|
ruby
|
@@ -219,4 +219,4 @@ DEPENDENCIES
|
|
219
219
|
webmock (~> 3.0, >= 3.0.1)
|
220
220
|
|
221
221
|
BUNDLED WITH
|
222
|
-
2.3.
|
222
|
+
2.3.23
|
@@ -35,15 +35,15 @@ module Bolognese
|
|
35
35
|
"nameIdentifier" => normalize_orcid(ni["__content__"]),
|
36
36
|
"schemeUri" => "https://orcid.org",
|
37
37
|
"nameIdentifierScheme" => "ORCID" }.compact
|
38
|
-
elsif ni["
|
38
|
+
elsif ni["nameIdentifierScheme"] == "ROR"
|
39
39
|
{
|
40
|
-
"nameIdentifier" => ni["
|
41
|
-
"schemeUri" =>
|
42
|
-
"nameIdentifierScheme" =>
|
40
|
+
"nameIdentifier" => normalize_ror(ni["__content__"]),
|
41
|
+
"schemeUri" => "https://ror.org",
|
42
|
+
"nameIdentifierScheme" => "ROR" }.compact
|
43
43
|
else
|
44
44
|
{
|
45
45
|
"nameIdentifier" => ni["__content__"],
|
46
|
-
"schemeUri" => nil,
|
46
|
+
"schemeUri" => ni.fetch("schemeURI", nil),
|
47
47
|
"nameIdentifierScheme" => ni["nameIdentifierScheme"] }.compact
|
48
48
|
end
|
49
49
|
end.presence
|
@@ -222,19 +222,23 @@ module Bolognese
|
|
222
222
|
|
223
223
|
xml.relatedItem(related_item["relatedItem"], attributes) do
|
224
224
|
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
225
|
+
if related_item["relatedItemIdentifier"].present?
|
226
|
+
xml.relatedItemIdentifier(related_item["relatedItemIdentifier"]['relatedItemIdentifier'],
|
227
|
+
{
|
228
|
+
'relatedItemIdentifierType' => related_item["relatedItemIdentifier"]["relatedItemIdentifierType"],
|
229
|
+
'relatedMetadataScheme' => related_item["relatedItemIdentifier"]["relatedMetadataScheme"],
|
230
|
+
'schemeURI' => related_item["relatedItemIdentifier"]["schemeURI"],
|
231
|
+
'schemeType' => related_item["relatedItemIdentifier"]["schemeType"],
|
232
|
+
}.compact
|
233
|
+
)
|
234
|
+
end
|
235
|
+
|
236
|
+
if related_item["creators"].present?
|
237
|
+
xml.creators do
|
238
|
+
Array.wrap(related_item['creators']).each do |au|
|
239
|
+
xml.creator do
|
240
|
+
insert_person(xml, au, "creator")
|
241
|
+
end
|
238
242
|
end
|
239
243
|
end
|
240
244
|
end
|
@@ -253,19 +257,21 @@ module Bolognese
|
|
253
257
|
end
|
254
258
|
end
|
255
259
|
|
256
|
-
xml.publicationYear(related_item['publicationYear'])
|
257
|
-
xml.volume(related_item['volume'])
|
258
|
-
xml.issue(related_item['issue'])
|
259
|
-
xml.number(related_item['number'], {'numberType' => related_item['numberType']}.compact)
|
260
|
-
xml.firstPage(related_item['firstPage'])
|
261
|
-
xml.lastPage(related_item['lastPage'])
|
262
|
-
xml.publisher(related_item['publisher'])
|
263
|
-
xml.edition(related_item['edition'])
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
260
|
+
xml.publicationYear(related_item['publicationYear']) if related_item["publicationYear"].present?
|
261
|
+
xml.volume(related_item['volume']) if related_item["volume"].present?
|
262
|
+
xml.issue(related_item['issue']) if related_item["issue"].present?
|
263
|
+
xml.number(related_item['number'], {'numberType' => related_item['numberType']}.compact) if related_item["number"].present?
|
264
|
+
xml.firstPage(related_item['firstPage']) if related_item["firstPage"].present?
|
265
|
+
xml.lastPage(related_item['lastPage']) if related_item["lastPage"].present?
|
266
|
+
xml.publisher(related_item['publisher']) if related_item["publisher"].present?
|
267
|
+
xml.edition(related_item['edition']) if related_item["edition"].present?
|
268
|
+
|
269
|
+
if related_item["contributors"].present?
|
270
|
+
xml.contributors do
|
271
|
+
Array.wrap(related_item["contributors"]).each do |con|
|
272
|
+
xml.contributor("contributorType" => con["contributorType"] || "Other") do
|
273
|
+
insert_person(xml, con, "contributor")
|
274
|
+
end
|
269
275
|
end
|
270
276
|
end
|
271
277
|
end
|
@@ -157,14 +157,21 @@ module Bolognese
|
|
157
157
|
scheme_uri = parse_attributes(fr["funderIdentifier"], content: "schemeURI")
|
158
158
|
funder_identifier = parse_attributes(fr["funderIdentifier"])
|
159
159
|
funder_identifier_type = parse_attributes(fr["funderIdentifier"], content: "funderIdentifierType")
|
160
|
-
|
161
|
-
|
160
|
+
|
161
|
+
if funder_identifier_type == "Crossref Funder ID"
|
162
|
+
funder_identifier = validate_funder_doi(funder_identifier)
|
163
|
+
elsif funder_identifier_type == "ROR"
|
164
|
+
funder_identifier = normalize_ror(funder_identifier)
|
165
|
+
scheme_uri = "https://ror.org"
|
166
|
+
else
|
167
|
+
funder_identifier = normalize_id(funder_identifier) ? normalize_id(funder_identifier) : funder_identifier
|
162
168
|
end
|
163
169
|
|
164
170
|
{
|
165
171
|
"funderName" => fr["funderName"],
|
166
172
|
"funderIdentifier" => funder_identifier,
|
167
173
|
"funderIdentifierType" => funder_identifier_type,
|
174
|
+
"schemeUri" => scheme_uri,
|
168
175
|
"awardNumber" => parse_attributes(fr["awardNumber"]),
|
169
176
|
"awardUri" => parse_attributes(fr["awardNumber"], content: "awardURI"),
|
170
177
|
"awardTitle" => fr["awardTitle"] }.compact
|
@@ -28,11 +28,10 @@ module Bolognese
|
|
28
28
|
|
29
29
|
url = normalize_id(id)
|
30
30
|
response = Maremma.get(url)
|
31
|
-
doc = Nokogiri::XML(response.body.fetch("data", nil), nil, 'UTF-8')
|
32
31
|
|
33
|
-
#
|
34
|
-
|
35
|
-
string =
|
32
|
+
# Find the schema.org json from the html body
|
33
|
+
doc = Nokogiri::HTML(response.body.fetch("data", nil))
|
34
|
+
string = doc.at('script[type="application/ld+json"]')
|
36
35
|
string = string.text if string.present?
|
37
36
|
|
38
37
|
{ "string" => string }
|
data/lib/bolognese/utils.rb
CHANGED
@@ -578,6 +578,10 @@ module Bolognese
|
|
578
578
|
orcid.gsub(/[[:space:]]/, "-") if orcid.present?
|
579
579
|
end
|
580
580
|
|
581
|
+
def validate_ror(ror)
|
582
|
+
Array(/^(?:(?:(?:http|https):\/\/)?ror\.org\/)?(0\w{6}\d{2})$/.match(ror)).last
|
583
|
+
end
|
584
|
+
|
581
585
|
def validate_orcid_scheme(orcid_scheme)
|
582
586
|
Array(/\A(http|https):\/\/(www\.)?(orcid\.org)/.match(orcid_scheme)).last
|
583
587
|
end
|
@@ -659,6 +663,14 @@ module Bolognese
|
|
659
663
|
"https://orcid.org/" + Addressable::URI.encode(orcid)
|
660
664
|
end
|
661
665
|
|
666
|
+
def normalize_ror(ror)
|
667
|
+
ror = validate_ror(ror)
|
668
|
+
return nil unless ror.present?
|
669
|
+
|
670
|
+
# turn ROR into URL
|
671
|
+
"https://ror.org/" + Addressable::URI.encode(ror)
|
672
|
+
end
|
673
|
+
|
662
674
|
def normalize_ids(ids: nil, relation_type: nil)
|
663
675
|
Array.wrap(ids).select { |idx| idx["@id"].present? }.map do |idx|
|
664
676
|
id = normalize_id(idx["@id"])
|
data/lib/bolognese/version.rb
CHANGED
data/spec/author_utils_spec.rb
CHANGED
@@ -133,7 +133,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
133
133
|
"familyName" => "Schumacher",
|
134
134
|
"givenName" => "Heinrich Christian",
|
135
135
|
"name" => "Schumacher, Heinrich Christian",
|
136
|
-
"nameIdentifiers" => [{"nameIdentifier"=>"
|
136
|
+
"nameIdentifiers" => [{"nameIdentifier"=>"118611593", "nameIdentifierScheme"=>"GND", "schemeUri"=>"http://d-nb.info/gnd/"}],
|
137
137
|
"nameType" => "Personal")
|
138
138
|
end
|
139
139
|
|
@@ -142,7 +142,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
142
142
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
143
143
|
meta = Maremma.from_xml(subject.raw).fetch("resource", {})
|
144
144
|
response = subject.get_one_author(meta.dig("creators", "creator"))
|
145
|
-
expect(response).to eq("nameType"=>"Personal", "name"=>"Dubos, Thomas", "givenName"=>"Thomas", "familyName"=>"Dubos", "affiliation" => [{"name"=>"École Polytechnique Laboratoire de Météorologie Dynamique"}], "nameIdentifiers" => [{"nameIdentifier"=>"
|
145
|
+
expect(response).to eq("nameType"=>"Personal", "name"=>"Dubos, Thomas", "givenName"=>"Thomas", "familyName"=>"Dubos", "affiliation" => [{"name"=>"École Polytechnique Laboratoire de Météorologie Dynamique"}], "nameIdentifiers" => [{"nameIdentifier"=>"0000 0003 5752 6882", "nameIdentifierScheme"=>"ISNI", "schemeUri"=>"http://isni.org/isni/"}, {"nameIdentifier"=>"https://orcid.org/0000-0003-4514-4211", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}])
|
146
146
|
end
|
147
147
|
|
148
148
|
it "nameType organizational" do
|
@@ -160,6 +160,18 @@ describe Bolognese::Metadata, vcr: true do
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
163
|
+
it "has ROR nameIdentifiers" do
|
164
|
+
input = fixture_path + 'datacite-example-ROR-nameIdentifiers.xml'
|
165
|
+
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
166
|
+
expect(subject.creators[1]).to eq("nameType"=>"Organizational", "name"=>"Gump South Pacific Research Station", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/04sk0et52", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[])
|
167
|
+
expect(subject.creators[2]).to eq("nameType"=>"Organizational", "name"=>"University Of Vic", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/006zjws59", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[])
|
168
|
+
expect(subject.creators[3]).to eq("nameType"=>"Organizational", "name"=>"University Of Kivu", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/01qfhxr31", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[])
|
169
|
+
expect(subject.creators[4]).to eq("nameType"=>"Organizational", "name"=>"សាកលវិទ្យាល័យកម្ពុជា", "nameIdentifiers"=> [{"nameIdentifier"=>"http://ror.org/025e3rc84", "nameIdentifierScheme"=>"RORS"}], "affiliation"=>[])
|
170
|
+
expect(subject.creators[5]).to eq("nameType"=>"Organizational", "name"=>"جامعة زاخۆ", "nameIdentifiers"=> [{"nameIdentifier"=>"05sd1pz50", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"RORS"}], "affiliation"=>[])
|
171
|
+
expect(subject.contributors.first).to eq("nameType"=>"Organizational", "name"=>" Nawroz University ", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/04gp75d48", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[], "contributorType"=>"Producer")
|
172
|
+
expect(subject.contributors.last).to eq("nameType"=>"Organizational", "name"=>"University Of Greenland (Https://Www.Uni.Gl/)", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/00t5j6b61", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}],"affiliation"=>[], "contributorType"=>"Sponsor")
|
173
|
+
end
|
174
|
+
|
163
175
|
context "authors_as_string" do
|
164
176
|
let(:author_with_organization) { [{"type"=>"Person",
|
165
177
|
"id"=>"http://orcid.org/0000-0003-0077-4738",
|
data/spec/datacite_utils_spec.rb
CHANGED
@@ -175,4 +175,29 @@ describe Bolognese::Metadata, vcr: true do
|
|
175
175
|
expect(response.dig("descriptions", "description")).to eq("descriptionType" => "Abstract", "__content__" => "Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
|
176
176
|
end
|
177
177
|
end
|
178
|
+
|
179
|
+
context "insert_related_items" do
|
180
|
+
let(:input) { IO.read(fixture_path + 'datacite-example-relateditems.xml') }
|
181
|
+
it "insert" do
|
182
|
+
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
183
|
+
xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml| subject.insert_related_items(xml) }.to_xml
|
184
|
+
response = Maremma.from_xml(xml)
|
185
|
+
expect(response.dig("relatedItems", "relatedItem")).to eq(
|
186
|
+
"relationType" => "IsPublishedIn",
|
187
|
+
"relatedItemType" => "Journal",
|
188
|
+
"relatedItemIdentifier" => {"__content__"=>"10.5072/john-smiths-1234", "relatedItemIdentifierType"=>"DOI", "relatedMetadataScheme"=>"citeproc+json", "schemeType"=>"URL", "schemeURI"=>"https://github.com/citation-style-language/schema/raw/master/csl-data.json"},
|
189
|
+
"creators" => {"creator"=>{"creatorName"=>{"__content__"=>"Smith, John", "nameType"=>"Personal"}, "familyName"=>"Smith", "givenName"=>"John"}},
|
190
|
+
"titles" => {"title"=>["Understanding the fictional John Smith", {"__content__"=>"A detailed look", "titleType"=>"Subtitle"}]},
|
191
|
+
"publicationYear" => "1776",
|
192
|
+
"volume" => "776",
|
193
|
+
"issue" => "1",
|
194
|
+
"number" => {"__content__"=>"1", "numberType"=>"Chapter"},
|
195
|
+
"firstPage" => "50",
|
196
|
+
"lastPage" => "60",
|
197
|
+
"publisher" => "Example Inc",
|
198
|
+
"edition" => "1",
|
199
|
+
"contributors" => {"contributor"=>{"contributorName"=>"Hallett, Richard", "contributorType"=>"ProjectLeader", "familyName"=>"Hallett", "givenName"=>"Richard"}}
|
200
|
+
)
|
201
|
+
end
|
202
|
+
end
|
178
203
|
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3
|
+
xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-%s http://schema.datacite.org/meta/kernel-4/metadata.xsd">
|
4
|
+
<identifier identifierType="DOI">10.48321/D1Z60Q</identifier>
|
5
|
+
<creators>
|
6
|
+
<creator>
|
7
|
+
<creatorName nameType="Personal">Erin Robinson</creatorName>
|
8
|
+
<nameIdentifier schemeURI="https://orcid.org/" nameIdentifierScheme="ORCID"> https://orcid.org/0000-0001-9998-0114 </nameIdentifier>
|
9
|
+
<affiliation schemeURI="https://ror.org" affiliationIdentifier="https://ror.org/05bp8ka05" affiliationIdentifierScheme="ROR"> Metadata Game Changers </affiliation>
|
10
|
+
</creator>
|
11
|
+
<creator>
|
12
|
+
<creatorName nameType="Organizational">Gump South Pacific Research Station</creatorName>
|
13
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org/">https://ror.org/04sk0et52</nameIdentifier>
|
14
|
+
</creator>
|
15
|
+
<creator>
|
16
|
+
<creatorName nameType="Organizational">University of Vic</creatorName>
|
17
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org">006zjws59</nameIdentifier>
|
18
|
+
</creator>
|
19
|
+
<creator>
|
20
|
+
<creatorName nameType="Organizational">University of Kivu</creatorName>
|
21
|
+
<nameIdentifier nameIdentifierScheme="ROR">http://ror.org/01qfhxr31</nameIdentifier>
|
22
|
+
</creator>
|
23
|
+
<creator>
|
24
|
+
<creatorName nameType="Organizational">សាកលវិទ្យាល័យកម្ពុជា</creatorName>
|
25
|
+
<nameIdentifier nameIdentifierScheme="RORS">http://ror.org/025e3rc84</nameIdentifier>
|
26
|
+
</creator>
|
27
|
+
<creator>
|
28
|
+
<creatorName nameType="Organizational">جامعة زاخۆ</creatorName>
|
29
|
+
<nameIdentifier nameIdentifierScheme="RORS" schemeURI="https://ror.org">05sd1pz50</nameIdentifier>
|
30
|
+
</creator>
|
31
|
+
</creators>
|
32
|
+
<titles>
|
33
|
+
<title xml:lang="en-US">Genomic Standards Consortium (GSC) Island Sampling Day: Moorea Reef to Ridges Genomic Transect</title>
|
34
|
+
</titles>
|
35
|
+
<publisher xml:lang="en-US">DMPHub</publisher>
|
36
|
+
<publicationYear>2022</publicationYear>
|
37
|
+
<contributors>
|
38
|
+
<contributor contributorType="Producer">
|
39
|
+
<contributorName nameType="Organizational"> Nawroz University </contributorName>
|
40
|
+
<nameIdentifier nameIdentifierScheme="ROR">04gp75d48</nameIdentifier>
|
41
|
+
</contributor>
|
42
|
+
<contributor contributorType="ProjectLeader">
|
43
|
+
<contributorName nameType="Personal">Neil Davies</contributorName>
|
44
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0001-8085-5014</nameIdentifier>
|
45
|
+
<affiliation affiliationIdentifier="https://ror.org/01an7q238" affiliationIdentifierScheme="ROR"> University of California, Berkeley </affiliation>
|
46
|
+
</contributor>
|
47
|
+
<contributor contributorType="ProjectLeader">
|
48
|
+
<contributorName nameType="Personal">Ramona Walls</contributorName>
|
49
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0001-8815-0078</nameIdentifier>
|
50
|
+
<affiliation affiliationIdentifier="https://ror.org/03m2x1q45" affiliationIdentifierScheme="ROR"> University of Arizona </affiliation>
|
51
|
+
</contributor>
|
52
|
+
<contributor contributorType="ProjectLeader">
|
53
|
+
<contributorName nameType="Personal">Serge Planes</contributorName>
|
54
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-5689-5371</nameIdentifier>
|
55
|
+
<affiliation affiliationIdentifier="https://ror.org/02feahw73" affiliationIdentifierScheme="ROR"> French National Centre for Scientific Research </affiliation>
|
56
|
+
</contributor>
|
57
|
+
<contributor contributorType="ProjectLeader">
|
58
|
+
<contributorName nameType="Personal">Chris Meyer</contributorName>
|
59
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0003-2501-7952</nameIdentifier>
|
60
|
+
<affiliation affiliationIdentifier="https://ror.org/01pp8nd67" affiliationIdentifierScheme="ROR"> Smithsonian Institution </affiliation>
|
61
|
+
</contributor>
|
62
|
+
<contributor contributorType="ProjectLeader">
|
63
|
+
<contributorName nameType="Personal">Lynn Schriml</contributorName>
|
64
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0001-8910-9851</nameIdentifier>
|
65
|
+
<affiliation affiliationIdentifier="https://ror.org/04rq5mt64" affiliationIdentifierScheme="ROR"> University of Maryland, Baltimore </affiliation>
|
66
|
+
</contributor>
|
67
|
+
<contributor contributorType="ProjectMember">
|
68
|
+
<contributorName nameType="Personal">Scott Tighe</contributorName>
|
69
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-3988-0741</nameIdentifier>
|
70
|
+
<affiliation affiliationIdentifier="https://ror.org/0155zta11" affiliationIdentifierScheme="ROR"> University of Vermont </affiliation>
|
71
|
+
</contributor>
|
72
|
+
<contributor contributorType="ProjectMember">
|
73
|
+
<contributorName nameType="Personal">Pier Luigi Buttigieg</contributorName>
|
74
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-4366-3088</nameIdentifier>
|
75
|
+
<affiliation affiliationIdentifier="https://ror.org/02h2x0161" affiliationIdentifierScheme="ROR"> GEOMAR Helmholtz Centre for Ocean Research Kiel </affiliation>
|
76
|
+
</contributor>
|
77
|
+
<contributor contributorType="ProjectMember">
|
78
|
+
<contributorName nameType="Personal">Raïssa Meyer</contributorName>
|
79
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-2996-719X</nameIdentifier>
|
80
|
+
<affiliation affiliationIdentifier="https://ror.org/032e6b942" affiliationIdentifierScheme="ROR"> Alfred Wegener Institute for Polar and Marine Research </affiliation>
|
81
|
+
</contributor>
|
82
|
+
<contributor contributorType="Sponsor">
|
83
|
+
<contributorName nameType="Organizational">University of Greenland (https://www.uni.gl/)</contributorName>
|
84
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org/">https://ror.org/00t5j6b61</nameIdentifier>
|
85
|
+
</contributor>
|
86
|
+
</contributors>
|
87
|
+
<language>en-US</language>
|
88
|
+
<resourceType resourceTypeGeneral="OutputManagementPlan">Data Management Plan</resourceType>
|
89
|
+
<descriptions>
|
90
|
+
<description xml:lang="en-US" descriptionType="Abstract"> <p>Here we describe a project that supports the mission of the Genomic Standards Consortium (GSC) and contributes to the “Ocean Biomolecular Observations Network” (OBON) and the “Ocean Best Practice System” (OBPS - Omics Task Team), flagship programs of the UN Ocean Decade of Ocean Science for Sustainable Development. The project serves as a test case for two related infrastructure projects that aim to improve standards, policies, and best practices in sample collection: Sampling Nature (SN) Research Coordination Network and the Internet of Samples (iSamples).</p> <p><strong>The project’s primary goal (first paper) is methodologica</strong>l: (i) to demonstrate the value of genomic standards for both genomic research and secondary interdisciplinary research, (ii) to highlight the importance of data curation workflows that follow FAIR+CARE principles maximizing the potential for appropriate reuse of data and material samples, (iii) to illustrate the challenges that remain in implementing those standards - including ethical, legal, and social aspects, and (iv) to demonstrate some of the tools, infrastructures, and best-practices available for overcoming these challenges. This paper will include all the elements of a data paper (primary publication of the initial data collected), but with broader discussion around it as a use case for metadata standards and best practices in multi-omic sampling.</p> <p><strong>The project’s secondary goal (second paper) is to address research questions including</strong>: (1) To what extent can one day of environmental sampling, and subsequent multi-omic analyses, characterize the ecological state of an island (coupled marine-terrestrial ecosystem)? (2) To what extent might such surveys serve as baselines for futuromic study (future analysis of biomolecules from the material samples archived), and (3) if repeated, could these surveys help address long-term changes in genomic biodiversity? (4) How does marine and terrestrial eDNA change across a transect? Moorea is one of the most well-described biotas in the world and has one of the longest and most intensive time-series of ecological data, particularly for coral reef ecosystems. It thus serves as a powerful calibration site for such a study.</p> <p><br><strong>The project’s broader impact goal is public outreach </strong>– if possible engage local citizen scientists/schools, ideally through Fare Natura (ecomuseum at entrance to the Opunohu Valley. (Also perhaps local Associations that might be interested, e.g., Te Pu Atitia). Sampling Nature will produce an outreach videos based on this Island Sampling Day.</p> </description>
|
91
|
+
</descriptions>
|
92
|
+
<fundingReferences>
|
93
|
+
<fundingReference>
|
94
|
+
<funderName>Genomic Standards Consortium</funderName>
|
95
|
+
</fundingReference>
|
96
|
+
</fundingReferences>
|
97
|
+
<relatedIdentifiers>
|
98
|
+
<relatedIdentifier relationType="IsMetadataFor" relatedIdentifierType="URL"> https://dmptool.org/api/v2/plans/74309.pdf </relatedIdentifier>
|
99
|
+
<relatedIdentifier relationType="Cites" relatedIdentifierType="URL"> https://n2t.net/ark:/21547/EBW2 </relatedIdentifier>
|
100
|
+
<relatedIdentifier relationType="Cites" relatedIdentifierType="URL"> https://docs.google.com/document/d/1EYgEEUroMBiTNc5Px11_44G-B17JtTgyssyNkK3hV_U/edit#heading=h.ckwz8v2yry1q </relatedIdentifier>
|
101
|
+
</relatedIdentifiers>
|
102
|
+
</resource>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3
|
+
xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-%s http://schema.datacite.org/meta/kernel-4/metadata.xsd">
|
4
|
+
<identifier identifierType="DOI">10.48321/D1Z60Q</identifier>
|
5
|
+
<creators>
|
6
|
+
<creator>
|
7
|
+
<creatorName nameType="Personal">Erin Robinson</creatorName>
|
8
|
+
<nameIdentifier schemeURI="https://orcid.org/" nameIdentifierScheme="ORCID"> https://orcid.org/0000-0001-9998-0114 </nameIdentifier>
|
9
|
+
<affiliation schemeURI="https://ror.org" affiliationIdentifier="https://ror.org/05bp8ka05" affiliationIdentifierScheme="ROR"> Metadata Game Changers </affiliation>
|
10
|
+
</creator>
|
11
|
+
<creator>
|
12
|
+
<creatorName nameType="Organizational">Gump South Pacific Research Station</creatorName>
|
13
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org/">https://ror.org/04sk0et52</nameIdentifier>
|
14
|
+
</creator>
|
15
|
+
<creator>
|
16
|
+
<creatorName nameType="Organizational">Gump South Pacific Research Station</creatorName>
|
17
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org">04sk0et52</nameIdentifier>
|
18
|
+
</creator>
|
19
|
+
<creator>
|
20
|
+
<creatorName nameType="Organizational">Gump South Pacific Research Station</creatorName>
|
21
|
+
<nameIdentifier nameIdentifierScheme="ROR">04sk0et52</nameIdentifier>
|
22
|
+
</creator>
|
23
|
+
</creators>
|
24
|
+
<titles>
|
25
|
+
<title xml:lang="en-US">Genomic Standards Consortium (GSC) Island Sampling Day: Moorea Reef to Ridges Genomic Transect</title>
|
26
|
+
</titles>
|
27
|
+
<publisher xml:lang="en-US">DMPHub</publisher>
|
28
|
+
<publicationYear>2022</publicationYear>
|
29
|
+
<contributors>
|
30
|
+
<contributor contributorType="Producer">
|
31
|
+
<contributorName nameType="Organizational"> Gump South Pacific Research Station </contributorName>
|
32
|
+
<nameIdentifier nameIdentifierScheme="ROR">https://ror.org/04sk0et52</nameIdentifier>
|
33
|
+
</contributor>
|
34
|
+
<contributor contributorType="ProjectLeader">
|
35
|
+
<contributorName nameType="Personal">Neil Davies</contributorName>
|
36
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0001-8085-5014</nameIdentifier>
|
37
|
+
<affiliation affiliationIdentifier="https://ror.org/01an7q238" affiliationIdentifierScheme="ROR"> University of California, Berkeley </affiliation>
|
38
|
+
</contributor>
|
39
|
+
<contributor contributorType="ProjectLeader">
|
40
|
+
<contributorName nameType="Personal">Ramona Walls</contributorName>
|
41
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0001-8815-0078</nameIdentifier>
|
42
|
+
<affiliation affiliationIdentifier="https://ror.org/03m2x1q45" affiliationIdentifierScheme="ROR"> University of Arizona </affiliation>
|
43
|
+
</contributor>
|
44
|
+
<contributor contributorType="ProjectLeader">
|
45
|
+
<contributorName nameType="Personal">Serge Planes</contributorName>
|
46
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-5689-5371</nameIdentifier>
|
47
|
+
<affiliation affiliationIdentifier="https://ror.org/02feahw73" affiliationIdentifierScheme="ROR"> French National Centre for Scientific Research </affiliation>
|
48
|
+
</contributor>
|
49
|
+
<contributor contributorType="ProjectLeader">
|
50
|
+
<contributorName nameType="Personal">Chris Meyer</contributorName>
|
51
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0003-2501-7952</nameIdentifier>
|
52
|
+
<affiliation affiliationIdentifier="https://ror.org/01pp8nd67" affiliationIdentifierScheme="ROR"> Smithsonian Institution </affiliation>
|
53
|
+
</contributor>
|
54
|
+
<contributor contributorType="ProjectLeader">
|
55
|
+
<contributorName nameType="Personal">Lynn Schriml</contributorName>
|
56
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0001-8910-9851</nameIdentifier>
|
57
|
+
<affiliation affiliationIdentifier="https://ror.org/04rq5mt64" affiliationIdentifierScheme="ROR"> University of Maryland, Baltimore </affiliation>
|
58
|
+
</contributor>
|
59
|
+
<contributor contributorType="ProjectMember">
|
60
|
+
<contributorName nameType="Personal">Scott Tighe</contributorName>
|
61
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-3988-0741</nameIdentifier>
|
62
|
+
<affiliation affiliationIdentifier="https://ror.org/0155zta11" affiliationIdentifierScheme="ROR"> University of Vermont </affiliation>
|
63
|
+
</contributor>
|
64
|
+
<contributor contributorType="ProjectMember">
|
65
|
+
<contributorName nameType="Personal">Pier Luigi Buttigieg</contributorName>
|
66
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-4366-3088</nameIdentifier>
|
67
|
+
<affiliation affiliationIdentifier="https://ror.org/02h2x0161" affiliationIdentifierScheme="ROR"> GEOMAR Helmholtz Centre for Ocean Research Kiel </affiliation>
|
68
|
+
</contributor>
|
69
|
+
<contributor contributorType="ProjectMember">
|
70
|
+
<contributorName nameType="Personal">Raïssa Meyer</contributorName>
|
71
|
+
<nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">https://orcid.org/0000-0002-2996-719X</nameIdentifier>
|
72
|
+
<affiliation affiliationIdentifier="https://ror.org/032e6b942" affiliationIdentifierScheme="ROR"> Alfred Wegener Institute for Polar and Marine Research </affiliation>
|
73
|
+
</contributor>
|
74
|
+
<contributor contributorType="Sponsor">
|
75
|
+
<contributorName nameType="Organizational">Gump South Pacific Research Station (moorea.berkeley.edu)</contributorName>
|
76
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org/">https://ror.org/04sk0et52</nameIdentifier>
|
77
|
+
</contributor>
|
78
|
+
</contributors>
|
79
|
+
<language>en-US</language>
|
80
|
+
<resourceType resourceTypeGeneral="OutputManagementPlan">Data Management Plan</resourceType>
|
81
|
+
<descriptions>
|
82
|
+
<description xml:lang="en-US" descriptionType="Abstract"> <p>Here we describe a project that supports the mission of the Genomic Standards Consortium (GSC) and contributes to the “Ocean Biomolecular Observations Network” (OBON) and the “Ocean Best Practice System” (OBPS - Omics Task Team), flagship programs of the UN Ocean Decade of Ocean Science for Sustainable Development. The project serves as a test case for two related infrastructure projects that aim to improve standards, policies, and best practices in sample collection: Sampling Nature (SN) Research Coordination Network and the Internet of Samples (iSamples).</p> <p><strong>The project’s primary goal (first paper) is methodologica</strong>l: (i) to demonstrate the value of genomic standards for both genomic research and secondary interdisciplinary research, (ii) to highlight the importance of data curation workflows that follow FAIR+CARE principles maximizing the potential for appropriate reuse of data and material samples, (iii) to illustrate the challenges that remain in implementing those standards - including ethical, legal, and social aspects, and (iv) to demonstrate some of the tools, infrastructures, and best-practices available for overcoming these challenges. This paper will include all the elements of a data paper (primary publication of the initial data collected), but with broader discussion around it as a use case for metadata standards and best practices in multi-omic sampling.</p> <p><strong>The project’s secondary goal (second paper) is to address research questions including</strong>: (1) To what extent can one day of environmental sampling, and subsequent multi-omic analyses, characterize the ecological state of an island (coupled marine-terrestrial ecosystem)? (2) To what extent might such surveys serve as baselines for futuromic study (future analysis of biomolecules from the material samples archived), and (3) if repeated, could these surveys help address long-term changes in genomic biodiversity? (4) How does marine and terrestrial eDNA change across a transect? Moorea is one of the most well-described biotas in the world and has one of the longest and most intensive time-series of ecological data, particularly for coral reef ecosystems. It thus serves as a powerful calibration site for such a study.</p> <p><br><strong>The project’s broader impact goal is public outreach </strong>– if possible engage local citizen scientists/schools, ideally through Fare Natura (ecomuseum at entrance to the Opunohu Valley. (Also perhaps local Associations that might be interested, e.g., Te Pu Atitia). Sampling Nature will produce an outreach videos based on this Island Sampling Day.</p> </description>
|
83
|
+
</descriptions>
|
84
|
+
<fundingReferences>
|
85
|
+
<fundingReference>
|
86
|
+
<funderName>Genomic Standards Consortium</funderName>
|
87
|
+
</fundingReference>
|
88
|
+
</fundingReferences>
|
89
|
+
<relatedIdentifiers>
|
90
|
+
<relatedIdentifier relationType="IsMetadataFor" relatedIdentifierType="URL"> https://dmptool.org/api/v2/plans/74309.pdf </relatedIdentifier>
|
91
|
+
<relatedIdentifier relationType="Cites" relatedIdentifierType="URL"> https://n2t.net/ark:/21547/EBW2 </relatedIdentifier>
|
92
|
+
<relatedIdentifier relationType="Cites" relatedIdentifierType="URL"> https://docs.google.com/document/d/1EYgEEUroMBiTNc5Px11_44G-B17JtTgyssyNkK3hV_U/edit#heading=h.ckwz8v2yry1q </relatedIdentifier>
|
93
|
+
</relatedIdentifiers>
|
94
|
+
</resource>
|
@@ -59,6 +59,26 @@
|
|
59
59
|
<funderName>European Commission</funderName>
|
60
60
|
<funderIdentifier funderIdentifierType="Crossref Funder ID" schemeURI="https://doi.org/">https://doi.org/10.13039/501100000780</funderIdentifier>
|
61
61
|
</fundingReference>
|
62
|
+
<fundingReference>
|
63
|
+
<funderName>University of Washington</funderName>
|
64
|
+
<funderIdentifier funderIdentifierType="ISNI" schemeURI="http://www.isni.org/isni/">0000 0001 2298 6657</funderIdentifier>
|
65
|
+
</fundingReference>
|
66
|
+
<fundingReference>
|
67
|
+
<funderName>National Library of Ireland.</funderName>
|
68
|
+
<funderIdentifier funderIdentifierType="Other" schemeURI="http://viaf.org/viaf/">127467345</funderIdentifier>
|
69
|
+
</fundingReference>
|
70
|
+
<fundingReference>
|
71
|
+
<funderName>DataCite</funderName>
|
72
|
+
<funderIdentifier funderIdentifierType="ROR" schemeURI="https://ror.org/">https://ror.org/04wxnsj81</funderIdentifier>
|
73
|
+
</fundingReference>
|
74
|
+
<fundingReference>
|
75
|
+
<funderName>Department of Agriculture</funderName>
|
76
|
+
<funderIdentifier funderIdentifierType="ROR">038wwg650</funderIdentifier>
|
77
|
+
</fundingReference>
|
78
|
+
<fundingReference>
|
79
|
+
<funderName>Tottori University</funderName>
|
80
|
+
<funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/501100005695</funderIdentifier>
|
81
|
+
</fundingReference>
|
62
82
|
</fundingReferences>
|
63
83
|
<rightsList>
|
64
84
|
<rights xml:lang="eng" rightsURI="http://creativecommons.org/licenses/by-nd/2.0/">Creative Commons
|
@@ -0,0 +1,73 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.stage.datacite.org/dois/10.70048/290320201351?include=media,client
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.9.8; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip,deflate
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Fri, 30 Sep 2022 18:54:43 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Connection:
|
26
|
+
- keep-alive
|
27
|
+
Status:
|
28
|
+
- 200 OK
|
29
|
+
X-Anonymous-Consumer:
|
30
|
+
- 'true'
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=0, private, must-revalidate
|
33
|
+
Vary:
|
34
|
+
- Accept-Encoding
|
35
|
+
Content-Encoding:
|
36
|
+
- gzip
|
37
|
+
Referrer-Policy:
|
38
|
+
- strict-origin-when-cross-origin
|
39
|
+
X-Permitted-Cross-Domain-Policies:
|
40
|
+
- none
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Request-Id:
|
44
|
+
- e5175ead-ec58-459c-a35e-dcdb834c09ca
|
45
|
+
X-Download-Options:
|
46
|
+
- noopen
|
47
|
+
Etag:
|
48
|
+
- W/"0aa74c09b0b6e8f485e8160c0c8079c7"
|
49
|
+
X-Frame-Options:
|
50
|
+
- SAMEORIGIN
|
51
|
+
X-Runtime:
|
52
|
+
- '0.031155'
|
53
|
+
X-Content-Type-Options:
|
54
|
+
- nosniff
|
55
|
+
X-Powered-By:
|
56
|
+
- Phusion Passenger(R) 6.0.15
|
57
|
+
Server:
|
58
|
+
- nginx/1.18.0 + Phusion Passenger(R) 6.0.15
|
59
|
+
Access-Control-Allow-Credentials:
|
60
|
+
- 'true'
|
61
|
+
Access-Control-Allow-Methods:
|
62
|
+
- GET, POST, PUT, PATCH, DELETE, OPTIONS
|
63
|
+
Access-Control-Allow-Headers:
|
64
|
+
- Accept,Access-Control-Allow-Origin,Access-Control-Expose-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Headers,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With
|
65
|
+
Access-Control-Expose-Headers:
|
66
|
+
- Authorization
|
67
|
+
body:
|
68
|
+
encoding: ASCII-8BIT
|
69
|
+
string: !binary |-
|
70
|
+
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
|
71
|
+
http_version:
|
72
|
+
recorded_at: Fri, 30 Sep 2022 18:54:43 GMT
|
73
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.9.8; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/xml;charset=utf-8
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip,deflate
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Fri, 30 Sep 2022 18:44:43 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '3783'
|
25
|
+
Set-Cookie:
|
26
|
+
- AWSALB=n9ERtwhJjVWBndwsAJjh2idG1XQOFntDaQIw+VdwZzi1odvEL7VG2SYDq/HtCfZAQVy4H951YNxrTWGVmP01S7bwI6uXrCgmsLelHOzEAhd4ih2D62RRKKXQi32x;
|
27
|
+
Expires=Fri, 07 Oct 2022 18:44:43 GMT; Path=/, AWSALBCORS=n9ERtwhJjVWBndwsAJjh2idG1XQOFntDaQIw+VdwZzi1odvEL7VG2SYDq/HtCfZAQVy4H951YNxrTWGVmP01S7bwI6uXrCgmsLelHOzEAhd4ih2D62RRKKXQi32x;
|
28
|
+
Expires=Fri, 07 Oct 2022 18:44:43 GMT; Path=/; SameSite=None
|
29
|
+
Link:
|
30
|
+
- !binary |-
|
31
|
+
PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii
|
32
|
+
Access-Control-Expose-Headers:
|
33
|
+
- Link
|
34
|
+
Access-Control-Allow-Headers:
|
35
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
36
|
+
Accept-Ranges, Cache-Control
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
Content-Encoding:
|
42
|
+
- gzip
|
43
|
+
Server:
|
44
|
+
- Jetty(9.4.40.v20210413)
|
45
|
+
X-Ratelimit-Limit:
|
46
|
+
- '50'
|
47
|
+
X-Ratelimit-Interval:
|
48
|
+
- 1s
|
49
|
+
X-Api-Pool:
|
50
|
+
- polite
|
51
|
+
X-Rate-Limit-Limit:
|
52
|
+
- '50'
|
53
|
+
X-Rate-Limit-Interval:
|
54
|
+
- 1s
|
55
|
+
Permissions-Policy:
|
56
|
+
- interest-cohort=()
|
57
|
+
Connection:
|
58
|
+
- close
|
59
|
+
body:
|
60
|
+
encoding: ASCII-8BIT
|
61
|
+
string: !binary |-
|
62
|
+
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
|
63
|
+
http_version:
|
64
|
+
recorded_at: Fri, 30 Sep 2022 18:44:43 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.9.8; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/xml;charset=utf-8
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip,deflate
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Fri, 30 Sep 2022 18:44:44 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '3783'
|
25
|
+
Set-Cookie:
|
26
|
+
- AWSALB=iJGErAy0XSxzz7Rp+pUDQ8MyMi1tGm5gCiEvr92UmNaXtiVux8b2vcVHyI4oqK+WYJdbd9Zpa4myqYbI7CKZoCkN8oDUiZ2xS7lXCoLlNArH4TiqjOTESJMjgpCk;
|
27
|
+
Expires=Fri, 07 Oct 2022 18:44:44 GMT; Path=/, AWSALBCORS=iJGErAy0XSxzz7Rp+pUDQ8MyMi1tGm5gCiEvr92UmNaXtiVux8b2vcVHyI4oqK+WYJdbd9Zpa4myqYbI7CKZoCkN8oDUiZ2xS7lXCoLlNArH4TiqjOTESJMjgpCk;
|
28
|
+
Expires=Fri, 07 Oct 2022 18:44:44 GMT; Path=/; SameSite=None
|
29
|
+
Link:
|
30
|
+
- !binary |-
|
31
|
+
PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii
|
32
|
+
Access-Control-Expose-Headers:
|
33
|
+
- Link
|
34
|
+
Access-Control-Allow-Headers:
|
35
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
36
|
+
Accept-Ranges, Cache-Control
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
Content-Encoding:
|
42
|
+
- gzip
|
43
|
+
Server:
|
44
|
+
- Jetty(9.4.40.v20210413)
|
45
|
+
X-Ratelimit-Limit:
|
46
|
+
- '50'
|
47
|
+
X-Ratelimit-Interval:
|
48
|
+
- 1s
|
49
|
+
X-Api-Pool:
|
50
|
+
- polite
|
51
|
+
X-Rate-Limit-Limit:
|
52
|
+
- '50'
|
53
|
+
X-Rate-Limit-Interval:
|
54
|
+
- 1s
|
55
|
+
Permissions-Policy:
|
56
|
+
- interest-cohort=()
|
57
|
+
Connection:
|
58
|
+
- close
|
59
|
+
body:
|
60
|
+
encoding: ASCII-8BIT
|
61
|
+
string: !binary |-
|
62
|
+
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
|
63
|
+
http_version:
|
64
|
+
recorded_at: Fri, 30 Sep 2022 18:44:44 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
data/spec/metadata_spec.rb
CHANGED
@@ -153,7 +153,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
153
153
|
it "missing_comma" do
|
154
154
|
json = IO.read(fixture_path + "datacite_software_missing_comma.json")
|
155
155
|
response = subject.jsonlint(json)
|
156
|
-
expect(response).to
|
156
|
+
expect(response.first).to include("expected comma, not a string (after doi)")
|
157
157
|
end
|
158
158
|
|
159
159
|
it "overlapping_keys" do
|
@@ -46,7 +46,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
46
46
|
input = fixture_path + "datacite_software_missing_comma.json"
|
47
47
|
subject = Bolognese::Metadata.new(input: input, from: "datacite_json", show_errors: true)
|
48
48
|
expect(subject.valid?).to be false
|
49
|
-
expect(subject.errors).to
|
49
|
+
expect(subject.errors.first).to include("expected comma, not a string (after doi)")
|
50
50
|
expect(subject.codemeta).to be_nil
|
51
51
|
end
|
52
52
|
|
@@ -141,6 +141,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
141
141
|
"awardTitle"=>"Full DataCite XML Example",
|
142
142
|
"funderIdentifier"=>"https://doi.org/10.13039/100000001",
|
143
143
|
"funderIdentifierType"=>"Crossref Funder ID",
|
144
|
+
"schemeUri"=>"https://doi.org/",
|
144
145
|
"funderName"=>"National Science Foundation"}])
|
145
146
|
expect(subject.related_identifiers.length).to eq(2)
|
146
147
|
expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"https://data.datacite.org/application/citeproc+json/10.5072/example-full", "relatedIdentifierType"=>"URL", "relationType"=>"HasMetadata", "relatedMetadataScheme"=>"citeproc+json", "schemeUri"=>"https://github.com/citation-style-language/schema/raw/master/csl-data.json")
|
@@ -420,10 +421,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
420
421
|
expect(subject.funding_references.first).to eq({
|
421
422
|
"funderIdentifier"=>"http://www.isni.org/isni/0000000119587073",
|
422
423
|
"funderIdentifierType"=>"ISNI",
|
424
|
+
"schemeUri"=>"http://www.isni.org/isni/",
|
423
425
|
"funderName"=>"National Science Foundation (NSF)"})
|
424
|
-
expect(subject.funding_references
|
426
|
+
expect(subject.funding_references[2]).to eq({
|
425
427
|
"funderIdentifier"=>"https://doi.org/10.13039/501100000780",
|
426
428
|
"funderIdentifierType"=>"Crossref Funder ID",
|
429
|
+
"schemeUri"=>"https://doi.org/",
|
427
430
|
"funderName"=>"European Commission"})
|
428
431
|
expect(subject.funding_references[1]).to eq({
|
429
432
|
"funderIdentifier"=>"1234",
|
@@ -431,6 +434,35 @@ describe Bolognese::Metadata, vcr: true do
|
|
431
434
|
"funderName"=>"Acme Inc"})
|
432
435
|
end
|
433
436
|
|
437
|
+
it "funder identifier with normalized identifiers and non-normalized identifiers" do
|
438
|
+
input = fixture_path + 'datacite-funderIdentifier.xml'
|
439
|
+
subject = Bolognese::Metadata.new(input: input)
|
440
|
+
expect(subject.funding_references[3]).to eq({
|
441
|
+
"funderIdentifier"=>"0000 0001 2298 6657",
|
442
|
+
"funderIdentifierType"=>"ISNI",
|
443
|
+
"schemeUri"=>"http://www.isni.org/isni/",
|
444
|
+
"funderName"=>"University of Washington"})
|
445
|
+
expect(subject.funding_references[4]).to eq({
|
446
|
+
"funderIdentifier"=>"127467345",
|
447
|
+
"funderIdentifierType"=>"Other",
|
448
|
+
"schemeUri"=>"http://viaf.org/viaf/",
|
449
|
+
"funderName"=>"National Library of Ireland."})
|
450
|
+
expect(subject.funding_references[5]).to eq({
|
451
|
+
"funderIdentifier"=>"https://ror.org/04wxnsj81",
|
452
|
+
"funderIdentifierType"=>"ROR",
|
453
|
+
"schemeUri"=>"https://ror.org",
|
454
|
+
"funderName"=>"DataCite"})
|
455
|
+
expect(subject.funding_references[6]).to eq({
|
456
|
+
"funderIdentifier"=>"https://ror.org/038wwg650",
|
457
|
+
"funderIdentifierType"=>"ROR",
|
458
|
+
"schemeUri"=>"https://ror.org",
|
459
|
+
"funderName"=>"Department of Agriculture"})
|
460
|
+
expect(subject.funding_references[7]).to eq({
|
461
|
+
"funderIdentifier"=>"https://doi.org/10.13039/501100005695",
|
462
|
+
"funderIdentifierType"=>"Crossref Funder ID",
|
463
|
+
"funderName"=>"Tottori University"})
|
464
|
+
end
|
465
|
+
|
434
466
|
it "geo_location empty" do
|
435
467
|
input = fixture_path + 'datacite-geolocation-empty.xml'
|
436
468
|
subject = Bolognese::Metadata.new(input: input)
|
@@ -592,7 +624,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
592
624
|
expect(subject.id).to eq("https://doi.org/10.18429/jacow-ipac2016-tupmy003")
|
593
625
|
expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
|
594
626
|
expect(subject.creators.length).to eq(12)
|
595
|
-
expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"
|
627
|
+
expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"JACoW-00077389", "nameIdentifierScheme"=>"JACoW-ID", "schemeUri"=>"http://jacow.org/"}], "name"=>"Otani, Masashi", "givenName"=>"Masashi", "familyName"=>"Otani", "affiliation" => [{"name"=>"KEK, Tsukuba, Japan"}])
|
596
628
|
end
|
597
629
|
|
598
630
|
it "author with wrong orcid scheme" do
|
@@ -722,7 +754,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
722
754
|
expect(subject.types["ris"]).to eq("BOOK")
|
723
755
|
expect(subject.types["citeproc"]).to eq("book")
|
724
756
|
expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
|
725
|
-
[{"nameIdentifier"=>"
|
757
|
+
[{"nameIdentifier"=>"0000000134596520",
|
726
758
|
"nameIdentifierScheme"=>"ISNI",
|
727
759
|
"schemeUri"=>"http://isni.org/isni/"}],
|
728
760
|
"affiliation" => []}])
|
@@ -753,7 +785,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
753
785
|
expect(subject.types["ris"]).to eq("BOOK")
|
754
786
|
expect(subject.types["citeproc"]).to eq("book")
|
755
787
|
expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
|
756
|
-
[{"nameIdentifier"=>"
|
788
|
+
[{"nameIdentifier"=>"0000000134596520",
|
757
789
|
"nameIdentifierScheme"=>"ISNI",
|
758
790
|
"schemeUri"=>"http://isni.org/isni/"}],
|
759
791
|
"affiliation" => []}])
|
@@ -812,7 +844,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
812
844
|
expect(subject.types["ris"]).to eq("BOOK")
|
813
845
|
expect(subject.types["citeproc"]).to eq("book")
|
814
846
|
expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
|
815
|
-
[{"nameIdentifier"=>"
|
847
|
+
[{"nameIdentifier"=>"0000000134596520",
|
816
848
|
"nameIdentifierScheme"=>"ISNI",
|
817
849
|
"schemeUri"=>"http://isni.org/isni/"}],
|
818
850
|
"affiliation" => []}])
|
@@ -864,7 +896,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
864
896
|
expect(subject.types["resourceType"]).to eq("Monograph")
|
865
897
|
expect(subject.types["resourceTypeGeneral"]).to eq("Text")
|
866
898
|
expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
|
867
|
-
[{"nameIdentifier"=>"
|
899
|
+
[{"nameIdentifier"=>"0000000134596520",
|
868
900
|
"nameIdentifierScheme"=>"ISNI",
|
869
901
|
"schemeUri"=>"http://isni.org/isni/"}],
|
870
902
|
"affiliation" => []}])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -770,6 +770,7 @@ files:
|
|
770
770
|
- spec/fixtures/crossref.ris
|
771
771
|
- spec/fixtures/crossref.xml
|
772
772
|
- spec/fixtures/datacite-empty-sizes.xml
|
773
|
+
- spec/fixtures/datacite-example-ROR-nameIdentifiers.xml
|
773
774
|
- spec/fixtures/datacite-example-affiliation.xml
|
774
775
|
- spec/fixtures/datacite-example-ancientdates-v4.3.xml
|
775
776
|
- spec/fixtures/datacite-example-complicated-tba.xml
|
@@ -781,6 +782,7 @@ files:
|
|
781
782
|
- spec/fixtures/datacite-example-full-v4.4.xml
|
782
783
|
- spec/fixtures/datacite-example-geolocation-2.xml
|
783
784
|
- spec/fixtures/datacite-example-geolocation.xml
|
785
|
+
- spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml
|
784
786
|
- spec/fixtures/datacite-example-polygon-v4.1.xml
|
785
787
|
- spec/fixtures/datacite-example-relateditems.xml
|
786
788
|
- spec/fixtures/datacite-example-xs-string.xml
|
@@ -1046,6 +1048,7 @@ files:
|
|
1046
1048
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml
|
1047
1049
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml
|
1048
1050
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml
|
1051
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_items/insert.yml
|
1049
1052
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml
|
1050
1053
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml
|
1051
1054
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml
|
@@ -1129,6 +1132,8 @@ files:
|
|
1129
1132
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml
|
1130
1133
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml
|
1131
1134
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml
|
1135
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml
|
1136
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml
|
1132
1137
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml
|
1133
1138
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml
|
1134
1139
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml
|