bolognese 1.0.26 → 1.0.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/bolognese/datacite_utils.rb +3 -3
  4. data/lib/bolognese/metadata.rb +9 -9
  5. data/lib/bolognese/metadata_utils.rb +2 -2
  6. data/lib/bolognese/readers/bibtex_reader.rb +1 -1
  7. data/lib/bolognese/readers/citeproc_reader.rb +4 -4
  8. data/lib/bolognese/readers/codemeta_reader.rb +2 -2
  9. data/lib/bolognese/readers/crossref_reader.rb +2 -2
  10. data/lib/bolognese/readers/datacite_json_reader.rb +2 -2
  11. data/lib/bolognese/readers/datacite_reader.rb +2 -2
  12. data/lib/bolognese/readers/ris_reader.rb +1 -1
  13. data/lib/bolognese/readers/schema_org_reader.rb +4 -4
  14. data/lib/bolognese/version.rb +1 -1
  15. data/lib/bolognese/writers/bibtex_writer.rb +1 -1
  16. data/lib/bolognese/writers/codemeta_writer.rb +1 -1
  17. data/lib/bolognese/writers/crosscite_writer.rb +2 -2
  18. data/lib/bolognese/writers/datacite_json_writer.rb +2 -2
  19. data/lib/bolognese/writers/jats_writer.rb +5 -5
  20. data/lib/bolognese/writers/ris_writer.rb +1 -1
  21. data/lib/bolognese/writers/schema_org_writer.rb +2 -2
  22. data/spec/author_utils_spec.rb +3 -3
  23. data/spec/fixtures/crosscite.json +2 -2
  24. data/spec/fixtures/datacite.json +1 -1
  25. data/spec/fixtures/datacite_software.json +2 -2
  26. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +96 -0
  27. data/spec/readers/bibtex_reader_spec.rb +3 -3
  28. data/spec/readers/citeproc_reader_spec.rb +2 -2
  29. data/spec/readers/codemeta_reader_spec.rb +5 -5
  30. data/spec/readers/crosscite_reader_spec.rb +2 -2
  31. data/spec/readers/crossref_reader_spec.rb +18 -18
  32. data/spec/readers/datacite_json_reader_spec.rb +2 -2
  33. data/spec/readers/datacite_reader_spec.rb +58 -58
  34. data/spec/readers/ris_reader_spec.rb +3 -3
  35. data/spec/readers/schema_org_reader_spec.rb +19 -19
  36. data/spec/writers/crosscite_writer_spec.rb +10 -10
  37. data/spec/writers/datacite_json_writer_spec.rb +8 -8
  38. data/spec/writers/datacite_writer_spec.rb +7 -7
  39. metadata +3 -2
@@ -31,8 +31,8 @@ describe Bolognese::Metadata, vcr: true do
31
31
  expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
