bolognese 0.11.7 → 0.12

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +15 -15
  3. data/lib/bolognese/datacite_utils.rb +2 -2
  4. data/lib/bolognese/metadata.rb +3 -1
  5. data/lib/bolognese/metadata_utils.rb +10 -6
  6. data/lib/bolognese/readers/codemeta_reader.rb +0 -1
  7. data/lib/bolognese/readers/crossref_reader.rb +2 -2
  8. data/lib/bolognese/readers/datacite_json_reader.rb +1 -1
  9. data/lib/bolognese/readers/datacite_reader.rb +10 -5
  10. data/lib/bolognese/readers/ris_reader.rb +0 -1
  11. data/lib/bolognese/readers/schema_org_reader.rb +1 -2
  12. data/lib/bolognese/utils.rb +20 -1
  13. data/lib/bolognese/version.rb +1 -1
  14. data/lib/bolognese/writers/crosscite_writer.rb +1 -1
  15. data/lib/bolognese/writers/datacite_json_writer.rb +1 -1
  16. data/lib/bolognese/writers/ris_writer.rb +0 -1
  17. data/lib/bolognese/writers/schema_org_writer.rb +4 -3
  18. data/spec/fixtures/crosscite.json +1 -1
  19. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +89 -0
  20. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +6 -6
  21. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +143 -0
  22. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifier/with_alternate_identifier.yml +37 -0
  23. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +42 -0
  24. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +42 -0
  25. data/spec/fixtures/vivli.xml +1 -0
  26. data/spec/readers/crossref_reader_spec.rb +1 -1
  27. data/spec/readers/datacite_json_reader_spec.rb +1 -1
  28. data/spec/readers/datacite_reader_spec.rb +28 -8
  29. data/spec/readers/schema_org_reader_spec.rb +17 -7
  30. data/spec/utils_spec.rb +18 -0
  31. data/spec/writers/datacite_writer_spec.rb +1 -1
  32. data/spec/writers/ris_writer_spec.rb +6 -11
  33. data/spec/writers/schema_org_writer_spec.rb +35 -0
  34. metadata +8 -2
@@ -235,6 +235,24 @@ describe Bolognese::Metadata, vcr: true do
235
235
  end
236
236
  end
237
237
 
