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.
- checksums.yaml +4 -4
- data/Gemfile.lock +15 -15
- data/lib/bolognese/datacite_utils.rb +2 -2
- data/lib/bolognese/metadata.rb +3 -1
- data/lib/bolognese/metadata_utils.rb +10 -6
- data/lib/bolognese/readers/codemeta_reader.rb +0 -1
- data/lib/bolognese/readers/crossref_reader.rb +2 -2
- data/lib/bolognese/readers/datacite_json_reader.rb +1 -1
- data/lib/bolognese/readers/datacite_reader.rb +10 -5
- data/lib/bolognese/readers/ris_reader.rb +0 -1
- data/lib/bolognese/readers/schema_org_reader.rb +1 -2
- data/lib/bolognese/utils.rb +20 -1
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/crosscite_writer.rb +1 -1
- data/lib/bolognese/writers/datacite_json_writer.rb +1 -1
- data/lib/bolognese/writers/ris_writer.rb +0 -1
- data/lib/bolognese/writers/schema_org_writer.rb +4 -3
- data/spec/fixtures/crosscite.json +1 -1
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +89 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +143 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifier/with_alternate_identifier.yml +37 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +42 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +42 -0
- data/spec/fixtures/vivli.xml +1 -0
- data/spec/readers/crossref_reader_spec.rb +1 -1
- data/spec/readers/datacite_json_reader_spec.rb +1 -1
- data/spec/readers/datacite_reader_spec.rb +28 -8
- data/spec/readers/schema_org_reader_spec.rb +17 -7
- data/spec/utils_spec.rb +18 -0
- data/spec/writers/datacite_writer_spec.rb +1 -1
- data/spec/writers/ris_writer_spec.rb +6 -11
- data/spec/writers/schema_org_writer_spec.rb +35 -0
- metadata +8 -2
data/spec/utils_spec.rb
CHANGED
|
@@ -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.
|
|
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("
|
|
58
|
-
expect(ris[
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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.
|
|
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-
|
|
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
|