32
32
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Text", "resourceType"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
33
33
  expect(subject.url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
34
- expect(subject.creator.length).to eq(5)
35
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Martial Sankar", "givenName"=>"Martial", "familyName"=>"Sankar")
34
+ expect(subject.creators.length).to eq(5)
35
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Martial Sankar", "givenName"=>"Martial", "familyName"=>"Sankar")
36
36
  expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
37
37
  expect(subject.descriptions.first["description"]).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
38
38
  expect(subject.rights_list.first["rightsUri"]).to eq("http://creativecommons.org/licenses/by/3.0/")
@@ -49,7 +49,7 @@ describe Bolognese::Metadata, vcr: true do
49
49
  expect(subject.state).to eq("not_found")
50
50
  expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
51
51
  expect(subject.types).to eq("bibtex"=>"phdthesis", "citeproc"=>"thesis", "resourceTypeGeneral"=>"Text", "resourceType"=>"Dissertation", "ris"=>"THES", "schemaOrg"=>"Thesis")
52
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar"}])
52
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar"}])
53
53
  expect(subject.titles).to eq([{"title"=>"A multiscale analysis of the urban heat island effect: from city averaged temperatures to the energy demand of individual buildings"}])
54
54
  expect(subject.descriptions.first["description"]).to start_with("Designing the climates of cities")
55
55
  expect(subject.dates).to eq([{"date"=>"2018", "dateType"=>"Issued"}])
@@ -19,7 +19,7 @@ describe Bolognese::Metadata, vcr: true do
19
19
  expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
20
20
  expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
21
21
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
22
- expect(subject.creator).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Martin Fenner", "type"=>"Person"}])
22
+ expect(subject.creators).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Martin Fenner", "type"=>"Person"}])
23
23
  expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
24
24
  expect(subject.descriptions.first["description"]).to start_with("Eating your own dog food")
25
25
  expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Issued"}])
@@ -35,7 +35,7 @@ describe Bolognese::Metadata, vcr: true do
35
35
  expect(subject.identifier).to eq("https://doi.org/10.5072/4k3m-nyvg")
36
36
  expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
37
37
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
38
- expect(subject.creator).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Martin Fenner", "type"=>"Person"}])
38
+ expect(subject.creators).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Martin Fenner", "type"=>"Person"}])
39
39
  expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
40
40
  expect(subject.descriptions.first["description"]).to start_with("Eating your own dog food")
41
41
  expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Issued"}])
@@ -21,7 +21,7 @@ describe Bolognese::Metadata, vcr: true do
21
21
  expect(subject.identifier).to eq("https://doi.org/10.5438/qeg0-3gm3")
22
22
  expect(subject.url).to eq("https://github.com/datacite/maremma")
23
23
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
24
- expect(subject.creator).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
24
+ expect(subject.creators).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
25
25
  expect(subject.titles).to eq([{"title"=>"Maremma: a Ruby library for simplified network calls"}])
26
26
  expect(subject.descriptions.first["description"]).to start_with("Ruby utility library for network requests")
27
27
  expect(subject.subjects).to eq([{"subject"=>"faraday"}, {"subject"=>"excon"}, {"subject"=>"net/http"}])
@@ -36,7 +36,7 @@ describe Bolognese::Metadata, vcr: true do
36
36
  expect(subject.identifier).to eq("https://doi.org/10.5063/f1m61h5x")
37
37
  expect(subject.url).to eq("https://github.com/DataONEorg/rdataone")
38
38
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
39
- expect(subject.creator).to eq( [{"type"=>"Person",
39
+ expect(subject.creators).to eq( [{"type"=>"Person",
40
40
  "id"=>"http://orcid.org/0000-0003-0077-4738",
41
41
  "name"=>"Matt Jones",
42
42
  "givenName"=>"Matt",
@@ -63,7 +63,7 @@ describe Bolognese::Metadata, vcr: true do
63
63
  expect(subject.identifier).to eq("https://doi.org/10.5438/qeg0-3gm3")
64
64
  expect(subject.url).to eq("https://github.com/datacite/maremma")
65
65
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
66
- expect(subject.creator).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
66
+ expect(subject.creators).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner"}])
67
67
  expect(subject.titles).to eq([{"title"=>"Maremma: a Ruby library for simplified network calls"}])
68
68
  expect(subject.descriptions.first["description"]).to start_with("Simplifies network calls")
69
69
  expect(subject.subjects).to eq([{"subject"=>"faraday"}, {"subject"=>"excon"}, {"subject"=>"net/http"}])
@@ -79,8 +79,8 @@ describe Bolognese::Metadata, vcr: true do
79
79
  expect(subject.identifier).to eq("https://doi.org/10.5438/wr0x-e194")
80
80
  expect(subject.url).to eq("https://github.com/datacite/metadata-reports")
81
81
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
82
- expect(subject.creator.size).to eq(4)
83
- expect(subject.creator.last).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-8135-3489", "name"=>"Lars Holm Nielsen", "givenName"=>"Lars Holm", "familyName"=>"Nielsen")
82
+ expect(subject.creators.size).to eq(4)
83
+ expect(subject.creators.last).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-8135-3489", "name"=>"Lars Holm Nielsen", "givenName"=>"Lars Holm", "familyName"=>"Nielsen")
84
84
  expect(subject.titles).to eq([{"title"=>"DOI Registrations for Software"}])
85
85
  expect(subject.descriptions.first["description"]).to start_with("Analysis of DataCite DOIs registered for software")
86
86
  expect(subject.subjects).to eq([{"subject"=>"doi"}, {"subject"=>"software"}, {"subject"=>"codemeta"}])
@@ -18,7 +18,7 @@ describe Bolognese::Metadata, vcr: true do
18
18
  expect(subject.valid?).to be true
19
19
  expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.48440")
20
20
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"other", "resourceType"=>"Software", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
21
- expect(subject.creator).to eq([{"type"=>"Person", "familyName" => "Garza", "givenName" => "Kristian", "name" => "Kristian Garza"}])
21
+ expect(subject.creators).to eq([{"type"=>"Person", "familyName" => "Garza", "givenName" => "Kristian", "name" => "Kristian Garza"}])
22
22
  expect(subject.titles).to eq([{"title"=>"Analysis Tools for Crossover Experiment of UI using Choice Architecture"}])
23
23
  expect(subject.descriptions.first["description"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
24
24
  expect(subject.dates).to eq("date"=>"2016-03-27", "dateType"=>"Issued")
@@ -31,7 +31,7 @@ describe Bolognese::Metadata, vcr: true do
31
31
  expect(subject.valid?).to be true
32
32
  expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.48440")
33
33
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"other", "resourceType"=>"Software", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
34
- expect(subject.creator).to eq([{"type"=>"Person", "familyName" => "Garza", "givenName" => "Kristian", "name" => "Kristian Garza"}])
34
+ expect(subject.creators).to eq([{"type"=>"Person", "familyName" => "Garza", "givenName" => "Kristian", "name" => "Kristian Garza"}])
35
35
  expect(subject.titles).to eq([{"title"=>"Analysis Tools for Crossover Experiment of UI using Choice Architecture"}])
36
36
  expect(subject.descriptions.first["description"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
37
37
  expect(subject.dates).to eq("date"=>"2016-03-27", "dateType"=>"Issued")
@@ -21,8 +21,8 @@ describe Bolognese::Metadata, vcr: true do
21
21
  expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
22
22
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
23
23
  expect(subject.url).to eq("https://elifesciences.org/articles/01567")
24
- expect(subject.creator.length).to eq(5)
25
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Martial Sankar", "givenName"=>"Martial", "familyName"=>"Sankar")
24
+ expect(subject.creators.length).to eq(5)
25
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Martial Sankar", "givenName"=>"Martial", "familyName"=>"Sankar")
26
26
  expect(subject.rights_list).to eq([{"rightsUri"=>"http://creativecommons.org/licenses/by/3.0"}])
27
27
  expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
28
28
  expect(subject.dates).to eq([{"date"=>"2014-02-11", "dateType"=>"Issued"}, {"date"=>"2018-08-23T13:41:49Z", "dateType"=>"Updated"}])
@@ -51,9 +51,9 @@ describe Bolognese::Metadata, vcr: true do
51
51
  expect(subject.identifier).to eq(input)
52
52
  expect(subject.url).to eq("http://dx.plos.org/10.1371/journal.pone.0000030")
53
53
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
54
- expect(subject.creator.length).to eq(5)
55
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Markus Ralser", "givenName"=>"Markus", "familyName"=>"Ralser")
56
- expect(subject.contributor).to eq("contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem", "name"=>"Guilhem Janbon", "type"=>"Person")
54
+ expect(subject.creators.length).to eq(5)
55
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Markus Ralser", "givenName"=>"Markus", "familyName"=>"Ralser")
56
+ expect(subject.contributors).to eq("contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem", "name"=>"Guilhem Janbon", "type"=>"Person")
57
57
  expect(subject.titles).to eq([{"title"=>"Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization–Not Catalytic Inactivity–of the Mutant Enzymes"}])
58
58
  expect(subject.rights_list).to eq([{"rightsUri"=>"http://creativecommons.org/licenses/by/4.0"}])
59
59
  expect(subject.dates).to eq([{"date"=>"2006-12-20", "dateType"=>"Issued"}, {"date"=>"2017-06-17T12:26:15Z", "dateType"=>"Updated"}])
@@ -73,8 +73,8 @@ describe Bolognese::Metadata, vcr: true do
73
73
  expect(subject.identifier).to eq(input)
74
74
  expect(subject.url).to eq("http://biorxiv.org/lookup/doi/10.1101/097196")
75
75
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
76
- expect(subject.creator.count).to eq(11)
77
- expect(subject.creator.last).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-4060-7360", "name"=>"Timothy Clark", "givenName"=>"Timothy", "familyName"=>"Clark")
76
+ expect(subject.creators.count).to eq(11)
77
+ expect(subject.creators.last).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-4060-7360", "name"=>"Timothy Clark", "givenName"=>"Timothy", "familyName"=>"Clark")
78
78
  expect(subject.titles).to eq([{"title"=>"A Data Citation Roadmap for Scholarly Data Repositories"}])
79
79
  expect(subject.alternate_identifiers).to eq("alternateIdentifier"=>"biorxiv;097196v2", "alternateIdentifierType"=>"Publisher ID")
80
80
  expect(subject.descriptions.first["description"]).to start_with("This article presents a practical roadmap")
@@ -91,7 +91,7 @@ describe Bolognese::Metadata, vcr: true do
91
91
  expect(subject.identifier).to eq("https://doi.org/10.1890/0012-9658(2006)87%5B2832:tiopma%5D2.0.co;2")
92
92
  expect(subject.url).to eq("http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2")
93
93
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
94
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"A. Fenton", "givenName"=>"A.", "familyName"=>"Fenton"}, {"type"=>"Person", "name"=>"S. A. Rands", "givenName"=>"S. A.", "familyName"=>"Rands"}])
94
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"A. Fenton", "givenName"=>"A.", "familyName"=>"Fenton"}, {"type"=>"Person", "name"=>"S. A. Rands", "givenName"=>"S. A.", "familyName"=>"Rands"}])
95
95
  expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
96
96
  expect(subject.titles).to eq([{"title"=>"THE IMPACT OF PARASITE MANIPULATION AND PREDATOR FORAGING BEHAVIOR ON PREDATOR–PREY COMMUNITIES"}])
97
97
  expect(subject.dates).to eq([{"date"=>"2006-11", "dateType"=>"Issued"}, {"date"=>"2018-08-02T21:20:01Z", "dateType"=>"Updated"}])
@@ -112,8 +112,8 @@ describe Bolognese::Metadata, vcr: true do
112
112
  expect(subject.identifier).to eq("https://doi.org/10.1155/2012/291294")
113
113
  expect(subject.url).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
114
114
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
115
- expect(subject.creator.length).to eq(7)
116
- expect(subject.creator[2]).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-2043-4925", "name"=>"Beatriz Hernandez", "givenName"=>"Beatriz", "familyName"=>"Hernandez")
115
+ expect(subject.creators.length).to eq(7)
116
+ expect(subject.creators[2]).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-2043-4925", "name"=>"Beatriz Hernandez", "givenName"=>"Beatriz", "familyName"=>"Hernandez")
117
117
  expect(subject.rights_list).to eq([{"rightsUri"=>"http://creativecommons.org/licenses/by/3.0"}])
118
118
  expect(subject.titles).to eq([{"title"=>"Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers"}])
119
119
  expect(subject.dates).to eq([{"date"=>"2012", "dateType"=>"Issued"}, {"date"=>"2016-08-02T18:42:41Z", "dateType"=>"Updated"}])
@@ -134,8 +134,8 @@ describe Bolognese::Metadata, vcr: true do
134
134
  expect(subject.identifier).to eq(input)
135
135
  expect(subject.url).to eq("http://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
136
136
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
137
- expect(subject.creator.length).to eq(10)
138
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Sarah E. Beck", "givenName"=>"Sarah E.", "familyName"=>"Beck")
137
+ expect(subject.creators.length).to eq(10)
138
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Sarah E. Beck", "givenName"=>"Sarah E.", "familyName"=>"Beck")
139
139
  expect(subject.titles).to eq([{"title"=>"Paving the path to HIV neurotherapy: Predicting SIV CNS disease"}])
140
140
  expect(subject.dates).to eq([{"date"=>"2015-07", "dateType"=>"Issued"}, {"date"=>"2017-06-23T08:44:48Z", "dateType"=>"Updated"}])
141
141
  expect(subject.publication_year).to eq("2015")
@@ -151,8 +151,8 @@ describe Bolognese::Metadata, vcr: true do
151
151
  expect(subject.identifier).to eq("https://doi.org/10.2210/pdb4hhb/pdb")
152
152
  expect(subject.url).to eq("ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/hh/pdb4hhb.ent.gz")
153
153
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
154
- expect(subject.creator.length).to eq(2)
155
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"G. Fermi", "givenName"=>"G.", "familyName"=>"Fermi")
154
+ expect(subject.creators.length).to eq(2)
155
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"G. Fermi", "givenName"=>"G.", "familyName"=>"Fermi")
156
156
  expect(subject.titles).to eq([{"title"=>"THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION"}])
157
157
  expect(subject.descriptions).to eq([{"description"=>"x-ray diffraction structure", "descriptionType"=>"Other"}])
158
158
  expect(subject.dates).to eq([{"date"=>"1984-07-17", "dateType"=>"Issued"}, {"date"=>"2014-05-27T16:45:59Z", "dateType"=>"Updated"}])
@@ -168,8 +168,8 @@ describe Bolognese::Metadata, vcr: true do
168
168
  expect(subject.identifier).to eq("https://doi.org/10.1007/978-3-662-46370-3_13")
169
169
  expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-662-46370-3_13")
170
170
  expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"Text", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
171
- expect(subject.creator.length).to eq(2)
172
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Ronald L. Diercks", "givenName"=>"Ronald L.", "familyName"=>"Diercks")
171
+ expect(subject.creators.length).to eq(2)
172
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Ronald L. Diercks", "givenName"=>"Ronald L.", "familyName"=>"Diercks")
173
173
  expect(subject.titles).to eq([{"title"=>"Clinical Symptoms and Physical Examinations"}])
174
174
  expect(subject.dates).to eq([{"date"=>"2015", "dateType"=>"Issued"}, {"date"=>"2015-04-14T02:31:13Z", "dateType"=>"Updated"}])
175
175
  expect(subject.publication_year).to eq("2015")
@@ -184,8 +184,8 @@ describe Bolognese::Metadata, vcr: true do
184
184
  expect(subject.identifier).to eq(input)
185
185
  expect(subject.url).to eq("http://doi.wiley.com/10.1111/nph.14619")
186
186
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
187
- expect(subject.creator.length).to eq(3)
188
- expect(subject.creator.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0002-4156-3761", "name"=>"Nico Dissmeyer", "givenName"=>"Nico", "familyName"=>"Dissmeyer")
187
+ expect(subject.creators.length).to eq(3)
188
+ expect(subject.creators.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0002-4156-3761", "name"=>"Nico Dissmeyer", "givenName"=>"Nico", "familyName"=>"Dissmeyer")
189
189
  expect(subject.titles).to eq([{"title"=>"Life and death of proteins after protease cleavage: protein degradation by the N-end rule pathway"}])
190
190
  expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}, {"rightsUri"=>"http://onlinelibrary.wiley.com/termsAndConditions"}])
191
191
  expect(subject.dates).to eq([{"date"=>"2018-05", "dateType"=>"Issued"}, {"date"=>"2018-08-07T05:52:14Z", "dateType"=>"Updated"}])
@@ -18,7 +18,7 @@ describe Bolognese::Metadata, vcr: true do
18
18
  expect(subject.valid?).to be true
19
19
  expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
20
20
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"BlogPosting", "resourceTypeGeneral"=>"Text", "ris"=>"RPRT", "schemaOrg"=>"ScholarlyArticle")
21
- expect(subject.creator).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
21
+ expect(subject.creators).to eq([{"type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
22
22
  expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
23
23
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"MS-49-3632-5083", "alternateIdentifierType"=>"Local accession number"}])
24
24
  expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Created"}, {"date"=>"2016-12-20", "dateType"=>"Issued"}, {"date"=>"2016-12-20", "dateType"=>"Updated"}])
@@ -35,7 +35,7 @@ describe Bolognese::Metadata, vcr: true do
35
35
  # expect(subject.valid?).to be true
36
36
  # expect(subject.identifier).to eq("https://doi.org/10.5063/f1m61h5x")
37
37
  # expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article", "resource_type"=>"Software", "resource_type_general"=>"Software", "ris"=>"COMP", "type"=>"SoftwareSourceCode")
38
- # expect(subject.creator).to eq([{"familyName"=>"Jones", "givenName"=>"Matthew B.", "name"=>"Matthew B. Jones", "type"=>"Person"}])
38
+ # expect(subject.creators).to eq([{"familyName"=>"Jones", "givenName"=>"Matthew B.", "name"=>"Matthew B. Jones", "type"=>"Person"}])
39
39
  # expect(subject.titles).to eq([{"title"=>"dataone: R interface to the DataONE network of data repositories"}])
40
40
  # expect(subject.dates).to eq([{"date"=>"2016", "date_type"=>"Issued"}])
41
41
  # expect(subject.publication_year).to eq("2016")
@@ -25,8 +25,8 @@ describe Bolognese::Metadata, vcr: true do
25
25
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
26
26
  expect(subject.types["ris"]).to eq("DATA")
27
27
  expect(subject.types["citeproc"]).to eq("dataset")
28
- expect(subject.creator.length).to eq(8)
29
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
28
+ expect(subject.creators.length).to eq(8)
29
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
30
30
  expect(subject.titles).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
31
31
  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"}])
32
32
  expect(subject.rights_list).to eq([{"rightsUri"=>"http://creativecommons.org/publicdomain/zero/1.0"}])
@@ -49,7 +49,7 @@ describe Bolognese::Metadata, vcr: true do
49
49
  expect(subject.types["ris"]).to eq("RPRT")
50
50
  expect(subject.types["bibtex"]).to eq("article")
51
51
  expect(subject.types["citeproc"]).to eq("article-journal")
52
- expect(subject.creator).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
52
+ expect(subject.creators).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
53
53
  expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
54
54
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"MS-49-3632-5083", "alternateIdentifierType"=>"Local accession number"}])
55
55
  expect(subject.descriptions.first["description"]).to start_with("Eating your own dog food")
