bolognese 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/datacite_utils.rb +8 -9
- data/lib/bolognese/metadata.rb +7 -44
- data/lib/bolognese/metadata_utils.rb +2 -2
- data/lib/bolognese/readers/bibtex_reader.rb +18 -7
- data/lib/bolognese/readers/citeproc_reader.rb +26 -11
- data/lib/bolognese/readers/codemeta_reader.rb +17 -16
- data/lib/bolognese/readers/crossref_reader.rb +23 -15
- data/lib/bolognese/readers/datacite_json_reader.rb +19 -11
- data/lib/bolognese/readers/datacite_reader.rb +15 -15
- data/lib/bolognese/readers/ris_reader.rb +14 -8
- data/lib/bolognese/readers/schema_org_reader.rb +17 -11
- data/lib/bolognese/utils.rb +22 -5
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/bibtex_writer.rb +1 -1
- data/lib/bolognese/writers/codemeta_writer.rb +3 -3
- data/lib/bolognese/writers/crosscite_writer.rb +3 -10
- data/lib/bolognese/writers/datacite_json_writer.rb +5 -8
- data/lib/bolognese/writers/jats_writer.rb +3 -3
- data/lib/bolognese/writers/ris_writer.rb +1 -1
- data/lib/bolognese/writers/schema_org_writer.rb +7 -7
- data/spec/datacite_utils_spec.rb +8 -7
- data/spec/fixtures/crosscite.json +13 -8
- data/spec/fixtures/datacite.json +8 -4
- data/spec/fixtures/datacite_software.json +0 -1
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +37 -0
- data/spec/readers/bibtex_reader_spec.rb +6 -10
- data/spec/readers/citeproc_reader_spec.rb +3 -3
- data/spec/readers/codemeta_reader_spec.rb +12 -16
- data/spec/readers/crosscite_reader_spec.rb +9 -8
- data/spec/readers/crossref_reader_spec.rb +27 -63
- data/spec/readers/datacite_json_reader_spec.rb +3 -4
- data/spec/readers/datacite_reader_spec.rb +156 -142
- data/spec/readers/ris_reader_spec.rb +6 -7
- data/spec/readers/schema_org_reader_spec.rb +26 -25
- data/spec/utils_spec.rb +8 -0
- data/spec/writers/bibtex_writer_spec.rb +1 -1
- data/spec/writers/citeproc_writer_spec.rb +1 -1
- data/spec/writers/crosscite_writer_spec.rb +6 -5
- data/spec/writers/datacite_writer_spec.rb +14 -17
- metadata +3 -2
@@ -29,9 +29,8 @@ 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.
|
32
|
+
expect(subject.types).to eq("citeproc"=>"misc", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
33
33
|
expect(subject.url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
34
|
-
expect(subject.resource_type_general).to eq("Text")
|
35
34
|
expect(subject.creator.length).to eq(5)
|
36
35
|
expect(subject.creator.first).to eq("type"=>"Person",
|
37
36
|
"name"=>"Martial Sankar",
|
@@ -39,7 +38,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
39
38
|
"familyName"=>"Sankar")
|
40
39
|
expect(subject.title).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
41
40
|
expect(subject.description["text"]).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
42
|
-
expect(subject.
|
41
|
+
expect(subject.dates).to eq([{"date"=>"2014", "date_type"=>"Issued"}])
|
42
|
+
expect(subject.publication_year).to eq("2014")
|
43
43
|
expect(subject.related_identifiers).to eq([{"id"=>"2050084X", "related_identifier_type"=>"ISSN", "relation_type"=>"IsPartOf", "title"=>"eLife", "type"=>"Periodical"}])
|
44
44
|
expect(subject.periodical).to eq("id"=>"2050084X", "title"=>"eLife", "type"=>"Periodical")
|
45
45
|
end
|
@@ -51,13 +51,12 @@ 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.
|
55
|
-
expect(subject.type).to eq("Thesis")
|
56
|
-
expect(subject.resource_type_general).to eq("Text")
|
54
|
+
expect(subject.types).to eq("citeproc"=>"misc", "resource_type_general"=>"Text", "ris"=>"THES", "type"=>"Thesis")
|
57
55
|
expect(subject.creator).to eq("type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar")
|
58
56
|
expect(subject.title).to eq("A multiscale analysis of the urban heat island effect")
|
59
57
|
expect(subject.description["text"]).to start_with("Designing the climates of cities")
|
60
|
-
expect(subject.
|
58
|
+
expect(subject.dates).to eq([{"date"=>"2018-04-25", "date_type"=>"Issued"}, {"date"=>"2018-04-25", "date_type"=>"Created"}])
|
59
|
+
expect(subject.publication_year).to eq("2018")
|
61
60
|
end
|
62
61
|
end
|
63
62
|
end
|
@@ -21,13 +21,13 @@ 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.
|
24
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"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.title).to eq("Eating your own Dog Food")
|
27
27
|
expect(subject.description["text"]).to start_with("Eating your own dog food")
|
28
28
|
expect(subject.keywords).to eq(["datacite", "doi", "metadata", "featured"])
|
29
|
-
expect(subject.
|
30
|
-
expect(subject.
|
29
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "date_type"=>"Issued"}, {"date"=>"2016-12-20", "date_type"=>"Created"}, {"date"=>"2016-12-20", "date_type"=>"Updated"}])
|
30
|
+
expect(subject.publication_year).to eq("2016")
|
31
31
|
expect(subject.related_identifiers.length).to eq(3)
|
32
32
|
expect(subject.related_identifiers.last).to eq("id"=>"10.5438/55e5-t5c0", "related_identifier_type"=>"DOI", "relation_type"=>"References")
|
33
33
|
expect(subject.publisher).to eq("DataCite")
|
@@ -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.
|
42
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"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.
|
53
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
54
54
|
expect(subject.title).to eq("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.
|
66
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
67
67
|
expect(subject.title).to eq("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.
|
93
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
94
94
|
expect(subject.title).to eq("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.
|
106
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
107
107
|
expect(subject.title).to eq("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,13 +117,13 @@ 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.
|
120
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"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.title).to eq("Eating your own Dog Food")
|
123
123
|
expect(subject.description["text"]).to start_with("Eating your own dog food")
|
124
124
|
expect(subject.keywords).to eq(["datacite", "doi", "metadata", "featured"])
|
125
|
-
expect(subject.
|
126
|
-
expect(subject.
|
125
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "date_type"=>"Issued"}, {"date"=>"2016-12-20", "date_type"=>"Created"}, {"date"=>"2016-12-20", "date_type"=>"Updated"}])
|
126
|
+
expect(subject.publication_year).to eq("2016")
|
127
127
|
expect(subject.related_identifiers.length).to eq(3)
|
128
128
|
expect(subject.related_identifiers.last).to eq("id"=>"10.5438/55e5-t5c0", "related_identifier_type"=>"DOI", "relation_type"=>"References")
|
129
129
|
expect(subject.publisher).to eq("DataCite")
|
@@ -138,13 +138,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
138
138
|
expect(subject.alternate_identifiers).to eq("name"=>"687610993", "type"=>"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.
|
142
|
-
expect(subject.additional_type).to eq("Gene expression matrices")
|
141
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"Gene expression matrices", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
143
142
|
expect(subject.creator).to eq("name"=>"The GTEx Consortium", "type"=>"Organization")
|
144
143
|
expect(subject.title).to eq("Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery")
|
145
144
|
expect(subject.version).to eq("v7")
|
146
145
|
expect(subject.keywords).to eq(["gtex", "annotation", "phenotype", "gene regulation", "transcriptomics"])
|
147
|
-
expect(subject.
|
146
|
+
expect(subject.dates).to eq([{"date"=>"2017", "date_type"=>"Issued"}])
|
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)
|
@@ -160,12 +160,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
160
160
|
expect(subject.alternate_identifiers).to eq([{"name"=>"3b33f6b9338fccab0901b7d317577ea3", "type"=>"md5"}, {"name"=>"ark:/99999/fk41CrU4eszeLUDe", "type"=>"minid"}, {"name"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7", "type"=>"dataguid"}])
|
161
161
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/8na3-9s47")
|
162
162
|
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.
|
164
|
-
expect(subject.additional_type).to eq("CRAM file")
|
163
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"CRAM file", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
165
164
|
expect(subject.creator).to eq("name"=>"TOPMed IRC", "type"=>"Organization")
|
166
165
|
expect(subject.title).to eq("NWD165827.recab.cram")
|
167
166
|
expect(subject.keywords).to eq(["topmed", "whole genome sequencing"])
|
168
|
-
expect(subject.
|
167
|
+
expect(subject.dates).to eq([{"date"=>"2017-11-30", "date_type"=>"Issued"}])
|
168
|
+
expect(subject.publication_year).to eq("2017")
|
169
169
|
expect(subject.publisher).to eq("TOPMed")
|
170
170
|
expect(subject.related_identifiers).to eq([{"id"=>"10.23725/2g4s-qv04", "related_identifier_type"=>"DOI", "relation_type"=>"References", "resource_type_general"=>"Dataset"}])
|
171
171
|
expect(subject.funding_references).to eq([{"funder_identifier"=>"https://doi.org/10.13039/100000050", "funder_identifier_type"=>"Crossref Funder ID", "funder_name"=>"National Heart, Lung, and Blood Institute (NHLBI)"}])
|
@@ -177,13 +177,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
177
177
|
|
178
178
|
expect(subject.valid?).to be true
|
179
179
|
expect(subject.identifier).to eq("https://doi.org/10.6071/z7wc73")
|
180
|
-
expect(subject.
|
181
|
-
expect(subject.additional_type).to eq("dataset")
|
180
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
182
181
|
expect(subject.creator.length).to eq(6)
|
183
182
|
expect(subject.creator.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
|
184
183
|
expect(subject.title).to eq("Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature")
|
185
184
|
expect(subject.keywords).to eq(["Earth sciences", "soil moisture", "soil temperature", "snow depth", "air temperature", "water balance", "Nevada", "Sierra (mountain range)"])
|
186
|
-
expect(subject.
|
185
|
+
expect(subject.dates).to eq([{"date"=>"2013", "date_type"=>"Issued"}, {"date"=>"2014-10-17", "date_type"=>"Updated"}])
|
186
|
+
expect(subject.publication_year).to eq("2013")
|
187
187
|
expect(subject.publisher).to eq("UC Merced")
|
188
188
|
expect(subject.funding_references).to eq([{"funder_name"=>"National Science Foundation, Division of Earth Sciences, Critical Zone Observatories"}])
|
189
189
|
expect(subject.geo_location).to eq([{"geo_location_place"=>"Providence Creek (Lower, Upper and P301)", "geo_location_point"=>{"point_latitude"=>"37.047756", "point_longitude"=>"-119.221094"}}])
|
@@ -195,11 +195,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
195
195
|
|
196
196
|
expect(subject.valid?).to be true
|
197
197
|
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.842237")
|
198
|
-
expect(subject.
|
198
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
199
199
|
expect(subject.creator.length).to eq(2)
|
200
200
|
expect(subject.creator.first).to eq("name"=>"Tara Oceans Consortium, Coordinators", "type"=>"Organization")
|
201
201
|
expect(subject.title).to eq("Registry of all stations from the Tara Oceans Expedition (2009-2013)")
|
202
|
-
expect(subject.
|
202
|
+
expect(subject.dates).to eq([{"date"=>"2015-02-03", "date_type"=>"Issued"}])
|
203
|
+
expect(subject.publication_year).to eq("2015")
|
203
204
|
expect(subject.publisher).to eq("PANGAEA")
|
204
205
|
expect(subject.geo_location).to eq([{"geo_location_box"=>{"east_bound_longitude"=>"174.9006", "north_bound_latitude"=>"79.6753", "south_bound_latitude"=>"-64.3088", "west_bound_longitude"=>"-168.5182"}}])
|
205
206
|
end
|
@@ -213,12 +214,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
213
214
|
expect(subject.alternate_identifiers).to eq([{"name"=>"ark:/99999/fk4E1n6n1YHKxPk", "type"=>"minid"}, {"name"=>"dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d", "type"=>"dataguid"}, {"name"=>"f9e72bdf25bf4b4f0e581d9218fec2eb", "type"=>"md5"}])
|
214
215
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/7jg3-v803")
|
215
216
|
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"])
|
216
|
-
expect(subject.
|
217
|
-
expect(subject.additional_type).to eq("CRAM file")
|
217
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"CRAM file", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
218
218
|
expect(subject.creator).to eq("name"=>"TOPMed", "type"=>"Organization")
|
219
219
|
expect(subject.title).to eq("NWD100953.recab.cram")
|
220
220
|
expect(subject.keywords).to eq(["topmed", "whole genome sequencing"])
|
221
|
-
expect(subject.
|
221
|
+
expect(subject.dates).to eq([{"date"=>"2017-11-30", "date_type"=>"Issued"}])
|
222
|
+
expect(subject.publication_year).to eq("2017")
|
222
223
|
expect(subject.publisher).to eq("TOPMed")
|
223
224
|
expect(subject.funding_references).to eq([{"funder_identifier"=>"https://doi.org/10.13039/100000050", "funder_identifier_type"=>"Crossref Funder ID", "funder_name"=>"National Heart, Lung, and Blood Institute (NHLBI)"}])
|
224
225
|
end
|
data/spec/utils_spec.rb
CHANGED
@@ -324,6 +324,14 @@ describe Bolognese::Metadata, vcr: true do
|
|
324
324
|
end
|
325
325
|
end
|
326
326
|
|
327
|
+
context "get_date" do
|
328
|
+
it "publication date" do
|
329
|
+
dates = [{ "date"=>"2016-12-20", "date_type" => "Issued" }]
|
330
|
+
response = subject.get_date(dates, "Issued")
|
331
|
+
expect(response).to eq("2016-12-20")
|
332
|
+
end
|
333
|
+
end
|
334
|
+
|
327
335
|
context "github" do
|
328
336
|
it "github_from_url" do
|
329
337
|
url = "https://github.com/datacite/bolognese"
|
@@ -76,7 +76,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
76
76
|
input = fixture_path + "datacite.json"
|
77
77
|
subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
|
78
78
|
bibtex = BibTeX.parse(subject.bibtex).to_a(quotes: '').first
|
79
|
-
expect(bibtex[:bibtex_type].to_s).to eq("
|
79
|
+
expect(bibtex[:bibtex_type].to_s).to eq("misc")
|
80
80
|
expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
81
81
|
expect(bibtex[:doi]).to eq("10.5438/4k3m-nyvg")
|
82
82
|
expect(bibtex[:title]).to eq("Eating your own Dog Food")
|
@@ -44,7 +44,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
44
44
|
input = fixture_path + "datacite.json"
|
45
45
|
subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
|
46
46
|
json = JSON.parse(subject.citeproc)
|
47
|
-
expect(json["type"]).to eq("
|
47
|
+
expect(json["type"]).to eq("article")
|
48
48
|
expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
49
49
|
expect(json["DOI"]).to eq("10.5438/4k3m-nyvg")
|
50
50
|
expect(json["title"]).to eq("Eating your own Dog Food")
|
@@ -9,7 +9,7 @@ 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("
|
12
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"JournalArticle", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
13
13
|
expect(crosscite.fetch("title")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
14
14
|
expect(crosscite.fetch("related_identifiers").length).to eq(27)
|
15
15
|
expect(crosscite.fetch("related_identifiers").first).to eq("id"=>"2050-084X", "related_identifier_type"=>"ISSN", "relation_type"=>"IsPartOf", "title"=>"eLife", "type"=>"Periodical")
|
@@ -24,7 +24,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
24
24
|
input = "https://doi.org/10.1155/2012/291294"
|
25
25
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
26
26
|
crosscite = JSON.parse(subject.crosscite)
|
27
|
-
expect(crosscite.fetch("
|
27
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"JournalArticle", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
28
28
|
expect(crosscite.fetch("creator").count).to eq(7)
|
29
29
|
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
30
|
end
|
@@ -40,7 +40,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
40
40
|
input = fixture_path + "crossref.bib"
|
41
41
|
subject = Bolognese::Metadata.new(input: input, from: "bibtex")
|
42
42
|
crosscite = JSON.parse(subject.crosscite)
|
43
|
-
expect(crosscite.fetch("
|
43
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"JournalArticle", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
44
44
|
expect(crosscite.fetch("title")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
45
45
|
expect(crosscite.dig("description", "text")).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
46
46
|
expect(crosscite.fetch("creator").count).to eq(5)
|
@@ -52,7 +52,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
52
52
|
subject = Bolognese::Metadata.new(input: input, from: "citeproc")
|
53
53
|
expect(subject.valid?).to be true
|
54
54
|
crosscite = JSON.parse(subject.crosscite)
|
55
|
-
expect(crosscite["
|
55
|
+
expect(crosscite["types"]).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"BlogPosting")
|
56
56
|
expect(crosscite.fetch("title")).to eq("Eating your own Dog Food")
|
57
57
|
expect(crosscite.dig("description", "text")).to start_with("Eating your own dog food")
|
58
58
|
expect(crosscite.fetch("creator")).to eq("type"=>"Person", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -76,7 +76,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
76
76
|
expect(crosscite.fetch("title")).to eq("Data from: A new malaria agent in African hominids.")
|
77
77
|
expect(crosscite.fetch("creator").length).to eq(8)
|
78
78
|
expect(crosscite.fetch("creator").first).to eq("type"=>"Person", "familyName" => "Ollomo", "givenName" => "Benjamin", "name" => "Benjamin Ollomo")
|
79
|
-
expect(crosscite.fetch("
|
79
|
+
expect(crosscite.fetch("dates")).to eq([{"date"=>"2011", "date_type"=>"Issued"}])
|
80
|
+
expect(crosscite.fetch("publication_year")).to eq("2011")
|
80
81
|
expect(crosscite.fetch("provider_id")).to eq("DRYAD")
|
81
82
|
expect(crosscite.fetch("client_id")).to eq("DRYAD.DRYAD")
|
82
83
|
end
|
@@ -103,14 +103,13 @@ 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.
|
107
|
-
expect(subject.additional_type).to eq("Paper")
|
108
|
-
expect(subject.resource_type_general).to eq("Text")
|
106
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"Paper", "resource_type_general"=>"Text", "ris"=>"RPRT", "type"=>"ScholarlyArticle")
|
109
107
|
expect(subject.creator.length).to eq(20)
|
110
108
|
expect(subject.creator.first).to eq("type"=>"Person", "familyName" => "Paglione", "givenName" => "Laura", "id" => "https://orcid.org/0000-0003-3188-6273", "name" => "Laura Paglione")
|
111
109
|
expect(subject.title).to eq("Recommendation of: ORCID Works Metadata Working Group")
|
112
110
|
expect(subject.rights).to eq("id"=>"https://creativecommons.org/publicdomain/zero/1.0", "name"=>"CC-0")
|
113
|
-
expect(subject.
|
111
|
+
expect(subject.dates).to eq([{"date"=>"2017-06-28", "date_type"=>"Created"}, {"date"=>"2017-06-28", "date_type"=>"Updated"}, {"date"=>"2017", "date_type"=>"Issued"}])
|
112
|
+
expect(subject.publication_year).to eq("2017")
|
114
113
|
expect(subject.publisher).to eq("Figshare")
|
115
114
|
expect(subject.service_provider).to eq("DataCite")
|
116
115
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
@@ -122,14 +121,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
122
121
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", doi: "10.5072/07243.5153971")
|
123
122
|
expect(subject.valid?).to be true
|
124
123
|
expect(subject.identifier).to eq("https://doi.org/10.5072/07243.5153971")
|
125
|
-
expect(subject.
|
126
|
-
expect(subject.additional_type).to eq("Paper")
|
127
|
-
expect(subject.resource_type_general).to eq("Text")
|
124
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"Paper", "resource_type_general"=>"Text", "ris"=>"RPRT", "type"=>"ScholarlyArticle")
|
128
125
|
expect(subject.creator.length).to eq(20)
|
129
126
|
expect(subject.creator.first).to eq("type"=>"Person", "familyName" => "Paglione", "givenName" => "Laura", "id" => "https://orcid.org/0000-0003-3188-6273", "name" => "Laura Paglione")
|
130
127
|
expect(subject.title).to eq("Recommendation of: ORCID Works Metadata Working Group")
|
131
128
|
expect(subject.rights).to eq("id"=>"https://creativecommons.org/publicdomain/zero/1.0", "name"=>"CC-0")
|
132
|
-
expect(subject.
|
129
|
+
expect(subject.dates).to eq([{"date"=>"2017-06-28", "date_type"=>"Created"}, {"date"=>"2017-06-28", "date_type"=>"Updated"}, {"date"=>"2017", "date_type"=>"Issued"}])
|
130
|
+
expect(subject.publication_year).to eq("2017")
|
133
131
|
expect(subject.publisher).to eq("Figshare")
|
134
132
|
expect(subject.service_provider).to eq("DataCite")
|
135
133
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
@@ -141,15 +139,14 @@ describe Bolognese::Metadata, vcr: true do
|
|
141
139
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", regenerate: true)
|
142
140
|
expect(subject.valid?).to be true
|
143
141
|
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
144
|
-
expect(subject.
|
145
|
-
expect(subject.additional_type).to eq("DataPackage")
|
146
|
-
expect(subject.resource_type_general).to eq("Dataset")
|
142
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"DataPackage", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
147
143
|
expect(subject.creator.length).to eq(8)
|
148
144
|
expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
|
149
145
|
expect(subject.title).to eq("Data from: A new malaria agent in African hominids.")
|
150
146
|
expect(subject.alternate_identifiers).to eq("type"=>"citation", "name"=>"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.")
|
151
147
|
expect(subject.rights).to eq("id"=>"http://creativecommons.org/publicdomain/zero/1.0")
|
152
|
-
expect(subject.
|
148
|
+
expect(subject.dates).to eq([{"date"=>"2011", "date_type"=>"Issued"}])
|
149
|
+
expect(subject.publication_year).to eq("2011")
|
153
150
|
expect(subject.related_identifiers.length).to eq(6)
|
154
151
|
expect(subject.related_identifiers.last).to eq("id"=>"19478877", "related_identifier_type"=>"PMID", "relation_type"=>"IsSupplementTo")
|
155
152
|
expect(subject.publisher).to eq("Dryad Digital Repository")
|
@@ -199,7 +196,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
199
196
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
200
197
|
subject.doi = "10.5061/DRYAD.8515"
|
201
198
|
subject.title = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
202
|
-
subject.
|
199
|
+
subject.types = { "type" => "Dataset", "resource_type_general" => "Dataset" }
|
203
200
|
expect(subject.valid?).to be true
|
204
201
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
205
202
|
expect(datacite.dig("identifier", "__content__")).to eq("10.5061/DRYAD.8515")
|
@@ -237,10 +234,10 @@ describe Bolognese::Metadata, vcr: true do
|
|
237
234
|
subject.creator = [{"creatorName"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}]
|
238
235
|
subject.title = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
239
236
|
subject.publisher = "Dryad"
|
240
|
-
subject.
|
241
|
-
subject.
|
242
|
-
subject.date_published = "2011"
|
237
|
+
subject.types = "Dataset"
|
238
|
+
subject.publication_year = "2011"
|
243
239
|
subject.state = "findable"
|
240
|
+
subject.types = { "type" => "Dataset", "resource_type_general" => "Dataset" }
|
244
241
|
expect(subject.exists?).to be true
|
245
242
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
246
243
|
expect(datacite.dig("identifier", "__content__")).to eq("10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
@@ -292,7 +289,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
292
289
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
293
290
|
subject.doi = "123"
|
294
291
|
subject.title = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
295
|
-
subject.
|
292
|
+
subject.types = "Dataset"
|
296
293
|
expect(subject.doi).to eq("123")
|
297
294
|
expect(subject.valid?).to be false
|
298
295
|
expect(subject.errors.first).to start_with("3:0: ERROR: Element '{http://datacite.org/schema/kernel-4}identifier'")
|
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.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -806,6 +806,7 @@ files:
|
|
806
806
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml
|
807
807
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml
|
808
808
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml
|
809
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml
|
809
810
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
|
810
811
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml
|
811
812
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml
|