238
+ context "to_schema_org_identifier" do
239
+ it "with alternate_identifier" do
240
+ identifier = "https://doi.org/10.23725/8na3-9s47"
241
+ alternate_identifier = [{"type"=>"md5", "name"=>"3b33f6b9338fccab0901b7d317577ea3"}, {"type"=>"minid", "name"=>"ark:/99999/fk41CrU4eszeLUDe"}, {"type"=>"dataguid", "name"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7"}]
242
+ response = subject.to_schema_org_identifier(identifier, alternate_identifier: alternate_identifier)
243
+ expect(response).to eq(["https://doi.org/10.1101/097196",
244
+ {"@type"=>"PropertyValue",
245
+ "propertyID"=>"md5",
246
+ "value"=>"3b33f6b9338fccab0901b7d317577ea3"},
247
+ {"@type"=>"PropertyValue",
248
+ "propertyID"=>"minid",
249
+ "value"=>"ark:/99999/fk41CrU4eszeLUDe"},
250
+ {"@type"=>"PropertyValue",
251
+ "propertyID"=>"dataguid",
252
+ "value"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7"}])
253
+ end
254
+ end
255
+
238
256
  context "sanitize" do
239
257
  it 'should remove a tags' do
240
258
  text = "In 1998 <strong>Tim Berners-Lee</strong> coined the term <a href=\"https://www.w3.org/Provider/Style/URI\">cool URIs</a>"
@@ -145,7 +145,7 @@ describe Bolognese::Metadata, vcr: true do
145
145
  expect(subject.author.length).to eq(8)
146
146
  expect(subject.author.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
147
147
  expect(subject.title).to eq("Data from: A new malaria agent in African hominids.")
148
- expect(subject.alternate_name).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.")
148
+ expect(subject.alternate_identifier).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.")
149
149
  expect(subject.license).to eq("id"=>"http://creativecommons.org/publicdomain/zero/1.0")
150
150
  expect(subject.date_published).to eq("2011")
151
151
  expect(subject.has_part).to eq([{"type"=>"CreativeWork", "id"=>"https://doi.org/10.5061/dryad.8515/1"},
@@ -54,9 +54,8 @@ describe Bolognese::Metadata, vcr: true do
54
54
  expect(ris[11]).to eq("KW - medical competence")
55
55
  expect(ris[21]).to eq("PY - 2017")
56
56
  expect(ris[22]).to eq("PB - German Medical Science GMS Publishing House")
57
- expect(ris[23]).to eq("AN - urn:nbn:de:0183-zma0011024")
58
- expect(ris[25]).to eq("LA - en")
59
- expect(ris[26]).to eq("ER - ")
57
+ expect(ris[23]).to eq("LA - en")
58
+ expect(ris[24]).to eq("ER - ")
60
59
  end
61
60
 
62
61
  it "Crossref DOI" do
@@ -89,8 +88,7 @@ describe Bolognese::Metadata, vcr: true do
89
88
  expect(ris[5]).to eq("KW - datacite")
90
89
  expect(ris[8]).to eq("PY - 2016")
91
90
  expect(ris[9]).to eq("PB - DataCite")
92
- expect(ris[10]).to eq("AN - MS-49-3632-5083")
93
- expect(ris[11]).to eq("ER - ")
91
+ expect(ris[10]).to eq("ER - ")
94
92
  end
95
93
 
96
94
  it "BlogPosting Citeproc JSON" do
@@ -122,8 +120,7 @@ describe Bolognese::Metadata, vcr: true do
122
120
  expect(ris[5]).to eq("KW - datacite")
123
121
  expect(ris[8]).to eq("PY - 2016")
124
122
  expect(ris[9]).to eq("PB - DataCite")
125
- expect(ris[10]).to eq("AN - MS-49-3632-5083")
126
- expect(ris[11]).to eq("ER - ")
123
+ expect(ris[10]).to eq("ER - ")
127
124
  end
128
125
 
129
126
  it "BlogPosting schema.org" do
@@ -140,8 +137,7 @@ describe Bolognese::Metadata, vcr: true do
140
137
  expect(ris[7]).to eq("KW - datacite")
141
138
  expect(ris[11]).to eq("PY - 2016")
142
139
  expect(ris[12]).to eq("PB - DataCite")
143
- expect(ris[13]).to eq("AN - MS-49-3632-5083")
144
- expect(ris[14]).to eq("ER - ")
140
+ expect(ris[13]).to eq("ER - ")
145
141
  end
146
142
 
147
143
  it "Dataset" do
@@ -157,8 +153,7 @@ describe Bolognese::Metadata, vcr: true do
157
153
  expect(ris[13]).to eq("KW - Malaria")
158
154
  expect(ris[19]).to eq("PY - 2011")
159
155
  expect(ris[20]).to eq("PB - Dryad Digital Repository")
160
- expect(ris[21]).to eq("AN - 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.")
161
- expect(ris[22]).to eq("ER - ")
156
+ expect(ris[21]).to eq("ER - ")
162
157
  end
163
158
 
164
159
  it "maremma" do
@@ -142,5 +142,40 @@ describe Bolognese::Metadata, vcr: true do
142
142
  expect(json["author"].count).to eq(3)
143
143
  expect(json["author"].first).to eq("@type"=>"Person", "name"=>"P. Llamas", "givenName"=>"P.", "familyName"=>"Llamas")
144
144
  end
145
+
146
+ it "data catalog" do
147
+ input = "10.25491/8KMC-G314"
148
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
149
+ json = JSON.parse(subject.schema_org)
150
+ expect(json["@id"]).to eq("https://doi.org/10.25491/8kmc-g314")
151
+ expect(json["@type"]).to eq("Dataset")
152
+ expect(json["name"]).to eq("Covariates used in eQTL analysis. Includes genotyping principal components and PEER factors")
153
+ expect(json["author"]).to eq("@type"=>"Organization", "name"=>"The GTEx Consortium")
154
+ expect(json["includedInDataCatalog"]).to eq("@type"=>"DataCatalog", "name"=>"GTEx")
155
+ expect(json["identifier"]).to eq(["https://doi.org/10.25491/8kmc-g314", {"@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"c7c89fe7366d50cd75448aa603c9de58"}])
156
+ expect(json["contentUrl"]).to eq(["https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_covariates.tar.gz"])
157
+ end
158
+
159
+ it "alternate identifiers" do
160
+ input = "10.23725/8na3-9s47"
161
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
162
+ json = JSON.parse(subject.schema_org)
163
+ expect(json["@id"]).to eq("https://doi.org/10.23725/8na3-9s47")
164
+ expect(json["@type"]).to eq("Dataset")
165
+ expect(json["name"]).to eq("NWD165827.recab.cram")
166
+ expect(json["author"]).to eq("@type"=>"Organization", "name"=>"TOPMed IRC")
167
+ expect(json["includedInDataCatalog"]).to be_nil
168
+ expect(json["identifier"]).to eq(["https://doi.org/10.23725/8na3-9s47",
169
+ {"@type"=>"PropertyValue",
170
+ "propertyID"=>"md5",
171
+ "value"=>"3b33f6b9338fccab0901b7d317577ea3"},
172
+ {"@type"=>"PropertyValue",
173
+ "propertyID"=>"minid",
174
+ "value"=>"ark:/99999/fk41CrU4eszeLUDe"},
175
+ {"@type"=>"PropertyValue",
176
+ "propertyID"=>"dataguid",
177
+ "value"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7"}])
178
+ expect(json["contentUrl"]).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"])
179
+ end
145
180
  end
146
181
  end
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: 0.11.7
4
+ version: '0.12'
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-08-01 00:00:00.000000000 Z
11
+ date: 2018-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -708,6 +708,7 @@ files:
708
708
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml
709
709
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml
710
710
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml
711
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml
711
712
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml
712
713
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml
713
714
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml
@@ -751,6 +752,7 @@ files:
751
752
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml
752
753
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml
753
754
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml
755
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml
754
756
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml
755
757
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml
756
758
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml
@@ -818,6 +820,7 @@ files:
818
820
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml
819
821
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml
820
822
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml
823
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifier/with_alternate_identifier.yml
821
824
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml
822
825
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml
823
826
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml
@@ -900,6 +903,8 @@ files:
900
903
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml
901
904
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml
902
905
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml
906
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml
907
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml
903
908
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml
904
909
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml
905
910
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml
@@ -908,6 +913,7 @@ files:
908
913
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml
909
914
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml
910
915
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml
916
+ - spec/fixtures/vivli.xml
911
917
  - spec/metadata_spec.rb
912
918
  - spec/readers/bibtex_reader_spec.rb
913
919
  - spec/readers/citeproc_reader_spec.rb