@@ -70,7 +70,7 @@ describe Bolognese::Metadata, vcr: true do
70
70
  expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
71
71
  expect(subject.types["resourceType"]).to eq("ConferencePaper")
72
72
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
73
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"Nathaniel Johnston", "givenName"=>"Nathaniel", "familyName"=>"Johnston"}])
73
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"Nathaniel Johnston", "givenName"=>"Nathaniel", "familyName"=>"Johnston"}])
74
74
  expect(subject.titles).to eq([{"title"=>"The Minimum Size of Qubit Unextendible Product Bases"}])
75
75
  expect(subject.alternate_identifiers).to eq([])
76
76
  expect(subject.descriptions.first["description"]).to start_with("We investigate the problem of constructing unextendible product bases in the qubit case")
@@ -89,8 +89,8 @@ describe Bolognese::Metadata, vcr: true do
89
89
  expect(subject.types["schemaOrg"]).to eq("Dataset")
90
90
  expect(subject.types["resourceType"]).to eq("Dataset")
91
91
  expect(subject.types["resourceTypeGeneral"]).to eq("Audiovisual")
92
- expect(subject.creator.length).to eq(14)
93
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Haywood, Raphaelle Dawn", "givenName"=>"Raphaelle Dawn", "familyName"=>"Haywood")
92
+ expect(subject.creators.length).to eq(14)
93
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Haywood, Raphaelle Dawn", "givenName"=>"Raphaelle Dawn", "familyName"=>"Haywood")
94
94
  expect(subject.titles).to eq([{"lang"=>"en", "title"=>"Data underpinning - The Sun as a planet-host star: Proxies from SDO images for HARPS radial-velocity variations"}])
