bolognese 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/datacite_utils.rb +23 -23
- data/lib/bolognese/metadata.rb +5 -1
- data/lib/bolognese/metadata_utils.rb +10 -14
- data/lib/bolognese/readers/bibtex_reader.rb +9 -9
- data/lib/bolognese/readers/citeproc_reader.rb +12 -12
- data/lib/bolognese/readers/codemeta_reader.rb +12 -12
- data/lib/bolognese/readers/crossref_reader.rb +27 -29
- data/lib/bolognese/readers/datacite_json_reader.rb +19 -28
- data/lib/bolognese/readers/datacite_reader.rb +37 -37
- data/lib/bolognese/readers/ris_reader.rb +9 -9
- data/lib/bolognese/readers/schema_org_reader.rb +37 -32
- data/lib/bolognese/utils.rb +31 -34
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/codemeta_writer.rb +1 -1
- data/lib/bolognese/writers/crosscite_writer.rb +1 -1
- data/lib/bolognese/writers/datacite_json_writer.rb +10 -10
- data/lib/bolognese/writers/jats_writer.rb +1 -1
- data/lib/bolognese/writers/ris_writer.rb +1 -1
- data/lib/bolognese/writers/schema_org_writer.rb +6 -6
- data/spec/datacite_utils_spec.rb +1 -1
- data/spec/fixtures/crosscite.json +8 -8
- data/spec/fixtures/datacite.json +22 -22
- data/spec/readers/bibtex_reader_spec.rb +6 -6
- data/spec/readers/citeproc_reader_spec.rb +2 -2
- data/spec/readers/codemeta_reader_spec.rb +8 -8
- data/spec/readers/crosscite_reader_spec.rb +4 -4
- data/spec/readers/crossref_reader_spec.rb +56 -59
- data/spec/readers/datacite_json_reader_spec.rb +7 -7
- data/spec/readers/datacite_reader_spec.rb +193 -194
- data/spec/readers/ris_reader_spec.rb +5 -5
- data/spec/readers/schema_org_reader_spec.rb +31 -32
- data/spec/utils_spec.rb +4 -4
- data/spec/writers/crosscite_writer_spec.rb +10 -13
- data/spec/writers/datacite_json_writer_spec.rb +9 -9
- data/spec/writers/datacite_writer_spec.rb +24 -26
- data/spec/writers/schema_org_writer_spec.rb +2 -2
- metadata +2 -2
@@ -29,7 +29,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
29
29
|
it "Crossref DOI" do
|
30
30
|
expect(subject.valid?).to be true
|
31
31
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
32
|
-
expect(subject.types).to eq("citeproc"=>"misc", "
|
32
|
+
expect(subject.types).to eq("citeproc"=>"misc", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
33
33
|
expect(subject.url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
34
34
|
expect(subject.creator.length).to eq(5)
|
35
35
|
expect(subject.creator.first).to eq("type"=>"Person",
|
@@ -38,9 +38,9 @@ describe Bolognese::Metadata, vcr: true do
|
|
38
38
|
"familyName"=>"Sankar")
|
39
39
|
expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
|
40
40
|
expect(subject.descriptions.first["description"]).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
41
|
-
expect(subject.dates).to eq([{"date"=>"2014", "
|
41
|
+
expect(subject.dates).to eq([{"date"=>"2014", "dateType"=>"Issued"}])
|
42
42
|
expect(subject.publication_year).to eq("2014")
|
43
|
-
expect(subject.related_identifiers).to eq([{"id"=>"2050084X", "
|
43
|
+
expect(subject.related_identifiers).to eq([{"id"=>"2050084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "title"=>"eLife", "type"=>"Periodical"}])
|
44
44
|
expect(subject.periodical).to eq("id"=>"2050084X", "title"=>"eLife", "type"=>"Periodical")
|
45
45
|
end
|
46
46
|
|
@@ -51,11 +51,11 @@ describe Bolognese::Metadata, vcr: true do
|
|
51
51
|
expect(subject.valid?).to be false
|
52
52
|
expect(subject.state).to eq("not_found")
|
53
53
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
54
|
-
expect(subject.types).to eq("citeproc"=>"misc", "
|
54
|
+
expect(subject.types).to eq("citeproc"=>"misc", "resourceTypeGeneral"=>"Text", "ris"=>"THES", "schemaOrg"=>"Thesis")
|
55
55
|
expect(subject.creator).to eq([{"type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar"}])
|
56
56
|
expect(subject.titles).to eq([{"title"=>"A multiscale analysis of the urban heat island effect"}])
|
57
57
|
expect(subject.descriptions.first["description"]).to start_with("Designing the climates of cities")
|
58
|
-
expect(subject.dates).to eq([{"date"=>"2018-04-25", "
|
58
|
+
expect(subject.dates).to eq([{"date"=>"2018-04-25", "dateType"=>"Issued"}, {"date"=>"2018-04-25", "dateType"=>"Created"}])
|
59
59
|
expect(subject.publication_year).to eq("2018")
|
60
60
|
end
|
61
61
|
end
|
@@ -21,15 +21,15 @@ describe Bolognese::Metadata, vcr: true do
|
|
21
21
|
expect(subject.valid?).to be true
|
22
22
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
23
23
|
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
24
|
-
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "
|
24
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
|
25
25
|
expect(subject.creator).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
|
26
26
|
expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
|
27
27
|
expect(subject.descriptions.first["description"]).to start_with("Eating your own dog food")
|
28
28
|
expect(subject.subjects).to eq([{"subject"=>"datacite"}, {"subject"=>"doi"}, {"subject"=>"metadata"}, {"subject"=>"featured"}])
|
29
|
-
expect(subject.dates).to eq([{"date"=>"2016-12-20", "
|
29
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Issued"}, {"date"=>"2016-12-20", "dateType"=>"Created"}, {"date"=>"2016-12-20", "dateType"=>"Updated"}])
|
30
30
|
expect(subject.publication_year).to eq("2016")
|
31
31
|
expect(subject.related_identifiers.length).to eq(3)
|
32
|
-
expect(subject.related_identifiers.last).to eq("
|
32
|
+
expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.5438/55e5-t5c0", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
|
33
33
|
expect(subject.publisher).to eq("DataCite")
|
34
34
|
end
|
35
35
|
|
@@ -39,7 +39,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
39
39
|
expect(subject.identifier).to eq("https://doi.org/10.5438/0000-00ss")
|
40
40
|
expect(subject.doi).to eq("10.5438/0000-00ss")
|
41
41
|
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
42
|
-
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "
|
42
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
|
43
43
|
end
|
44
44
|
|
45
45
|
it "zenodo" do
|
@@ -50,7 +50,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
50
50
|
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1196821")
|
51
51
|
expect(subject.doi).to eq("10.5281/zenodo.1196821")
|
52
52
|
expect(subject.url).to eq("https://zenodo.org/record/1196821")
|
53
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
53
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
54
54
|
expect(subject.titles).to eq([{"title"=>"PsPM-SC4B: SCR, ECG, EMG, PSR and respiration measurements in a delay fear conditioning task with auditory CS and electrical US"}])
|
55
55
|
expect(subject.creator.size).to eq(6)
|
56
56
|
expect(subject.creator.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-9688-838X", "name"=>"Matthias Staib", "givenName"=>"Matthias", "familyName"=>"Staib")
|
@@ -63,7 +63,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
63
63
|
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.836178")
|
64
64
|
expect(subject.doi).to eq("10.1594/pangaea.836178")
|
65
65
|
expect(subject.url).to eq("https://doi.pangaea.de/10.1594/PANGAEA.836178")
|
66
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
66
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
67
67
|
expect(subject.titles).to eq([{"title"=>"Hydrological and meteorological investigations in a lake near Kangerlussuaq, west Greenland"}])
|
68
68
|
expect(subject.creator.size).to eq(8)
|
69
69
|
expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
|
@@ -90,7 +90,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
90
90
|
expect(subject.valid?).to be true
|
91
91
|
expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/nj7xso")
|
92
92
|
expect(subject.doi).to eq("10.7910/dvn/nj7xso")
|
93
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
93
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
94
94
|
expect(subject.titles).to eq([{"title"=>"Summary data ankylosing spondylitis GWAS"}])
|
95
95
|
expect(subject.periodical).to eq("title"=>"Harvard Dataverse", "type"=>"DataCatalog", "url"=>"https://dataverse.harvard.edu")
|
96
96
|
expect(subject.creator).to eq([{"name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)"}])
|
@@ -103,7 +103,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
103
103
|
expect(subject.valid?).to be true
|
104
104
|
expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/nj7xso")
|
105
105
|
expect(subject.doi).to eq("10.7910/dvn/nj7xso")
|
106
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
106
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
107
107
|
expect(subject.titles).to eq([{"title"=>"Summary data ankylosing spondylitis GWAS"}])
|
108
108
|
expect(subject.periodical).to eq("title"=>"Harvard Dataverse", "type"=>"DataCatalog", "url"=>"https://dataverse.harvard.edu")
|
109
109
|
expect(subject.creator).to eq([{"name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)"}])
|
@@ -117,15 +117,15 @@ describe Bolognese::Metadata, vcr: true do
|
|
117
117
|
expect(subject.valid?).to be true
|
118
118
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
119
119
|
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
120
|
-
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "
|
120
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
|
121
121
|
expect(subject.creator).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
|
122
122
|
expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
|
123
123
|
expect(subject.descriptions.first["description"]).to start_with("Eating your own dog food")
|
124
124
|
expect(subject.subjects).to eq([{"subject"=>"datacite"}, {"subject"=>"doi"}, {"subject"=>"metadata"}, {"subject"=>"featured"}])
|
125
|
-
expect(subject.dates).to eq([{"date"=>"2016-12-20", "
|
125
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Issued"}, {"date"=>"2016-12-20", "dateType"=>"Created"}, {"date"=>"2016-12-20", "dateType"=>"Updated"}])
|
126
126
|
expect(subject.publication_year).to eq("2016")
|
127
127
|
expect(subject.related_identifiers.length).to eq(3)
|
128
|
-
expect(subject.related_identifiers.last).to eq("
|
128
|
+
expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.5438/55e5-t5c0", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
|
129
129
|
expect(subject.publisher).to eq("DataCite")
|
130
130
|
end
|
131
131
|
|
@@ -135,40 +135,39 @@ describe Bolognese::Metadata, vcr: true do
|
|
135
135
|
|
136
136
|
expect(subject.valid?).to be true
|
137
137
|
expect(subject.identifier).to eq("https://doi.org/10.25491/d50j-3083")
|
138
|
-
expect(subject.alternate_identifiers).to eq([{"
|
138
|
+
expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"687610993", "alternateIdentifierType"=>"md5"}])
|
139
139
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.25491/d50j-3083")
|
140
140
|
expect(subject.content_url).to eq(["https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz"])
|
141
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
141
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"Gene expression matrices", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
142
142
|
expect(subject.creator).to eq([{"name"=>"The GTEx Consortium", "type"=>"Organization"}])
|
143
143
|
expect(subject.titles).to eq([{"title"=>"Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery"}])
|
144
144
|
expect(subject.version).to eq("v7")
|
145
145
|
expect(subject.subjects).to eq([{"subject"=>"gtex"}, {"subject"=>"annotation"}, {"subject"=>"phenotype"}, {"subject"=>"gene regulation"}, {"subject"=>"transcriptomics"}])
|
146
|
-
expect(subject.dates).to eq([{"date"=>"2017", "
|
146
|
+
expect(subject.dates).to eq([{"date"=>"2017", "dateType"=>"Issued"}])
|
147
147
|
expect(subject.publication_year).to eq("2017")
|
148
148
|
expect(subject.periodical).to eq("title"=>"GTEx", "type"=>"DataCatalog")
|
149
149
|
expect(subject.publisher).to eq("GTEx")
|
150
150
|
expect(subject.funding_references.length).to eq(7)
|
151
|
-
expect(subject.funding_references.first).to eq("
|
151
|
+
expect(subject.funding_references.first).to eq("funderIdentifier"=>"https://doi.org/10.13039/100000052", "funderIdentifierType"=>"Crossref Funder ID", "funderName"=>"Common Fund of the Office of the Director of the NIH")
|
152
152
|
end
|
153
153
|
|
154
154
|
it "TOPMed dataset" do
|
155
155
|
input = fixture_path + 'schema_org_topmed.json'
|
156
156
|
subject = Bolognese::Metadata.new(input: input)
|
157
|
-
|
158
157
|
expect(subject.valid?).to be true
|
159
158
|
expect(subject.identifier).to eq("https://doi.org/10.23725/8na3-9s47")
|
160
|
-
expect(subject.alternate_identifiers).to eq([{"
|
159
|
+
expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"3b33f6b9338fccab0901b7d317577ea3","alternateIdentifierType"=>"md5"},{"alternateIdentifier"=>"ark:/99999/fk41CrU4eszeLUDe","alternateIdentifierType"=>"minid"},{"alternateIdentifier"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7", "alternateIdentifierType"=>"dataguid"}])
|
161
160
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/8na3-9s47")
|
162
161
|
expect(subject.content_url).to eq(["s3://cgp-commons-public/topmed_open_access/197bc047-e917-55ed-852d-d563cdbc50e4/NWD165827.recab.cram", "gs://topmed-irc-share/public/NWD165827.recab.cram"])
|
163
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
162
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"CRAM file", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
164
163
|
expect(subject.creator).to eq([{"name"=>"TOPMed IRC", "type"=>"Organization"}])
|
165
164
|
expect(subject.titles).to eq([{"title"=>"NWD165827.recab.cram"}])
|
166
165
|
expect(subject.subjects).to eq([{"subject"=>"topmed"}, {"subject"=>"whole genome sequencing"}])
|
167
|
-
expect(subject.dates).to eq([{"date"=>"2017-11-30", "
|
166
|
+
expect(subject.dates).to eq([{"date"=>"2017-11-30", "dateType"=>"Issued"}])
|
168
167
|
expect(subject.publication_year).to eq("2017")
|
169
168
|
expect(subject.publisher).to eq("TOPMed")
|
170
|
-
expect(subject.related_identifiers).to eq([{"
|
171
|
-
expect(subject.funding_references).to eq([{"
|
169
|
+
expect(subject.related_identifiers).to eq([{"relatedIdentifier"=>"10.23725/2g4s-qv04", "relatedIdentifierType"=>"DOI", "relationType"=>"References", "resourceTypeGeneral"=>"Dataset"}])
|
170
|
+
expect(subject.funding_references).to eq([{"funderIdentifier"=>"https://doi.org/10.13039/100000050", "funderIdentifierType"=>"Crossref Funder ID", "funderName"=>"National Heart, Lung, and Blood Institute (NHLBI)"}])
|
172
171
|
end
|
173
172
|
|
174
173
|
it "geolocation" do
|
@@ -177,7 +176,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
177
176
|
|
178
177
|
expect(subject.valid?).to be true
|
179
178
|
expect(subject.identifier).to eq("https://doi.org/10.6071/z7wc73")
|
180
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
179
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
181
180
|
expect(subject.creator.length).to eq(6)
|
182
181
|
expect(subject.creator.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
|
183
182
|
expect(subject.titles).to eq([{"title"=>"Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature"}])
|
@@ -189,11 +188,11 @@ describe Bolognese::Metadata, vcr: true do
|
|
189
188
|
{"subject"=>"water balance"},
|
190
189
|
{"subject"=>"Nevada"},
|
191
190
|
{"subject"=>"Sierra (mountain range)"}])
|
192
|
-
expect(subject.dates).to eq([{"date"=>"2013", "
|
191
|
+
expect(subject.dates).to eq([{"date"=>"2013", "dateType"=>"Issued"}, {"date"=>"2014-10-17", "dateType"=>"Updated"}])
|
193
192
|
expect(subject.publication_year).to eq("2013")
|
194
193
|
expect(subject.publisher).to eq("UC Merced")
|
195
|
-
expect(subject.funding_references).to eq([{"
|
196
|
-
expect(subject.geo_locations).to eq([{"
|
194
|
+
expect(subject.funding_references).to eq([{"funderName"=>"National Science Foundation, Division of Earth Sciences, Critical Zone Observatories"}])
|
195
|
+
expect(subject.geo_locations).to eq([{"geoLocationPlace"=>"Providence Creek (Lower, Upper and P301)", "geoLocationPoint"=>{"pointLatitude"=>"37.047756", "pointLongitude"=>"-119.221094"}}])
|
197
196
|
end
|
198
197
|
|
199
198
|
it "geolocation geoshape" do
|
@@ -202,14 +201,14 @@ describe Bolognese::Metadata, vcr: true do
|
|
202
201
|
|
203
202
|
expect(subject.valid?).to be true
|
204
203
|
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.842237")
|
205
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
204
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
206
205
|
expect(subject.creator.length).to eq(2)
|
207
206
|
expect(subject.creator.first).to eq("name"=>"Tara Oceans Consortium, Coordinators", "type"=>"Organization")
|
208
207
|
expect(subject.titles).to eq([{"title"=>"Registry of all stations from the Tara Oceans Expedition (2009-2013)"}])
|
209
|
-
expect(subject.dates).to eq([{"date"=>"2015-02-03", "
|
208
|
+
expect(subject.dates).to eq([{"date"=>"2015-02-03", "dateType"=>"Issued"}])
|
210
209
|
expect(subject.publication_year).to eq("2015")
|
211
210
|
expect(subject.publisher).to eq("PANGAEA")
|
212
|
-
expect(subject.geo_locations).to eq([{"
|
211
|
+
expect(subject.geo_locations).to eq([{"geoLocationBox"=>{"eastBoundLongitude"=>"174.9006", "northBoundLatitude"=>"79.6753", "southBoundLatitude"=>"-64.3088", "westBoundLongitude"=>"-168.5182"}}])
|
213
212
|
end
|
214
213
|
|
215
214
|
it "schema_org list" do
|
@@ -218,17 +217,17 @@ describe Bolognese::Metadata, vcr: true do
|
|
218
217
|
subject = Bolognese::Metadata.new(input: input)
|
219
218
|
expect(subject.valid?).to be true
|
220
219
|
expect(subject.identifier).to eq("https://doi.org/10.23725/7jg3-v803")
|
221
|
-
expect(subject.alternate_identifiers).to eq([{"
|
220
|
+
expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"ark:/99999/fk4E1n6n1YHKxPk","alternateIdentifierType"=>"minid"},{"alternateIdentifier"=>"dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d","alternateIdentifierType"=>"dataguid"},{"alternateIdentifier"=>"f9e72bdf25bf4b4f0e581d9218fec2eb","alternateIdentifierType"=>"md5"}])
|
222
221
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/7jg3-v803")
|
223
222
|
expect(subject.content_url).to eq(["s3://cgp-commons-public/topmed_open_access/44a8837b-4456-5709-b56b-54e23000f13a/NWD100953.recab.cram","gs://topmed-irc-share/public/NWD100953.recab.cram","dos://dos.commons.ucsc-cgp.org/01b048d0-e128-4cb0-94e9-b2d2cab7563d?version=2018-05-26T133719.491772Z"])
|
224
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
223
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"CRAM file", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
225
224
|
expect(subject.creator).to eq([{"name"=>"TOPMed", "type"=>"Organization"}])
|
226
225
|
expect(subject.titles).to eq([{"title"=>"NWD100953.recab.cram"}])
|
227
226
|
expect(subject.subjects).to eq([{"subject"=>"topmed"}, {"subject"=>"whole genome sequencing"}])
|
228
|
-
expect(subject.dates).to eq([{"date"=>"2017-11-30", "
|
227
|
+
expect(subject.dates).to eq([{"date"=>"2017-11-30", "dateType"=>"Issued"}])
|
229
228
|
expect(subject.publication_year).to eq("2017")
|
230
229
|
expect(subject.publisher).to eq("TOPMed")
|
231
|
-
expect(subject.funding_references).to eq([{"
|
230
|
+
expect(subject.funding_references).to eq([{"funderIdentifier"=>"https://doi.org/10.13039/100000050", "funderIdentifierType"=>"Crossref Funder ID", "funderName"=>"National Heart, Lung, and Blood Institute (NHLBI)"}])
|
232
231
|
end
|
233
232
|
end
|
234
233
|
end
|
data/spec/utils_spec.rb
CHANGED
@@ -195,13 +195,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
195
195
|
it "doi" do
|
196
196
|
ids = [{"@type"=>"CreativeWork", "@id"=>"https://doi.org/10.5438/0012"}, {"@type"=>"CreativeWork", "@id"=>"https://doi.org/10.5438/55E5-T5C0"}]
|
197
197
|
response = subject.normalize_ids(ids: ids)
|
198
|
-
expect(response).to eq([{"
|
198
|
+
expect(response).to eq([{"relatedIdentifier"=>"10.5438/0012", "relatedIdentifierType"=>"DOI"}, {"relatedIdentifier"=>"10.5438/55e5-t5c0", "relatedIdentifierType"=>"DOI"}])
|
199
199
|
end
|
200
200
|
|
201
201
|
it "url" do
|
202
202
|
ids = [{"@type"=>"CreativeWork", "@id"=>"https://blog.datacite.org/eating-your-own-dog-food/"}]
|
203
203
|
response = subject.normalize_ids(ids: ids)
|
204
|
-
expect(response).to eq("
|
204
|
+
expect(response).to eq("relatedIdentifier"=>"https://blog.datacite.org/eating-your-own-dog-food", "relatedIdentifierType"=>"URL")
|
205
205
|
end
|
206
206
|
end
|
207
207
|
|
@@ -238,7 +238,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
238
238
|
context "to_schema_org_identifier" do
|
239
239
|
it "with alternate_identifier" do
|
240
240
|
identifier = "https://doi.org/10.23725/8na3-9s47"
|
241
|
-
alternate_identifiers = [{"
|
241
|
+
alternate_identifiers = [{"alternateIdentifierType"=>"md5", "alternateIdentifier"=>"3b33f6b9338fccab0901b7d317577ea3"}, {"alternateIdentifierType"=>"minid", "alternateIdentifier"=>"ark:/99999/fk41CrU4eszeLUDe"}, {"alternateIdentifierType"=>"dataguid", "alternateIdentifier"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7"}]
|
242
242
|
response = subject.to_schema_org_identifier(identifier, alternate_identifiers: alternate_identifiers, type: "Dataset")
|
243
243
|
expect(response).to eq([{"@type"=>"PropertyValue", "propertyID"=>"doi", "value"=>"https://doi.org/10.23725/8na3-9s47"},
|
244
244
|
{"@type"=>"PropertyValue",
|
@@ -326,7 +326,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
326
326
|
|
327
327
|
context "get_date" do
|
328
328
|
it "publication date" do
|
329
|
-
dates = [{ "date"=>"2016-12-20", "
|
329
|
+
dates = [{ "date"=>"2016-12-20", "dateType" => "Issued" }]
|
330
330
|
response = subject.get_date(dates, "Issued")
|
331
331
|
expect(response).to eq("2016-12-20")
|
332
332
|
end
|
@@ -9,22 +9,19 @@ describe Bolognese::Metadata, vcr: true do
|
|
9
9
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
10
10
|
crosscite = JSON.parse(subject.crosscite)
|
11
11
|
expect(crosscite.fetch("url")).to eq("https://elifesciences.org/articles/01567")
|
12
|
-
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
12
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
13
13
|
expect(crosscite.fetch("titles")).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
|
14
14
|
expect(crosscite.fetch("related_identifiers").length).to eq(27)
|
15
|
-
expect(crosscite.fetch("related_identifiers").first).to eq("
|
16
|
-
expect(crosscite.fetch("related_identifiers").last).to eq("
|
17
|
-
|
18
|
-
"relation_type" => "References",
|
19
|
-
"title" => "A screen for morphological complexity identifies regulators of switch-like transitions between discrete cell shapes")
|
20
|
-
expect(crosscite.fetch("rights_list")).to eq([{"rights_uri"=>"http://creativecommons.org/licenses/by/3.0"}])
|
15
|
+
expect(crosscite.fetch("related_identifiers").first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
|
16
|
+
expect(crosscite.fetch("related_identifiers").last).to eq("relatedIdentifier"=>"10.1038/ncb2764", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
|
17
|
+
expect(crosscite.fetch("rights_list")).to eq([{"rightsUri"=>"http://creativecommons.org/licenses/by/3.0"}])
|
21
18
|
end
|
22
19
|
|
23
20
|
it "with ORCID ID" do
|
24
21
|
input = "https://doi.org/10.1155/2012/291294"
|
25
22
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
26
23
|
crosscite = JSON.parse(subject.crosscite)
|
27
|
-
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
24
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
28
25
|
expect(crosscite.fetch("creator").count).to eq(7)
|
29
26
|
expect(crosscite.fetch("creator")[2]).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-2043-4925", "name"=>"Beatriz Hernandez", "givenName"=>"Beatriz", "familyName"=>"Hernandez")
|
30
27
|
end
|
@@ -40,7 +37,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
40
37
|
input = fixture_path + "crossref.bib"
|
41
38
|
subject = Bolognese::Metadata.new(input: input, from: "bibtex")
|
42
39
|
crosscite = JSON.parse(subject.crosscite)
|
43
|
-
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
40
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Text", "resource_type"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
44
41
|
expect(crosscite.fetch("titles")).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
|
45
42
|
expect(crosscite.dig("descriptions", 0, "description")).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
46
43
|
expect(crosscite.fetch("creator").count).to eq(5)
|
@@ -52,7 +49,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
52
49
|
subject = Bolognese::Metadata.new(input: input, from: "citeproc")
|
53
50
|
expect(subject.valid?).to be true
|
54
51
|
crosscite = JSON.parse(subject.crosscite)
|
55
|
-
expect(crosscite["types"]).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "
|
52
|
+
expect(crosscite["types"]).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
|
56
53
|
expect(crosscite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
|
57
54
|
expect(crosscite.dig("descriptions", 0, "description")).to start_with("Eating your own dog food")
|
58
55
|
expect(crosscite.fetch("creator")).to eq([{"type"=>"Person", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
|
@@ -76,7 +73,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
76
73
|
expect(crosscite.fetch("titles")).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
|
77
74
|
expect(crosscite.fetch("creator").length).to eq(8)
|
78
75
|
expect(crosscite.fetch("creator").first).to eq("type"=>"Person", "familyName" => "Ollomo", "givenName" => "Benjamin", "name" => "Benjamin Ollomo")
|
79
|
-
expect(crosscite.fetch("dates")).to eq([{"date"=>"2011", "
|
76
|
+
expect(crosscite.fetch("dates")).to eq([{"date"=>"2011", "dateType"=>"Issued"}])
|
80
77
|
expect(crosscite.fetch("publication_year")).to eq("2011")
|
81
78
|
expect(crosscite.fetch("provider_id")).to eq("DRYAD")
|
82
79
|
expect(crosscite.fetch("client_id")).to eq("DRYAD.DRYAD")
|
@@ -97,8 +94,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
97
94
|
crosscite = JSON.parse(subject.crosscite)
|
98
95
|
expect(crosscite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
|
99
96
|
expect(crosscite.fetch("related_identifiers").count).to eq(3)
|
100
|
-
expect(crosscite.fetch("related_identifiers").first).to eq("
|
101
|
-
expect(crosscite.fetch("related_identifiers").last).to eq("
|
97
|
+
expect(crosscite.fetch("related_identifiers").first).to eq("relatedIdentifier"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
|
98
|
+
expect(crosscite.fetch("related_identifiers").last).to eq("relatedIdentifier"=>"10.5438/55e5-t5c0", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
|
102
99
|
end
|
103
100
|
end
|
104
101
|
end
|
@@ -9,11 +9,11 @@ describe Bolognese::Metadata, vcr: true do
|
|
9
9
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
10
10
|
datacite = JSON.parse(subject.datacite_json)
|
11
11
|
expect(datacite.fetch("url")).to eq("https://elifesciences.org/articles/01567")
|
12
|
-
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
12
|
+
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
13
13
|
expect(datacite.fetch("titles")).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
|
14
|
-
expect(datacite.fetch("
|
15
|
-
expect(datacite.fetch("
|
16
|
-
expect(datacite.fetch("
|
14
|
+
expect(datacite.fetch("relatedIdentifiers").length).to eq(27)
|
15
|
+
expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
|
16
|
+
expect(datacite.fetch("rightsList")).to eq([{"rightsUri"=>"http://creativecommons.org/licenses/by/3.0"}])
|
17
17
|
end
|
18
18
|
|
19
19
|
it "with ORCID ID" do
|
@@ -21,7 +21,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
21
21
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
22
22
|
datacite = JSON.parse(subject.datacite_json)
|
23
23
|
expect(datacite.fetch("url")).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
|
24
|
-
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
24
|
+
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
25
25
|
expect(datacite.fetch("creator").length).to eq(7)
|
26
26
|
expect(datacite.fetch("creator").first).to eq("type"=>"Person", "name"=>"Wendy Thanassi", "givenName"=>"Wendy", "familyName"=>"Thanassi")
|
27
27
|
end
|
@@ -30,7 +30,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
30
30
|
input = fixture_path + "crossref.bib"
|
31
31
|
subject = Bolognese::Metadata.new(input: input, from: "bibtex")
|
32
32
|
datacite = JSON.parse(subject.datacite_json)
|
33
|
-
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource-type"=>"JournalArticle", "
|
33
|
+
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource-type"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
34
34
|
expect(datacite.fetch("titles")).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
|
35
35
|
expect(datacite.dig("descriptions", 0, "description")).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
36
36
|
expect(datacite.fetch("creator").length).to eq(5)
|
@@ -41,7 +41,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
41
41
|
input = fixture_path + "citeproc.json"
|
42
42
|
subject = Bolognese::Metadata.new(input: input, from: "citeproc")
|
43
43
|
datacite = JSON.parse(subject.datacite_json)
|
44
|
-
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "
|
44
|
+
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
|
45
45
|
expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
|
46
46
|
expect(datacite.dig("descriptions", 0, "description")).to start_with("Eating your own dog food")
|
47
47
|
expect(datacite.fetch("creator")).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Martin Fenner", "type"=>"Person"}])
|
@@ -71,8 +71,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
71
71
|
expect(subject.valid?).to be true
|
72
72
|
datacite = JSON.parse(subject.datacite_json)
|
73
73
|
expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
|
74
|
-
expect(datacite.fetch("
|
75
|
-
expect(datacite.fetch("
|
74
|
+
expect(datacite.fetch("relatedIdentifiers").count).to eq(3)
|
75
|
+
expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -12,7 +12,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
12
12
|
expect(datacite.dig("resourceType", "resourceTypeGeneral")).to eq("Text")
|
13
13
|
expect(datacite.dig("titles", "title")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
14
14
|
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(27)
|
15
|
-
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "__content__"=>"2050-084X")
|
15
|
+
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "__content__"=>"2050-084X", "resourceTypeGeneral"=>"Collection")
|
16
16
|
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")[1]).to eq("relatedIdentifierType"=>"DOI", "relationType"=>"References", "__content__"=>"10.1038/nature02100")
|
17
17
|
expect(datacite.dig("rightsList")).to eq("rights"=>{"rightsURI"=>"http://creativecommons.org/licenses/by/3.0"})
|
18
18
|
expect(datacite.dig("fundingReferences", "fundingReference").count).to eq(4)
|
@@ -37,7 +37,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
37
37
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
38
38
|
expect(subject.valid?).to be true
|
39
39
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
40
|
-
expect(datacite.dig("contributors", "contributor")).to eq("contributorName"=>{"__content__"=>"Janbon, Guilhem", "nameType"=>"Personal"}, "contributorType"=>"
|
40
|
+
expect(datacite.dig("contributors", "contributor")).to eq("contributorName"=>{"__content__"=>"Janbon, Guilhem", "nameType"=>"Personal"}, "contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem")
|
41
41
|
end
|
42
42
|
|
43
43
|
it "Crossref DOI" do
|
@@ -103,15 +103,15 @@ describe Bolognese::Metadata, vcr: true do
|
|
103
103
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
104
104
|
expect(subject.valid?).to be true
|
105
105
|
expect(subject.identifier).to eq("https://doi.org/10.23640/07243.5153971")
|
106
|
-
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
106
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"Paper", "resourceTypeGeneral"=>"Text", "ris"=>"RPRT", "schemaOrg"=>"ScholarlyArticle")
|
107
107
|
expect(subject.creator.length).to eq(20)
|
108
108
|
expect(subject.creator.first).to eq("type"=>"Person", "familyName" => "Paglione", "givenName" => "Laura", "id" => "https://orcid.org/0000-0003-3188-6273", "name" => "Laura Paglione")
|
109
109
|
expect(subject.titles).to eq([{"title"=>"Recommendation of: ORCID Works Metadata Working Group"}])
|
110
|
-
expect(subject.rights_list).to eq([{"
|
111
|
-
expect(subject.dates).to eq([{"date"=>"2017-06-28", "
|
110
|
+
expect(subject.rights_list).to eq([{"rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0", "rights"=>"CC-0"}])
|
111
|
+
expect(subject.dates).to eq([{"date"=>"2017-06-28", "dateType"=>"Created"}, {"date"=>"2017-06-28", "dateType"=>"Updated"}, {"date"=>"2017", "dateType"=>"Issued"}])
|
112
112
|
expect(subject.publication_year).to eq("2017")
|
113
113
|
expect(subject.publisher).to eq("Figshare")
|
114
|
-
expect(subject.
|
114
|
+
expect(subject.source).to eq("DataCite")
|
115
115
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
116
116
|
expect(subject.datacite).to end_with("</resource>")
|
117
117
|
end
|
@@ -121,15 +121,15 @@ describe Bolognese::Metadata, vcr: true do
|
|
121
121
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", doi: "10.5072/07243.5153971")
|
122
122
|
expect(subject.valid?).to be true
|
123
123
|
expect(subject.identifier).to eq("https://doi.org/10.5072/07243.5153971")
|
124
|
-
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "
|
124
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"Paper", "resourceTypeGeneral"=>"Text", "ris"=>"RPRT", "schemaOrg"=>"ScholarlyArticle")
|
125
125
|
expect(subject.creator.length).to eq(20)
|
126
126
|
expect(subject.creator.first).to eq("type"=>"Person", "familyName" => "Paglione", "givenName" => "Laura", "id" => "https://orcid.org/0000-0003-3188-6273", "name" => "Laura Paglione")
|
127
127
|
expect(subject.titles).to eq([{"title"=>"Recommendation of: ORCID Works Metadata Working Group"}])
|
128
|
-
expect(subject.rights_list).to eq([{"
|
129
|
-
expect(subject.dates).to eq([{"date"=>"2017-06-28", "
|
128
|
+
expect(subject.rights_list).to eq([{"rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0", "rights"=>"CC-0"}])
|
129
|
+
expect(subject.dates).to eq([{"date"=>"2017-06-28", "dateType"=>"Created"}, {"date"=>"2017-06-28", "dateType"=>"Updated"}, {"date"=>"2017", "dateType"=>"Issued"}])
|
130
130
|
expect(subject.publication_year).to eq("2017")
|
131
131
|
expect(subject.publisher).to eq("Figshare")
|
132
|
-
expect(subject.
|
132
|
+
expect(subject.source).to eq("DataCite")
|
133
133
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
134
134
|
expect(subject.datacite).to end_with("</resource>")
|
135
135
|
end
|
@@ -139,18 +139,18 @@ describe Bolognese::Metadata, vcr: true do
|
|
139
139
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", regenerate: true)
|
140
140
|
expect(subject.valid?).to be true
|
141
141
|
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
142
|
-
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "
|
142
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"DataPackage", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
|
143
143
|
expect(subject.creator.length).to eq(8)
|
144
144
|
expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
|
145
145
|
expect(subject.titles).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
|
146
|
-
expect(subject.alternate_identifiers).to eq([{"
|
147
|
-
expect(subject.rights_list).to eq([{"
|
148
|
-
expect(subject.dates).to eq([{"date"=>"2011", "
|
146
|
+
expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=> "Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.", "alternateIdentifierType"=>"citation"}])
|
147
|
+
expect(subject.rights_list).to eq([{"rightsUri"=>"http://creativecommons.org/publicdomain/zero/1.0"}])
|
148
|
+
expect(subject.dates).to eq([{"date"=>"2011", "dateType"=>"Issued"}])
|
149
149
|
expect(subject.publication_year).to eq("2011")
|
150
150
|
expect(subject.related_identifiers.length).to eq(6)
|
151
|
-
expect(subject.related_identifiers.last).to eq("
|
151
|
+
expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"19478877", "relatedIdentifierType"=>"PMID", "relationType"=>"IsSupplementTo")
|
152
152
|
expect(subject.publisher).to eq("Dryad Digital Repository")
|
153
|
-
expect(subject.
|
153
|
+
expect(subject.source).to eq("DataCite")
|
154
154
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
|
155
155
|
|
156
156
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
@@ -173,7 +173,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
173
173
|
expect(subject.valid?).to be false
|
174
174
|
expect(subject.identifier).to eq("https://doi.org/10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
175
175
|
expect(subject.doi).to eq("10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
176
|
-
expect(subject.
|
176
|
+
expect(subject.source).to eq("DataCite")
|
177
177
|
expect(subject.state).to eq("not_found")
|
178
178
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
179
179
|
expect(datacite["identifier"]).to eq("identifierType"=>"DOI", "__content__"=>"10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
@@ -195,15 +195,15 @@ describe Bolognese::Metadata, vcr: true do
|
|
195
195
|
input = "10.7554/eLife.01567"
|
196
196
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
197
197
|
subject.doi = "10.5061/DRYAD.8515"
|
198
|
-
subject.titles = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
199
|
-
subject.types = { "
|
198
|
+
subject.titles = [{ "title" => "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth" }]
|
199
|
+
subject.types = { "schemaOrg" => "Dataset", "resourceTypeGeneral" => "Dataset" }
|
200
200
|
expect(subject.valid?).to be true
|
201
201
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
202
202
|
expect(datacite.dig("identifier", "__content__")).to eq("10.5061/DRYAD.8515")
|
203
203
|
expect(datacite.dig("resourceType", "resourceTypeGeneral")).to eq("Dataset")
|
204
204
|
expect(datacite.dig("titles", "title")).to eq("Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
205
205
|
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(27)
|
206
|
-
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "
|
206
|
+
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("__content__"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
|
207
207
|
expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")[1]).to eq("relatedIdentifierType"=>"DOI", "relationType"=>"References", "__content__"=>"10.1038/nature02100")
|
208
208
|
expect(datacite.dig("rightsList")).to eq("rights"=>{"rightsURI"=>"http://creativecommons.org/licenses/by/3.0"})
|
209
209
|
expect(datacite.dig("fundingReferences", "fundingReference").count).to eq(4)
|
@@ -232,12 +232,10 @@ describe Bolognese::Metadata, vcr: true do
|
|
232
232
|
input = nil
|
233
233
|
subject = Bolognese::Metadata.new(input: input, doi: "10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
234
234
|
subject.creator = [{"creatorName"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}]
|
235
|
-
subject.titles = [ "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth" ]
|
236
|
-
subject.
|
237
|
-
subject.types = "Dataset"
|
235
|
+
subject.titles = [{ "title" => "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth" }]
|
236
|
+
subject.types = { "schemaOrg" => "Dataset", "resourceTypeGeneral" => "Dataset" }
|
238
237
|
subject.publication_year = "2011"
|
239
238
|
subject.state = "findable"
|
240
|
-
subject.types = { "type" => "Dataset", "resource_type_general" => "Dataset" }
|
241
239
|
expect(subject.exists?).to be true
|
242
240
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
243
241
|
expect(datacite.dig("identifier", "__content__")).to eq("10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
@@ -252,13 +250,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
252
250
|
subject.rights_list = [{ "rights_uri" => "https://creativecommons.org/licenses/by-nc-sa/4.0", "rights" => "Creative Commons Attribution-NonCommercial-ShareAlike" }]
|
253
251
|
expect(subject.valid?).to be true
|
254
252
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
255
|
-
expect(datacite.dig("rightsList", "rights")).to eq("
|
253
|
+
expect(datacite.dig("rightsList", "rights")).to eq("Creative Commons Attribution-NonCommercial-ShareAlike")
|
256
254
|
end
|
257
255
|
|
258
256
|
it "change license url" do
|
259
257
|
input = "10.7554/eLife.01567"
|
260
258
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
261
|
-
subject.rights_list = [{ "
|
259
|
+
subject.rights_list = [{ "rightsUri" => "https://creativecommons.org/licenses/by-nc-sa/4.0" }]
|
262
260
|
expect(subject.valid?).to be true
|
263
261
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
264
262
|
expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by-nc-sa/4.0")
|