95
95
  expect(subject.dates).to eq([{"date"=>"2016-01-20", "dateType"=>"Available"}, {"date"=>"2016", "dateType"=>"Issued"}])
96
96
  expect(subject.publication_year).to eq("2016")
@@ -108,7 +108,7 @@ describe Bolognese::Metadata, vcr: true do
108
108
  expect(subject.types["resourceTypeGeneral"]).to eq("Software")
109
109
  expect(subject.types["ris"]).to eq("COMP")
110
110
  expect(subject.types["citeproc"]).to eq("article")
111
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza"}])
111
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza"}])
112
112
  expect(subject.titles).to eq([{"title"=>"Analysis Tools For Crossover Experiment Of Ui Using Choice Architecture"}])
113
113
  expect(subject.descriptions.first["description"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
114
114
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution-NonCommercial-ShareAlike", "rightsUri"=>"https://creativecommons.org/licenses/by-nc-sa/4.0"},{"rights"=>"Open Access", "rightsUri"=>"info:eu-repo/semantics/openAccess"}])
@@ -129,8 +129,8 @@ describe Bolognese::Metadata, vcr: true do
129
129
  expect(subject.types["schemaOrg"]).to eq("Dataset")
130
130
  expect(subject.types["resourceType"]).to eq("Dataset")
131
131
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
132
- expect(subject.creator.count).to eq(11)
133
- expect(subject.creator.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0002-2410-9671", "name"=>"Alexander Junge", "givenName"=>"Alexander", "familyName"=>"Junge")
132
+ expect(subject.creators.count).to eq(11)
133
+ expect(subject.creators.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0002-2410-9671", "name"=>"Alexander Junge", "givenName"=>"Alexander", "familyName"=>"Junge")
134
134
  expect(subject.titles).to eq([{"title"=>"RAIN v1"}])
135
135
  expect(subject.descriptions.first["description"]).to start_with("<b>RAIN: RNA–protein Association and Interaction Networks")
136
136
  expect(subject.rights_list).to eq([{"rightsUri"=>"https://creativecommons.org/licenses/by/4.0", "rights"=>"CC-BY"}])
@@ -150,8 +150,8 @@ describe Bolognese::Metadata, vcr: true do
150
150
  expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1239")
151
151
  expect(subject.types["schemaOrg"]).to eq("Dataset")
152
152
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
153
- expect(subject.creator.length).to eq(4)
154
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Jahn, Najko", "givenName"=>"Najko", "familyName"=>"Jahn")
153
+ expect(subject.creators.length).to eq(4)
154
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Jahn, Najko", "givenName"=>"Najko", "familyName"=>"Jahn")
155
155
  expect(subject.titles).to eq([{"title"=>"Publication Fp7 Funding Acknowledgment - Plos Openaire"}])
156
156
  expect(subject.descriptions.first["description"]).to start_with("The dataset contains a sample of metadata describing papers")
157
157
  expect(subject.dates).to eq([{"date"=>"2013-04-03", "dateType"=>"Issued"}])
@@ -171,7 +171,7 @@ describe Bolognese::Metadata, vcr: true do
171
171
  subject = Bolognese::Metadata.new(input: nil,
172
172
  from: "datacite",
173
173
  doi: "10.5281/zenodo.1239",
174
- creator: [{"type"=>"Person", "name"=>"Jahn, Najko", "givenName"=>"Najko", "familyName"=>"Jahn"}],
174
+ creators: [{"type"=>"Person", "name"=>"Jahn, Najko", "givenName"=>"Najko", "familyName"=>"Jahn"}],
175
175
  titles: [{ "title" => "Publication Fp7 Funding Acknowledgment - Plos Openaire" }],
176
176
  descriptions: [{ "description" => "The dataset contains a sample of metadata describing papers" }],
177
177
  publisher: "Zenodo",
@@ -190,7 +190,7 @@ describe Bolognese::Metadata, vcr: true do
190
190
  expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1239")
191
191
  expect(subject.types["schemaOrg"]).to eq("Dataset")
192
192
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
193
- expect(subject.creator).to eq([{"familyName"=>"Jahn", "givenName"=>"Najko", "name"=>"Jahn, Najko", "type"=>"Person"}])
193
+ expect(subject.creators).to eq([{"familyName"=>"Jahn", "givenName"=>"Najko", "name"=>"Jahn, Najko", "type"=>"Person"}])
194
194
  expect(subject.titles).to eq([{"title"=>"Publication Fp7 Funding Acknowledgment - Plos Openaire"}])
195
195
  expect(subject.descriptions.first["description"]).to start_with("The dataset contains a sample of metadata describing papers")
196
196
  expect(subject.dates).to eq([{"date"=>"2013-04-03", "dateType"=>"Issued"}])
@@ -253,8 +253,8 @@ describe Bolognese::Metadata, vcr: true do
253
253
  expect(subject.types["schemaOrg"]).to eq("Dataset")
254
254
  expect(subject.types["resourceType"]).to eq("dataset")
255
255
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
256
- expect(subject.creator.length).to eq(6)
257
- expect(subject.creator.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
256
+ expect(subject.creators.length).to eq(6)
257
+ expect(subject.creators.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
258
258
  end
259
259
 
260
260
  it "geo_location" do
@@ -264,8 +264,8 @@ describe Bolognese::Metadata, vcr: true do
264
264
  expect(subject.valid?).to be true
265
265
  expect(subject.identifier).to eq("https://doi.org/10.5072/geopointexample")
266
266
  expect(subject.doi).to eq("10.5072/geopointexample")
267
- expect(subject.creator.length).to eq(3)
268
- expect(subject.creator.first).to eq("familyName"=>"Schumann", "givenName"=>"Kai", "name"=>"Kai Schumann", "type"=>"Person")
267
+ expect(subject.creators.length).to eq(3)
268
+ expect(subject.creators.first).to eq("familyName"=>"Schumann", "givenName"=>"Kai", "name"=>"Kai Schumann", "type"=>"Person")
269
269
  expect(subject.titles).to eq([{"title"=>"Gridded results of swath bathymetric mapping of Disko Bay, Western Greenland, 2007-2008"}])
270
270
  expect(subject.publisher).to eq("PANGAEA - Data Publisher for Earth & Environmental Science")
271
271
  expect(subject.publication_year).to eq("2011")
@@ -280,8 +280,8 @@ describe Bolognese::Metadata, vcr: true do
280
280
  expect(subject.valid?).to be true
281
281
  expect(subject.identifier).to eq("https://doi.org/10.6071/z7wc73")
282
282
  expect(subject.doi).to eq("10.6071/z7wc73")
283
- expect(subject.creator.length).to eq(6)
284
- expect(subject.creator.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
283
+ expect(subject.creators.length).to eq(6)
284
+ expect(subject.creators.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
285
285
  expect(subject.titles).to eq([{"title"=>"Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek\n meteorological data, soil moisture and temperature, snow depth and air\n temperature"}])
286
286
  expect(subject.publisher).to eq("UC Merced")
287
287
  expect(subject.dates).to eq([{"date"=>"2014-10-17", "dateType"=>"Updated"}, {"date"=>"2016-03-14T17:02:02Z", "dateType"=>"Available"}, {"date"=>"2013", "dateType"=>"Issued"}])
@@ -301,17 +301,17 @@ describe Bolognese::Metadata, vcr: true do
301
301
  expect(subject.valid?).to be true
302
302
  expect(subject.identifier).to eq("https://doi.org/10.14457/kmitl.res.2006.17")
303
303
  expect(subject.types["schemaOrg"]).to eq("Dataset")
304
- expect(subject.creator.length).to eq(1)
305
- expect(subject.creator.first).to eq("name" => "กัญจนา แซ่เตียว")
304
+ expect(subject.creators.length).to eq(1)
305
+ expect(subject.creators.first).to eq("name" => "กัญจนา แซ่เตียว")
306
306
  end
307
307
 
308
- it "multiple author names in one creatorName" do
308
+ it "multiple author names in one creatorsName" do
309
309
  input = "https://doi.org/10.7910/DVN/EQTQYO"
310
310
  subject = Bolognese::Metadata.new(input: input)
311
311
  expect(subject.valid?).to be true
312
312
  expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/eqtqyo")
313
313
  expect(subject.types["schemaOrg"]).to eq("Dataset")
314
- expect(subject.creator).to eq([{"name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)"}])
314
+ expect(subject.creators).to eq([{"name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)"}])
315
315
  end
316
316
 
317
317
  it "author with scheme" do
@@ -320,8 +320,8 @@ describe Bolognese::Metadata, vcr: true do
320
320
  expect(subject.valid?).to be true
321
321
  expect(subject.identifier).to eq("https://doi.org/10.18429/jacow-ipac2016-tupmy003")
322
322
  expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
323
- expect(subject.creator.length).to eq(12)
324
- expect(subject.creator.first).to eq("type"=>"Person", "id"=>"http://jacow.org/JACoW-00077389", "name"=>"Masashi Otani", "givenName"=>"Masashi", "familyName"=>"Otani")
323
+ expect(subject.creators.length).to eq(12)
324
+ expect(subject.creators.first).to eq("type"=>"Person", "id"=>"http://jacow.org/JACoW-00077389", "name"=>"Masashi Otani", "givenName"=>"Masashi", "familyName"=>"Otani")
325
325
  end
326
326
 
327
327
  it "author with wrong orcid scheme" do
@@ -330,8 +330,8 @@ describe Bolognese::Metadata, vcr: true do
330
330
  expect(subject.valid?).to be true
331
331
  expect(subject.identifier).to eq("https://doi.org/10.2314/coscv1")
332
332
  expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
333
- expect(subject.creator.length).to eq(14)
334
- expect(subject.creator.first).to include("type"=>"Person", "id" => "https://orcid.org/0000-0003-0232-7085", "name"=>"Lambert Heller", "givenName"=>"Lambert", "familyName"=>"Heller")
333
+ expect(subject.creators.length).to eq(14)
334
+ expect(subject.creators.first).to include("type"=>"Person", "id" => "https://orcid.org/0000-0003-0232-7085", "name"=>"Lambert Heller", "givenName"=>"Lambert", "familyName"=>"Heller")
335
335
  end
336
336
 
337
337
  it "keywords with attributes" do
@@ -350,8 +350,8 @@ describe Bolognese::Metadata, vcr: true do
350
350
  expect(subject.types["schemaOrg"]).to eq("Dataset")
351
351
  expect(subject.types["resourceType"]).to eq("Dataset")
352
352
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
353
- expect(subject.creator.length).to eq(2)
354
- expect(subject.creator.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-8740-8284", "name"=>"Bimbo, Nuno", "givenName"=>"Nuno", "familyName"=>"Bimbo")
353
+ expect(subject.creators.length).to eq(2)
354
+ expect(subject.creators.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-8740-8284", "name"=>"Bimbo, Nuno", "givenName"=>"Nuno", "familyName"=>"Bimbo")
355
355
  expect(subject.titles).to eq([{"title"=>"Dataset for \"Direct Evidence for Solid-Like Hydrogen in a Nanoporous Carbon Hydrogen Storage Material at Supercritical Temperatures\""}])
356
356
  expect(subject.descriptions.first["description"]).to start_with("Dataset for Direct Evidence for Solid-Like Hydrogen")
357
357
  expect(subject.publication_year).to eq("2015")
@@ -377,8 +377,8 @@ describe Bolognese::Metadata, vcr: true do
377
377
  expect(subject.types["resourceTypeGeneral"]).to eq("Collection")
378
378
  expect(subject.types["ris"]).to eq("GEN")
379
379
  expect(subject.types["citeproc"]).to eq("article")
380
- expect(subject.creator.length).to eq(24)
381
- expect(subject.creator.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-5331-6592", "name"=>"Farquhar, Adam", "givenName"=>"Adam", "familyName"=>"Farquhar")
380
+ expect(subject.creators.length).to eq(24)
381
+ expect(subject.creators.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-5331-6592", "name"=>"Farquhar, Adam", "givenName"=>"Adam", "familyName"=>"Farquhar")
382
382
  expect(subject.titles).to eq([{"title"=>"Technical and Human Infrastructure for Open Research (THOR)"}])
383
383
  expect(subject.descriptions.first["description"]).to start_with("Five years ago, a global infrastructure")
384
384
  expect(subject.publication_year).to eq("2015")
@@ -403,7 +403,7 @@ describe Bolognese::Metadata, vcr: true do
403
403
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
404
404
  expect(subject.types["ris"]).to eq("RPRT")
405
405
  expect(subject.types["citeproc"]).to eq("article-journal")
406
- expect(subject.creator).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
406
+ expect(subject.creators).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
407
407
  expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
408
408
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"MS-49-3632-5083", "alternateIdentifierType"=>"Local accession number"}])
409
409
  expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Created"}, {"date"=>"2016-12-20", "dateType"=>"Issued"}, {"date"=>"2016-12-20", "dateType"=>"Updated"}])
@@ -423,7 +423,7 @@ describe Bolognese::Metadata, vcr: true do
423
423
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
424
424
  expect(subject.types["ris"]).to eq("BOOK")
425
425
  expect(subject.types["citeproc"]).to eq("book")
426
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
426
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
427
427
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
428
428
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"937-0-4523-12357-6", "alternateIdentifierType"=>"ISBN"}])
429
429
  expect(subject.dates).to eq([{"date"=>"2012-12-13", "dateInformation"=>"Correction", "dateType"=>"Other"}, {"date"=>"2010", "dateType"=>"Issued"}])
@@ -446,7 +446,7 @@ describe Bolognese::Metadata, vcr: true do
446
446
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
447
447
  expect(subject.types["ris"]).to eq("BOOK")
448
448
  expect(subject.types["citeproc"]).to eq("book")
449
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
449
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
450
450
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
451
451
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"937-0-4523-12357-6", "alternateIdentifierType"=>"ISBN"}])
452
452
  expect(subject.publication_year).to eq("2010")
@@ -468,8 +468,8 @@ describe Bolognese::Metadata, vcr: true do
468
468
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
469
469
  expect(subject.types["ris"]).to eq("DATA")
470
470
  expect(subject.types["citeproc"]).to eq("dataset")
471
- expect(subject.creator.length).to eq(8)
472
- expect(subject.creator.last).to eq("familyName"=>"Renaud", "givenName"=>"François", "name"=>"François Renaud", "type"=>"Person")
471
+ expect(subject.creators.length).to eq(8)
472
+ expect(subject.creators.last).to eq("familyName"=>"Renaud", "givenName"=>"François", "name"=>"François Renaud", "type"=>"Person")
473
473
  expect(subject.titles).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
474
474
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>
475
475
  "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.",
@@ -493,7 +493,7 @@ describe Bolognese::Metadata, vcr: true do
493
493
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
494
494
  expect(subject.types["ris"]).to eq("BOOK")
495
495
  expect(subject.types["citeproc"]).to eq("book")
496
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
496
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
497
497
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
498
498
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"937-0-4523-12357-6", "alternateIdentifierType"=>"ISBN"}])
499
499
  expect(subject.publication_year).to eq("2010")
@@ -515,7 +515,7 @@ describe Bolognese::Metadata, vcr: true do
515
515
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
516
516
  expect(subject.types["ris"]).to eq("BOOK")
517
517
  expect(subject.types["citeproc"]).to eq("book")
518
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
518
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
519
519
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
520
520
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"937-0-4523-12357-6", "alternateIdentifierType"=>"ISBN"}])
521
521
  expect(subject.dates).to eq([{"date"=>"2009-04-29", "dateType"=>"StartDate"}, {"date"=>"2010-01-05", "dateType"=>"EndDate"}, {"date"=>"2010", "dateType"=>"Issued"}])
@@ -535,7 +535,7 @@ describe Bolognese::Metadata, vcr: true do
535
535
  expect(subject.types["schemaOrg"]).to eq("Book")
536
536
  expect(subject.types["resourceType"]).to eq("Monograph")
537
537
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
538
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
538
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
539
539
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
540
540
  expect(subject.alternate_identifiers).to eq([{"alternateIdentifier"=>"937-0-4523-12357-6", "alternateIdentifierType"=>"ISBN"}])
541
541
  expect(subject.dates).to eq([{"date"=>"2012-12-13", "dateInformation"=>"Correction", "dateType"=>"Other"}, {"date"=>"2010", "dateType"=>"Issued"}])
@@ -559,8 +559,8 @@ describe Bolognese::Metadata, vcr: true do
559
559
  expect(subject.types["schemaOrg"]).to eq("SoftwareSourceCode")
560
560
  expect(subject.types["resourceType"]).to eq("Simulation Tool")
561
561
  expect(subject.types["resourceTypeGeneral"]).to eq("Software")
562
- expect(subject.creator.length).to eq(5)
563
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Carlos PatiñO", "givenName"=>"Carlos", "familyName"=>"PatiñO")
562
+ expect(subject.creators.length).to eq(5)
563
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Carlos PatiñO", "givenName"=>"Carlos", "familyName"=>"PatiñO")
564
564
  expect(subject.titles).to eq([{"title"=>"LAMMPS Data-File Generator"}])
565
565
  expect(subject.dates).to eq([{"date"=>"2018-07-18", "dateType"=>"Valid"}, {"date"=>"2018-07-18", "dateType"=>"Accepted"}, {"date"=>"2018", "dateType"=>"Issued"}])
566
566
  expect(subject.publication_year).to eq("2018")
@@ -576,7 +576,7 @@ describe Bolognese::Metadata, vcr: true do
576
576
  expect(subject.identifier).to eq("https://doi.org/10.5067/terra+aqua/ceres/cldtyphist_l3.004")
577
577
  expect(subject.types["schemaOrg"]).to eq("Dataset")
578
578
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
579
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"Takmeng Wong", "givenName"=>"Takmeng", "familyName"=>"Wong"}])
579
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"Takmeng Wong", "givenName"=>"Takmeng", "familyName"=>"Wong"}])
580
580
  expect(subject.titles).to eq([{"title"=>"CERES Level 3 Cloud Type Historgram Terra+Aqua HDF file - Edition4"}])
581
581
  expect(subject.publication_year).to eq("2016")
582
582
  expect(subject.publisher).to eq("NASA Langley Atmospheric Science Data Center DAAC")
@@ -591,7 +591,7 @@ describe Bolognese::Metadata, vcr: true do
591
591
  expect(subject.identifier).to eq("https://doi.org/10.4232/1.2745")
592
592
  expect(subject.types["schemaOrg"]).to eq("Dataset")
593
593
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
594
- expect(subject.creator).to eq([{"type"=>"Organization", "name"=>"Europäische Kommission"}])
594
+ expect(subject.creators).to eq([{"type"=>"Organization", "name"=>"Europäische Kommission"}])
595
595
  expect(subject.titles).to eq([{"lang"=>"de", "title"=>"Flash Eurobarometer 54 (Madrid Summit)"}, {"lang"=>"en", "title"=>"Flash Eurobarometer 54 (Madrid Summit)"}, {"titleType"=>"Subtitle","lang"=>"de", "title"=>"The Common European Currency"}, {"titleType"=>"Subtitle", "lang"=>"en", "title"=>"The Common European Currency"}])
596
596
  expect(subject.subjects).to eq([{"subjectScheme"=>"ZA", "lang"=>"en", "subject"=>"KAT12 International Institutions, Relations, Conditions"}])
597
597
  expect(subject.dates).to eq([{"date"=>"1995-12", "dateType"=>"Collected"}, {"date"=>"1996", "dateType"=>"Issued"}])
@@ -609,8 +609,8 @@ describe Bolognese::Metadata, vcr: true do
609
609
  expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
610
610
  expect(subject.types["resourceType"]).to eq("Article")
611
611
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
612
- expect(subject.creator.length).to eq(3)
613
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"P. Llamas", "givenName"=>"P.", "familyName"=>"Llamas")
612
+ expect(subject.creators.length).to eq(3)
613
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"P. Llamas", "givenName"=>"P.", "familyName"=>"Llamas")
614
614
  expect(subject.titles).to eq([{"title"=>"Rural Electrification With Hybrid Power Systems Based on Renewables - Technical System Configurations From the Point of View of the European Industry"}])
615
615
  expect(subject.dates).to eq([{"date"=>"2008-11-01", "dateType"=>"Valid"}, {"date"=>"2008", "dateType"=>"Issued"}])
616
616
  expect(subject.publication_year).to eq("2008")
@@ -640,7 +640,7 @@ describe Bolognese::Metadata, vcr: true do
640
640
  expect(subject.types["schemaOrg"]).to eq("Dataset")
641
641
  expect(subject.types["resourceType"]).to eq("Disclosure")
642
642
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
643
- expect(subject.creator).to eq([{"name"=>"Anonymous"}])
643
+ expect(subject.creators).to eq([{"name"=>"Anonymous"}])
644
644
  expect(subject.titles).to eq([{"title"=>"Messung der Bildunschaerfe in H.264-codierten Bildern und Videosequenzen"}])
645
645
  expect(subject.dates).to eq([{"date"=>"07.04.2017", "dateType"=>"Available"}, {"date"=>"2017", "dateType"=>"Issued"}])
646
646
  expect(subject.publication_year).to eq("2017")
@@ -657,7 +657,7 @@ describe Bolognese::Metadata, vcr: true do
657
657
  expect(subject.types["schemaOrg"]).to eq("Dataset")
658
658
  expect(subject.types["resourceType"]).to eq("Satellite data")
659
659
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
660
- expect(subject.creator).to eq([{"type"=>"Person",
660
+ expect(subject.creators).to eq([{"type"=>"Person",
661
661
  "id"=>"https://orcid.org/0000-0002-0077-5338",
662
662
  "name"=>"Ronald Van Der A",
663
663
  "givenName"=>"Ronald",
@@ -697,7 +697,7 @@ describe Bolognese::Metadata, vcr: true do
697
697
  expect(subject.identifier).to eq("https://handle.test.datacite.org/10.22002/d1.694")
698
698
  expect(subject.types["schemaOrg"]).to eq("Dataset")
699
699
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
700
- expect(subject.creator).to eq([{"name"=>"Tester"}])
700
+ expect(subject.creators).to eq([{"name"=>"Tester"}])
701
701
  expect(subject.titles).to eq([{"title"=>"Test license"}])
702
702
  expect(subject.dates).to eq([{"date"=>"2018-01-12", "dateType"=>"Issued"}])
703
703
  expect(subject.publication_year).to eq("2018")
@@ -714,7 +714,7 @@ describe Bolognese::Metadata, vcr: true do
714
714
  expect(subject.identifier).to eq("https://handle.test.datacite.org/10.21956/wellcomeopenres.25947.r17364")
715
715
  expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
716
716
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
717
- expect(subject.creator).to eq([{"name"=>"Fran2 Levy"}])
717
+ expect(subject.creators).to eq([{"name"=>"Fran2 Levy"}])
718
718
  expect(subject.titles).to eq([{"title"=>"Referee report. For: FL Regression Wellcome [version 1; referees: retracted]"}])
719
719
  expect(subject.dates).to eq([{"date"=>"2018", "dateType"=>"Issued"}])
720
720
  expect(subject.publication_year).to eq("2018")
@@ -733,8 +733,8 @@ describe Bolognese::Metadata, vcr: true do
733
733
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
734
734
  expect(subject.types["ris"]).to eq("RPRT")
735
735
  expect(subject.types["citeproc"]).to eq("article-journal")
736
- expect(subject.creator.length).to eq(5)
737
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Lina Patel", "givenName"=>"Lina", "familyName"=>"Patel")
736
+ expect(subject.creators.length).to eq(5)
737
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Lina Patel", "givenName"=>"Lina", "familyName"=>"Patel")
738
738
  expect(subject.titles).to eq([{"title"=>"Referee report. For: Gates - add article keywords to the metatags [version 2; referees: 1 approved]"}])
739
739
  expect(subject.publication_year).to eq("2018")
740
740
  expect(subject.publisher).to eq("Gates Open Research")
@@ -749,18 +749,18 @@ describe Bolognese::Metadata, vcr: true do
749
749
  expect(subject.rights_list).to eq([{"rights"=>"info:eu-repo/semantics/openAccess"}, {"rights"=>"Open Access", "rightsUri"=>"info:eu-repo/semantics/openAccess"}])
750
750
  end
751
751
 
752
- it "missing creator" do
752
+ it "missing creators" do
753
753
  input = fixture_path + "datacite_missing_creator.xml"
754
754
  subject = Bolognese::Metadata.new(input: input, regenerate: true)
755
- expect(subject.creator).to be_blank
755
+ expect(subject.creators).to be_blank
756
756
  expect(subject.valid?).to be false
757
757
  expect(subject.errors).to eq("4:0: ERROR: Element '{http://datacite.org/schema/kernel-4}creators': Missing child element(s). Expected is ( {http://datacite.org/schema/kernel-4}creator ).")
758
758
  end
759
759
 
760
- it "malformed creator" do
760
+ it "malformed creators" do
761
761
  input = fixture_path + "datacite_malformed_creator.xml"
762
762
  subject = Bolognese::Metadata.new(input: input, regenerate: false)
763
- expect(subject.creator).to be_blank
763
+ expect(subject.creators).to be_blank
764
764
  expect(subject.valid?).to be false
765
765
  expect(subject.errors).to eq("16:0: ERROR: Element '{http://datacite.org/schema/kernel-4}creatorName': This element is not expected. Expected is ( {http://datacite.org/schema/kernel-4}affiliation ).")
766
766
  end
@@ -783,7 +783,7 @@ describe Bolognese::Metadata, vcr: true do
783
783
  expect(subject.types["schemaOrg"]).to eq("Thesis")
784
784
  expect(subject.types["bibtex"]).to eq("phdthesis")
785
785
  expect(subject.types["citeproc"]).to eq("thesis")
786
- expect(subject.creator).to eq([{"type"=>"Person", "name"=>"Heiko Conrad", "givenName"=>"Heiko", "familyName"=>"Conrad"}])
786
+ expect(subject.creators).to eq([{"type"=>"Person", "name"=>"Heiko Conrad", "givenName"=>"Heiko", "familyName"=>"Conrad"}])
787
787
  expect(subject.titles).to eq([{"title"=>"Dynamics of colloids in molecular glass forming liquids studied via X-ray photon correlation spectroscopy"}])
788
788
  expect(subject.dates).to eq([{"date"=>"2014", "dateType"=>"Issued"},
789
789
  {"date"=>"2014", "dateType"=>"Copyrighted"},
@@ -839,7 +839,7 @@ describe Bolognese::Metadata, vcr: true do
839
839
  expect(subject.valid?).to be true
840
840
  expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
841
841
  expect(subject.doi).to eq("10.5061/dryad.8515")
842
- expect(subject.creator).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
842
+ expect(subject.creators).to eq([{"type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}])
843
843
  expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
844
844
  expect(subject.publisher).to eq("DataCite")
845
845
  expect(subject.publication_year).to eq("2016")
@@ -858,7 +858,7 @@ describe Bolognese::Metadata, vcr: true do
858
858
  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")
859
859
  expect(subject.types["schemaOrg"]).to eq("Dataset")
860
860
  expect(subject.types["resourceType"]).to eq("DroNc-seq data")
861
- expect(subject.creator).to eq([{"name"=>"The GTEx Consortium", "type"=>"Organization"}])
861
+ expect(subject.creators).to eq([{"name"=>"The GTEx Consortium", "type"=>"Organization"}])
862
862
  expect(subject.titles).to eq([{"title"=>"DroNc-seq data"}])
863
863
  expect(subject.subjects).to eq([{"subject"=>"gtex"}, {"subject"=>"annotation"}, {"subject"=>"phenotype"}, {"subject"=>"gene regulation"}, {"subject"=>"transcriptomics"}])
864
864
  expect(subject.dates).to eq([{"date"=>"2017", "dateType"=>"Issued"}])