bolognese 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18e30a9c4fd2f5e6976f471808e2128985b5d61e3de412ae8a501b4f58cf6e0a
4
- data.tar.gz: e2c613389fb58916cbf912b709eefac7a2f1cc64904b7e501fea0256cccacf85
3
+ metadata.gz: 62d6900ccac1a79387dfaeb139e1bbde1290e208713528c143281740f060aac3
4
+ data.tar.gz: 3e9ca8c795218bc24c1ddfc987729104a9f07cab8dc2d2eb4ceeff532c9aac59
5
5
  SHA512:
6
- metadata.gz: fb80c4e870947c8569a39c1fc726b99bbe1061ffd47e1f37f80c94a469220b08aab7c624dffcb6c8d763f8413fc5af5d622efea9c6db21767c9993fb19a0b72c
7
- data.tar.gz: fad294c8515a87cd581292f4785fdff394401d79d4080accbf6a66252e005a8cda569fa9574bbc83509f2ead87a7484ccbd83e74f5dcc4a7129c4574c0ca3f6d
6
+ metadata.gz: 0a2c2a6702e3f2eab29ee4f1f403f2696ed791e35603094dd0fa9b5c99e52029dfa4c103b196ae0d37e5fe90562c32f2f5b13324caa894298d713e208b6dfc25
7
+ data.tar.gz: e24f6e14a045f64e6f7a3a957a957b4a1279ebeeea9296add2d9622e1bae4f9af8047c69c224671bd8491eaae8ac2c1769aa256065613701dfb96325b8186a5a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.3.6)
4
+ bolognese (1.3.7)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -9,7 +9,7 @@ module Bolognese
9
9
  # benchmark :get_authors
10
10
 
11
11
  IDENTIFIER_SCHEME_URIS = {
12
- "ORCID" => "http://orcid.org/"
12
+ "ORCID" => "https://orcid.org/"
13
13
  }
14
14
 
15
15
  def get_one_author(author)
@@ -41,7 +41,7 @@ module Bolognese
41
41
  else
42
42
  {
43
43
  "nameIdentifier" => ni["__content__"],
44
- "schemeUri" => "Other",
44
+ "schemeUri" => nil,
45
45
  "nameIdentifierScheme" => ni["nameIdentifierScheme"] }.compact
46
46
  end
47
47
  end.presence
@@ -73,14 +73,14 @@ module Bolognese
73
73
  "name" => name,
74
74
  "givenName" => given_name,
75
75
  "familyName" => family_name,
76
- "nameIdentifiers" => name_identifiers,
77
- "affiliation" => author.fetch("affiliation", nil),
76
+ "nameIdentifiers" => Array.wrap(name_identifiers),
77
+ "affiliation" => Array.wrap(author.fetch("affiliation", nil)),
78
78
  "contributorType" => contributor_type }.compact
79
79
  else
80
80
  { "nameType" => name_type,
81
81
  "name" => name,
82
- "nameIdentifiers" => name_identifiers,
83
- "affiliation" => author.fetch("affiliation", nil),
82
+ "nameIdentifiers" => Array.wrap(name_identifiers),
83
+ "affiliation" => Array.wrap(author.fetch("affiliation", nil)),
84
84
  "contributorType" => contributor_type }.compact
85
85
  end
86
86
  end
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.3.6"
2
+ VERSION = "1.3.7"
3
3
  end
@@ -57,7 +57,7 @@ describe Bolognese::Metadata, vcr: true do
57
57
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
58
58
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
59
59
  response = subject.get_one_author(meta.dig("creators", "creator").first)
60
- expect(response).to eq("nameType"=>"Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
60
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo", "nameIdentifiers" => [], "affiliation" => [])
61
61
  end
62
62
 
63
63
  it "has name in display-order" do
@@ -65,7 +65,7 @@ describe Bolognese::Metadata, vcr: true do
65
65
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
66
66
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
67
67
  response = subject.get_one_author(meta.dig("creators", "creator"))
68
- expect(response).to eq("nameType"=>"Personal", "name"=>"Garza, Kristian", "givenName"=>"Kristian", "familyName"=>"Garza")
68
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Garza, Kristian", "givenName"=>"Kristian", "familyName"=>"Garza", "nameIdentifiers" => [], "affiliation" => [])
69
69
  end
70
70
 
71
71
  it "has name in display-order with ORCID" do
@@ -73,7 +73,7 @@ describe Bolognese::Metadata, vcr: true do
73
73
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
74
74
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
75
75
  response = subject.get_one_author(meta.dig("creators", "creator"))
76
- expect(response).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-4881-1606", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Bedini, Andrea", "givenName"=>"Andrea", "familyName"=>"Bedini")
76
+ expect(response).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-4881-1606", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Bedini, Andrea", "givenName"=>"Andrea", "familyName"=>"Bedini", "affiliation" => [])
77
77
  end
78
78
 
79
79
  it "has name in Thai" do
@@ -81,7 +81,7 @@ describe Bolognese::Metadata, vcr: true do
81
81
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
82
82
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
83
83
  response = subject.get_one_author(meta.dig("creators", "creator"))
84
- expect(response).to eq("name"=>"กัญจนา แซ่เตียว")
84
+ expect(response).to eq("name"=>"กัญจนา แซ่เตียว", "nameIdentifiers" => [], "affiliation" => [])
85
85
  end
86
86
 
87
87
  it "multiple author names in one field" do
@@ -89,7 +89,7 @@ describe Bolognese::Metadata, vcr: true do
89
89
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
90
90
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
91
91
  response = subject.get_authors(meta.dig("creators", "creator"))
92
- expect(response).to eq([{"name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)"}])
92
+ expect(response).to eq([{"name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)", "nameIdentifiers" => [], "affiliation" => []}])
93
93
  end
94
94
 
95
95
  it "hyper-authorship" do
@@ -98,13 +98,13 @@ describe Bolognese::Metadata, vcr: true do
98
98
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
99
99
  response = subject.get_authors(meta.dig("creators", "creator"))
100
100
  expect(response.length).to eq(1000)
101
- expect(response.first).to eq("nameType"=>"Personal", "name"=>"Adam, Jaroslav", "givenName"=>"Jaroslav", "familyName"=>"Adam", "affiliation" => [{"name"=>"Prague, Tech. U."}])
101
+ expect(response.first).to eq("nameType"=>"Personal", "name"=>"Adam, Jaroslav", "givenName"=>"Jaroslav", "familyName"=>"Adam", "affiliation" => [{"name"=>"Prague, Tech. U."}], "nameIdentifiers" => [])
102
102
  end
103
103
 
104
104
  it "is organization" do
105
105
  author = {"email"=>"info@ucop.edu", "creatorName"=> { "__content__" => "University of California, Santa Barbara", "nameType" => "Organizational" }, "role"=>{"namespace"=>"http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode", "roleCode"=>"copyrightHolder"} }
106
106
  response = subject.get_one_author(author)
107
- expect(response).to eq("nameType"=>"Organizational", "name"=>"University Of California, Santa Barbara")
107
+ expect(response).to eq("nameType"=>"Organizational", "name"=>"University Of California, Santa Barbara", "nameIdentifiers" => [], "affiliation" => [])
108
108
  end
109
109
 
110
110
  it "name with affiliation" do
@@ -112,7 +112,7 @@ describe Bolognese::Metadata, vcr: true do
112
112
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
113
113
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
114
114
  response = subject.get_one_author(meta.dig("creators", "creator"))
115
- expect(response).to eq("nameType"=>"Organizational", "name"=>"Dr. Störi, Kunstsalon")
115
+ expect(response).to eq("nameType"=>"Organizational", "name"=>"Dr. Störi, Kunstsalon", "nameIdentifiers" => [], "affiliation" => [])
116
116
  end
117
117
 
118
118
  it "name with affiliation and country" do
@@ -120,7 +120,7 @@ describe Bolognese::Metadata, vcr: true do
120
120
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
121
121
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
122
122
  response = subject.get_one_author(meta.dig("creators", "creator").first)
123
- expect(response).to eq("name"=>"Eraslan, Sukru; University Of Manchester, UK, & Middle East Technical University, Northern Cyprus Campus, Kalkanli, Guzelyurt, Turkey")
123
+ expect(response).to eq("name"=>"Eraslan, Sukru; University Of Manchester, UK, & Middle East Technical University, Northern Cyprus Campus, Kalkanli, Guzelyurt, Turkey", "nameIdentifiers" => [], "affiliation" => [])
124
124
  end
125
125
 
126
126
  it "name with role" do
@@ -128,7 +128,7 @@ describe Bolognese::Metadata, vcr: true do
128
128
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
129
129
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
130
130
  response = subject.get_one_author(meta.dig("creators", "creator").first)
131
- expect(response).to eq("nameType"=>"Personal", "name"=>"Schumacher, H. C.", "givenName"=>"H. C.", "familyName"=>"Schumacher")
131
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Schumacher, H. C.", "givenName"=>"H. C.", "familyName"=>"Schumacher", "nameIdentifiers" => [], "affiliation" => [])
132
132
  end
133
133
 
134
134
  it "multiple name_identifier" do
@@ -144,7 +144,7 @@ describe Bolognese::Metadata, vcr: true do
144
144
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
145
145
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
146
146
  response = subject.get_one_author(meta.dig("creators", "creator"))
147
- expect(response).to eq("nameType"=>"Organizational", "name"=>"The GTEx Consortium")
147
+ expect(response).to eq("nameType"=>"Organizational", "name"=>"The GTEx Consortium", "nameIdentifiers" => [], "affiliation" => [])
148
148
  end
149
149
 
150
150
  it "only familyName and givenName" do
@@ -63,7 +63,8 @@ describe Bolognese::Metadata, vcr: true do
63
63
  "schemeUri"=>"https://orcid.org"}],
64
64
  "nameType"=>"Personal"},
65
65
  {"name"=>"University Of California, Santa Barbara",
66
- "nameType"=>"Organizational"}])
66
+ "nameType"=>"Organizational",
67
+ "nameIdentifiers" => [], "affiliation" => []}])
67
68
  expect(subject.titles).to eq([{"title"=>"R Interface to the DataONE REST API"}])
68
69
  expect(subject.descriptions.first["description"]).to start_with("Provides read and write access to data and metadata")
69
70
  expect(subject.subjects).to eq([{"subject"=>"data sharing"}, {"subject"=>"data repository"}, {"subject"=>"DataONE"}])
@@ -105,7 +106,7 @@ describe Bolognese::Metadata, vcr: true do
105
106
  expect(subject.url).to eq("https://github.com/datacite/metadata-reports")
106
107
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
107
108
  expect(subject.creators.size).to eq(4)
108
- expect(subject.creators.last).to eq("familyName" => "Nielsen", "givenName" => "Lars Holm","name" => "Nielsen, Lars Holm", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0001-8135-3489", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "nameType" => "Personal")
109
+ expect(subject.creators.last).to eq("familyName" => "Nielsen", "givenName" => "Lars Holm","name" => "Nielsen, Lars Holm", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0001-8135-3489", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "nameType" => "Personal", "affiliation" => [])
109
110
  expect(subject.titles).to eq([{"title"=>"DOI Registrations for Software"}])
110
111
  expect(subject.descriptions.first["description"]).to start_with("Analysis of DataCite DOIs registered for software")
111
112
  expect(subject.subjects).to eq([{"subject"=>"doi"}, {"subject"=>"software"}, {"subject"=>"codemeta"}])
@@ -25,7 +25,7 @@ describe Bolognese::Metadata, vcr: true do
25
25
  expect(subject.types["ris"]).to eq("DATA")
26
26
  expect(subject.types["citeproc"]).to eq("dataset")
27
27
  expect(subject.creators.length).to eq(8)
28
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
28
+ expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo", "nameIdentifiers" => [], "affiliation" => [])
29
29
  expect(subject.titles).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
30
30
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5061/dryad.8515", "identifierType"=>"DOI"},
31
31
  {"identifier"=>
@@ -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.creators).to eq([{"nameType"=>"Personal", "name"=>"Johnston, Nathaniel", "givenName"=>"Nathaniel", "familyName"=>"Johnston"}])
73
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Johnston, Nathaniel", "givenName"=>"Nathaniel", "familyName"=>"Johnston", "nameIdentifiers" => [], "affiliation" => []}])
74
74
  expect(subject.titles).to eq([{"title"=>"The Minimum Size of Qubit Unextendible Product Bases"}])
75
75
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.4230/lipics.tqc.2013.93", "identifierType"=>"DOI"}])
76
76
  expect(subject.descriptions.first["description"]).to start_with("We investigate the problem of constructing unextendible product bases in the qubit case")
@@ -160,7 +160,7 @@ describe Bolognese::Metadata, vcr: true do
160
160
  expect(subject.types["resourceTypeGeneral"]).to eq("Software")
161
161
  expect(subject.types["ris"]).to eq("COMP")
162
162
  expect(subject.types["citeproc"]).to eq("article")
163
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Garza, Kristian", "givenName"=>"Kristian", "familyName"=>"Garza"}])
163
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Garza, Kristian", "givenName"=>"Kristian", "familyName"=>"Garza", "nameIdentifiers" => [], "affiliation" => []}])
164
164
  expect(subject.titles).to eq([{"title"=>"Analysis Tools For Crossover Experiment Of Ui Using Choice Architecture"}])
165
165
  expect(subject.descriptions.first["description"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
166
166
  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"}])
@@ -182,7 +182,7 @@ describe Bolognese::Metadata, vcr: true do
182
182
  expect(subject.types["resourceType"]).to eq("Dataset")
183
183
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
184
184
  expect(subject.creators.count).to eq(11)
185
- expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-2410-9671", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Junge, Alexander", "givenName"=>"Alexander", "familyName"=>"Junge")
185
+ expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-2410-9671", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Junge, Alexander", "givenName"=>"Alexander", "familyName"=>"Junge", "affiliation" => [])
186
186
  expect(subject.titles).to eq([{"title"=>"RAIN v1"}])
187
187
  expect(subject.descriptions.first["description"]).to start_with("<b>RAIN: RNA–protein Association and Interaction Networks")
188
188
  expect(subject.rights_list).to eq([{"rightsUri"=>"https://creativecommons.org/licenses/by/4.0", "rights"=>"CC-BY"}])
@@ -331,7 +331,7 @@ describe Bolognese::Metadata, vcr: true do
331
331
  expect(subject.types["resourceType"]).to eq("dataset")
332
332
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
333
333
  expect(subject.creators.length).to eq(6)
334
- expect(subject.creators.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Bales, Roger", "nameType"=>"Personal", "affiliation"=>[{"name"=>"UC Merced"}])
334
+ expect(subject.creators.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Bales, Roger", "nameType"=>"Personal", "affiliation"=>[{"name"=>"UC Merced"}], "nameIdentifiers" => [])
335
335
  end
336
336
 
337
337
  it "series_information" do
@@ -370,7 +370,7 @@ describe Bolognese::Metadata, vcr: true do
370
370
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/geopointexample", "identifierType"=>"DOI"}])
371
371
  expect(subject.doi).to eq("10.5072/geopointexample")
372
372
  expect(subject.creators.length).to eq(3)
373
- expect(subject.creators.first).to eq("familyName"=>"Schumann", "givenName"=>"Kai", "name"=>"Schumann, Kai", "nameType"=>"Personal")
373
+ expect(subject.creators.first).to eq("familyName"=>"Schumann", "givenName"=>"Kai", "name"=>"Schumann, Kai", "nameType"=>"Personal", "nameIdentifiers" => [], "affiliation" => [])
374
374
  expect(subject.titles).to eq([{"title"=>"Gridded results of swath bathymetric mapping of Disko Bay, Western Greenland, 2007-2008"}])
375
375
  expect(subject.publisher).to eq("PANGAEA - Data Publisher for Earth & Environmental Science")
376
376
  expect(subject.publication_year).to eq("2011")
@@ -386,7 +386,7 @@ describe Bolognese::Metadata, vcr: true do
386
386
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.6071/z7wc73", "identifierType"=>"DOI"}])
387
387
  expect(subject.doi).to eq("10.6071/z7wc73")
388
388
  expect(subject.creators.length).to eq(6)
389
- expect(subject.creators.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Bales, Roger", "nameType"=>"Personal", "affiliation" => [{"name"=>"UC Merced"}, {"name"=>"NSF"}])
389
+ expect(subject.creators.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Bales, Roger", "nameType"=>"Personal", "affiliation" => [{"name"=>"UC Merced"}, {"name"=>"NSF"}], "nameIdentifiers" => [])
390
390
  expect(subject.titles).to eq([{"title"=>"Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature"}])
391
391
  expect(subject.publisher).to eq("UC Merced")
392
392
  expect(subject.dates).to eq([{"date"=>"2014-10-17", "dateType"=>"Updated"}, {"date"=>"2016-03-14T17:02:02Z", "dateType"=>"Available"}, {"date"=>"2013", "dateType"=>"Issued"}])
@@ -407,7 +407,7 @@ describe Bolognese::Metadata, vcr: true do
407
407
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.14457/kmitl.res.2006.17", "identifierType"=>"DOI"}])
408
408
  expect(subject.types["schemaOrg"]).to eq("Dataset")
409
409
  expect(subject.creators.length).to eq(1)
410
- expect(subject.creators.first).to eq("name" => "กัญจนา แซ่เตียว")
410
+ expect(subject.creators.first).to eq("name" => "กัญจนา แซ่เตียว", "nameIdentifiers" => [], "affiliation" => [])
411
411
  end
412
412
 
413
413
  it "multiple author names in one creatorsName" do
@@ -416,7 +416,7 @@ describe Bolognese::Metadata, vcr: true do
416
416
  expect(subject.valid?).to be true
417
417
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.7910/dvn/eqtqyo", "identifierType"=>"DOI"}])
418
418
  expect(subject.types["schemaOrg"]).to eq("Dataset")
419
- expect(subject.creators).to eq([{"name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)"}])
419
+ expect(subject.creators).to eq([{"name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)", "nameIdentifiers" => [], "affiliation" => []}])
420
420
  end
421
421
 
422
422
  it "author with scheme" do
@@ -506,7 +506,7 @@ describe Bolognese::Metadata, vcr: true do
506
506
  expect(subject.types["resourceType"]).to eq("Journal Article")
507
507
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
508
508
  expect(subject.creators.length).to eq(2)
509
- expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"Тверская государственная сельскохозяйственная академия"}], "familyName"=>"Ганичева", "givenName"=>"А.В.", "name"=>"Ганичева, А.В.", "nameType"=>"Personal")
509
+ expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"Тверская государственная сельскохозяйственная академия"}], "familyName"=>"Ганичева", "givenName"=>"А.В.", "name"=>"Ганичева, А.В.", "nameType"=>"Personal", "nameIdentifiers" => [])
510
510
  expect(subject.titles).to eq([{"title"=>"МОДЕЛЬ СИСТЕМНОЙ ДИНАМИКИ ПРОЦЕССА ОБУЧЕНИЯ"}, {"title"=>"MODEL OF SYSTEM DYNAMICS OF PROCESS OF TRAINING", "titleType"=>"TranslatedTitle"}])
511
511
  expect(subject.descriptions.first["description"]).to start_with("Актуальность данной работы обусловлена важностью учета в учебном процессе личностных качеств обучаем")
512
512
  expect(subject.publication_year).to eq("2019")
@@ -545,10 +545,11 @@ describe Bolognese::Metadata, vcr: true do
545
545
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
546
546
  expect(subject.types["ris"]).to eq("BOOK")
547
547
  expect(subject.types["citeproc"]).to eq("book")
548
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが","nameIdentifiers"=>
548
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
549
549
  [{"nameIdentifier"=>"http://isni.org/isni/0000000134596520",
550
550
  "nameIdentifierScheme"=>"ISNI",
551
- "schemeUri"=>"http://isni.org/isni/"}]}])
551
+ "schemeUri"=>"http://isni.org/isni/"}],
552
+ "affiliation" => []}])
552
553
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
553
554
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/testpub", "identifierType"=>"DOI"}, {"identifier"=>"937-0-4523-12357-6", "identifierType"=>"ISBN"}])
554
555
  expect(subject.dates).to eq([{"date"=>"2012-12-13", "dateInformation"=>"Correction", "dateType"=>"Other"}, {"date"=>"2010", "dateType"=>"Issued"}])
@@ -570,10 +571,11 @@ describe Bolognese::Metadata, vcr: true do
570
571
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
571
572
  expect(subject.types["ris"]).to eq("BOOK")
572
573
  expect(subject.types["citeproc"]).to eq("book")
573
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが","nameIdentifiers"=>
574
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
574
575
  [{"nameIdentifier"=>"http://isni.org/isni/0000000134596520",
575
576
  "nameIdentifierScheme"=>"ISNI",
576
- "schemeUri"=>"http://isni.org/isni/"}]}])
577
+ "schemeUri"=>"http://isni.org/isni/"}],
578
+ "affiliation" => []}])
577
579
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
578
580
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/testpub", "identifierType"=>"DOI"}, {"identifier"=>"937-0-4523-12357-6", "identifierType"=>"ISBN"}])
579
581
  expect(subject.publication_year).to eq("2010")
@@ -595,7 +597,7 @@ describe Bolognese::Metadata, vcr: true do
595
597
  expect(subject.types["ris"]).to eq("DATA")
596
598
  expect(subject.types["citeproc"]).to eq("dataset")
597
599
  expect(subject.creators.length).to eq(8)
598
- expect(subject.creators.last).to eq("familyName"=>"Renaud", "givenName"=>"François", "name"=>"Renaud, François", "nameType"=>"Personal")
600
+ expect(subject.creators.last).to eq("familyName"=>"Renaud", "givenName"=>"François", "name"=>"Renaud, François", "nameType"=>"Personal", "nameIdentifiers" => [], "affiliation" => [])
599
601
  expect(subject.titles).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
600
602
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5061/dryad.8515", "identifierType"=>"DOI"},
601
603
  {"identifier"=>
@@ -619,10 +621,11 @@ describe Bolognese::Metadata, vcr: true do
619
621
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
620
622
  expect(subject.types["ris"]).to eq("BOOK")
621
623
  expect(subject.types["citeproc"]).to eq("book")
622
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが","nameIdentifiers"=>
624
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
623
625
  [{"nameIdentifier"=>"http://isni.org/isni/0000000134596520",
624
626
  "nameIdentifierScheme"=>"ISNI",
625
- "schemeUri"=>"http://isni.org/isni/"}]}])
627
+ "schemeUri"=>"http://isni.org/isni/"}],
628
+ "affiliation" => []}])
626
629
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
627
630
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/testpub", "identifierType"=>"DOI"}, {"identifier"=>"937-0-4523-12357-6", "identifierType"=>"ISBN"}])
628
631
  expect(subject.publication_year).to eq("2010")
@@ -643,10 +646,10 @@ describe Bolognese::Metadata, vcr: true do
643
646
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
644
647
  expect(subject.types["ris"]).to eq("BOOK")
645
648
  expect(subject.types["citeproc"]).to eq("book")
646
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが", "nameIdentifiers"=>
649
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが", "nameIdentifiers"=>
647
650
  [{"nameIdentifier"=>"abc123",
648
- "nameIdentifierScheme"=>"ISNI",
649
- "schemeUri"=>"Other"}]}])
651
+ "nameIdentifierScheme"=>"ISNI"}],
652
+ "affiliation" => []}])
650
653
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
651
654
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/testpub", "identifierType"=>"DOI"}, {"identifier"=>"937-0-4523-12357-6", "identifierType"=>"ISBN"}])
652
655
  expect(subject.dates).to eq([{"date"=>"2009-04-29", "dateType"=>"StartDate"}, {"date"=>"2010-01-05", "dateType"=>"EndDate"}, {"date"=>"2010", "dateType"=>"Issued"}])
@@ -665,10 +668,11 @@ describe Bolognese::Metadata, vcr: true do
665
668
  expect(subject.types["schemaOrg"]).to eq("Book")
666
669
  expect(subject.types["resourceType"]).to eq("Monograph")
667
670
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
668
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが","nameIdentifiers"=>
671
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith", "nameIdentifiers" => [], "affiliation" => []}, {"name"=>"つまらないものですが","nameIdentifiers"=>
669
672
  [{"nameIdentifier"=>"http://isni.org/isni/0000000134596520",
670
673
  "nameIdentifierScheme"=>"ISNI",
671
- "schemeUri"=>"http://isni.org/isni/"}]}])
674
+ "schemeUri"=>"http://isni.org/isni/"}],
675
+ "affiliation" => []}])
672
676
  expect(subject.titles).to eq([{"title"=>"Właściwości rzutowań podprzestrzeniowych"}, {"title"=>"Translation of Polish titles", "titleType"=>"TranslatedTitle"}])
673
677
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/testpub2", "identifierType"=>"DOI"}, {"identifier"=>"937-0-4523-12357-6", "identifierType"=>"ISBN"}])
674
678
  expect(subject.dates).to eq([{"date"=>"2012-12-13", "dateInformation"=>"Correction", "dateType"=>"Other"}, {"date"=>"2010", "dateType"=>"Issued"}])
@@ -693,7 +697,7 @@ describe Bolognese::Metadata, vcr: true do
693
697
  expect(subject.types["resourceType"]).to eq("Simulation Tool")
694
698
  expect(subject.types["resourceTypeGeneral"]).to eq("Software")
695
699
  expect(subject.creators.length).to eq(5)
696
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"PatiñO, Carlos", "givenName"=>"Carlos", "familyName"=>"PatiñO")
700
+ expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"PatiñO, Carlos", "givenName"=>"Carlos", "familyName"=>"PatiñO", "nameIdentifiers" => [], "affiliation" => [])
697
701
  expect(subject.titles).to eq([{"title"=>"LAMMPS Data-File Generator"}])
698
702
  expect(subject.dates).to eq([{"date"=>"2018-07-18", "dateType"=>"Valid"}, {"date"=>"2018-07-18", "dateType"=>"Accepted"}, {"date"=>"2018", "dateType"=>"Issued"}])
699
703
  expect(subject.publication_year).to eq("2018")
@@ -709,7 +713,7 @@ describe Bolognese::Metadata, vcr: true do
709
713
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5067/terra+aqua/ceres/cldtyphist_l3.004", "identifierType"=>"DOI"}])
710
714
  expect(subject.types["schemaOrg"]).to eq("Dataset")
711
715
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
712
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Wong, Takmeng", "givenName"=>"Takmeng", "familyName"=>"Wong"}])
716
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Wong, Takmeng", "givenName"=>"Takmeng", "familyName"=>"Wong", "nameIdentifiers" => [], "affiliation" => []}])
713
717
  expect(subject.titles).to eq([{"title"=>"CERES Level 3 Cloud Type Historgram Terra+Aqua HDF file - Edition4"}])
714
718
  expect(subject.publication_year).to eq("2016")
715
719
  expect(subject.publisher).to eq("NASA Langley Atmospheric Science Data Center DAAC")
@@ -726,9 +730,9 @@ describe Bolognese::Metadata, vcr: true do
726
730
  {"identifier"=>"Internationale Umfrageprogramme", "identifierType"=>"FDZ"}])
727
731
  expect(subject.types["schemaOrg"]).to eq("Dataset")
728
732
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
729
- expect(subject.creators).to eq([{"nameType"=>"Organizational", "name"=>"Europäische Kommission"}])
733
+ expect(subject.creators).to eq([{"nameType"=>"Organizational", "name"=>"Europäische Kommission", "nameIdentifiers" => [], "affiliation" => []}])
730
734
  expect(subject.contributors.length).to eq(18)
731
- expect(subject.contributors.first).to eq("affiliation"=>[{"name"=>"Europäische Kommission, Brüssel"}], "contributorType"=>"Researcher", "familyName"=>"Reif", "givenName"=>"Karlheinz", "name"=>"Reif, Karlheinz", "nameType"=>"Personal")
735
+ expect(subject.contributors.first).to eq("affiliation"=>[{"name"=>"Europäische Kommission, Brüssel"}], "contributorType"=>"Researcher", "familyName"=>"Reif", "givenName"=>"Karlheinz", "name"=>"Reif, Karlheinz", "nameType"=>"Personal", "nameIdentifiers" => [])
732
736
  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"}])
733
737
  expect(subject.subjects).to eq([{"subjectScheme"=>"ZA", "lang"=>"en", "subject"=>"KAT12 International Institutions, Relations, Conditions"}])
734
738
  expect(subject.dates).to eq([{"date"=>"1995-12", "dateType"=>"Collected"}, {"date"=>"1996", "dateType"=>"Issued"}])
@@ -747,7 +751,7 @@ describe Bolognese::Metadata, vcr: true do
747
751
  expect(subject.types["resourceType"]).to eq("Article")
748
752
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
749
753
  expect(subject.creators.length).to eq(3)
750
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Llamas, P.", "givenName"=>"P.", "familyName"=>"Llamas")
754
+ expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Llamas, P.", "givenName"=>"P.", "familyName"=>"Llamas", "nameIdentifiers" => [], "affiliation" => [])
751
755
  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"}])
752
756
  expect(subject.dates).to eq([{"date"=>"2008-11-01", "dateType"=>"Valid"}, {"date"=>"2008", "dateType"=>"Issued"}])
753
757
  expect(subject.publication_year).to eq("2008")
@@ -776,7 +780,7 @@ describe Bolognese::Metadata, vcr: true do
776
780
  expect(subject.types["schemaOrg"]).to eq("Dataset")
777
781
  expect(subject.types["resourceType"]).to eq("Disclosure")
778
782
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
779
- expect(subject.creators).to eq([{"name"=>"Anonymous"}])
783
+ expect(subject.creators).to eq([{"name"=>"Anonymous", "nameIdentifiers" => [], "affiliation" => []}])
780
784
  expect(subject.titles).to eq([{"title"=>"Messung der Bildunschaerfe in H.264-codierten Bildern und Videosequenzen"}])
781
785
  expect(subject.dates).to eq([{"date"=>"07.04.2017", "dateType"=>"Available"}, {"date"=>"2017", "dateType"=>"Issued"}])
782
786
  expect(subject.publication_year).to eq("2017")
@@ -805,7 +809,8 @@ describe Bolognese::Metadata, vcr: true do
805
809
  "name"=>"Allaart, Marc",
806
810
  "givenName"=>"Marc",
807
811
  "familyName"=>"Allaart",
808
- "affiliation"=>[{"name"=>"Royal Netherlands Meteorological Institute (KNMI)"}]},
812
+ "affiliation"=>[{"name"=>"Royal Netherlands Meteorological Institute (KNMI)"}],
813
+ "nameIdentifiers" => []},
809
814
  {"nameType"=>"Personal",
810
815
  "name"=>"Eskes, Henk",
811
816
  "givenName"=>"Henk",
@@ -838,7 +843,7 @@ describe Bolognese::Metadata, vcr: true do
838
843
  expect(subject.identifiers).to eq([{"identifier"=>"https://handle.test.datacite.org/10.22002/d1.694", "identifierType"=>"DOI"}])
839
844
  expect(subject.types["schemaOrg"]).to eq("Dataset")
840
845
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
841
- expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"Caltech"}], "name"=>"Tester"}])
846
+ expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"Caltech"}], "name"=>"Tester", "nameIdentifiers" => []}])
842
847
  expect(subject.titles).to eq([{"title"=>"Test license"}])
843
848
  expect(subject.dates).to eq([{"date"=>"2018-01-12", "dateType"=>"Issued"}])
844
849
  expect(subject.publication_year).to eq("2018")
@@ -855,7 +860,7 @@ describe Bolognese::Metadata, vcr: true do
855
860
  expect(subject.identifiers).to eq([{"identifier"=>"https://handle.test.datacite.org/10.21956/wellcomeopenres.25947.r17364", "identifierType"=>"DOI"}])
856
861
  expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
857
862
  expect(subject.types["resourceTypeGeneral"]).to eq("Text")
858
- expect(subject.creators).to eq([{"name"=>"Fran2 Levy"}])
863
+ expect(subject.creators).to eq([{"name"=>"Fran2 Levy", "nameIdentifiers" => [], "affiliation" => []}])
859
864
  expect(subject.titles).to eq([{"title"=>"Referee report. For: FL Regression Wellcome [version 1; referees: retracted]"}])
860
865
  expect(subject.dates).to eq([{"date"=>"2018", "dateType"=>"Issued"}])
861
866
  expect(subject.publication_year).to eq("2018")
@@ -875,7 +880,7 @@ describe Bolognese::Metadata, vcr: true do
875
880
  expect(subject.types["ris"]).to eq("RPRT")
876
881
  expect(subject.types["citeproc"]).to eq("article-journal")
877
882
  expect(subject.creators.length).to eq(5)
878
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Patel, Lina", "givenName"=>"Lina", "familyName"=>"Patel")
883
+ expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Patel, Lina", "givenName"=>"Lina", "familyName"=>"Patel", "nameIdentifiers" => [], "affiliation" => [])
879
884
  expect(subject.titles).to eq([{"title"=>"Referee report. For: Gates - add article keywords to the metatags [version 2; referees: 1 approved]"}])
880
885
  expect(subject.publication_year).to eq("2018")
881
886
  expect(subject.publisher).to eq("Gates Open Research")
@@ -924,7 +929,7 @@ describe Bolognese::Metadata, vcr: true do
924
929
  expect(subject.types["schemaOrg"]).to eq("Thesis")
925
930
  expect(subject.types["bibtex"]).to eq("phdthesis")
926
931
  expect(subject.types["citeproc"]).to eq("thesis")
927
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Conrad, Heiko", "givenName"=>"Heiko", "familyName"=>"Conrad"}])
932
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Conrad, Heiko", "givenName"=>"Heiko", "familyName"=>"Conrad", "nameIdentifiers" => [], "affiliation" => []}])
928
933
  expect(subject.titles).to eq([{"title"=>"Dynamics of colloids in molecular glass forming liquids studied via X-ray photon correlation spectroscopy"}])
929
934
  expect(subject.dates).to eq([{"date"=>"2014", "dateType"=>"Issued"},
930
935
  {"date"=>"2014", "dateType"=>"Copyrighted"},
@@ -1006,7 +1011,7 @@ describe Bolognese::Metadata, vcr: true do
1006
1011
  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")
1007
1012
  expect(subject.types["schemaOrg"]).to eq("Dataset")
1008
1013
  expect(subject.types["resourceType"]).to eq("DroNc-seq data")
1009
- expect(subject.creators).to eq([{"name"=>"The GTEx Consortium", "nameType"=>"Organizational"}])
1014
+ expect(subject.creators).to eq([{"name"=>"The GTEx Consortium", "nameType"=>"Organizational", "nameIdentifiers" => [], "affiliation" => []}])
1010
1015
  expect(subject.titles).to eq([{"title"=>"DroNc-seq data"}])
1011
1016
  expect(subject.subjects).to eq([{"subject"=>"gtex"}, {"subject"=>"annotation"}, {"subject"=>"phenotype"}, {"subject"=>"gene regulation"}, {"subject"=>"transcriptomics"}])
1012
1017
  expect(subject.dates).to eq([{"date"=>"2017", "dateType"=>"Issued"}])
@@ -1030,7 +1035,7 @@ describe Bolognese::Metadata, vcr: true do
1030
1035
  expect(subject.types["resourceTypeGeneral"]).to eq("Dataset")
1031
1036
  expect(subject.types["ris"]).to eq("DATA")
1032
1037
  expect(subject.types["citeproc"]).to eq("dataset")
1033
- expect(subject.creators.first).to eq("familyName"=>"Den Heijer", "givenName"=>"C", "name"=>"Den Heijer, C", "nameType"=>"Personal")
1038
+ expect(subject.creators.first).to eq("familyName"=>"Den Heijer", "givenName"=>"C", "name"=>"Den Heijer, C", "nameType"=>"Personal", "nameIdentifiers" => [], "affiliation" => [])
1034
1039
  expect(subject.titles).to eq([{"lang"=>"en", "title"=>"Meteo measurements at the Sand Motor"}])
1035
1040
  expect(subject.publication_year).to eq("2017")
1036
1041
  expect(subject.publisher).to eq("4TU.Centre for Research Data")
@@ -35,7 +35,9 @@ describe Bolognese::Metadata, vcr: true do
35
35
  expect(subject.creators.first).to eq("nameType"=>"Personal",
36
36
  "name"=>"Sankar, Martial",
37
37
  "givenName"=>"Martial",
38
- "familyName"=>"Sankar")
38
+ "familyName"=>"Sankar",
39
+ "nameIdentifiers" => [],
40
+ "affiliation" => [])
39
41
  expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
40
42
  expect(subject.descriptions.first["description"]).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
41
43
  expect(subject.dates).to eq([{"date"=>"2014", "dateType"=>"Issued"}])
@@ -52,7 +54,7 @@ describe Bolognese::Metadata, vcr: true do
52
54
  expect(subject.state).to eq("not_found")
53
55
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.7554/elife.01567", "identifierType"=>"DOI"}])
54
56
  expect(subject.types).to eq("citeproc"=>"misc", "resourceTypeGeneral"=>"Text", "ris"=>"THES", "schemaOrg"=>"Thesis")
55
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Toparlar, Y.", "givenName"=>"Y.", "familyName"=>"Toparlar"}])
57
+ expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Toparlar, Y.", "givenName"=>"Y.", "familyName"=>"Toparlar", "nameIdentifiers" => [], "affiliation" => []}])
56
58
  expect(subject.titles).to eq([{"title"=>"A multiscale analysis of the urban heat island effect"}])
57
59
  expect(subject.descriptions.first["description"]).to start_with("Designing the climates of cities")
58
60
  expect(subject.dates).to eq([{"date"=>"2018-04-25", "dateType"=>"Issued"}, {"date"=>"2018-04-25", "dateType"=>"Created"}])
@@ -107,7 +107,7 @@ describe Bolognese::Metadata, vcr: true do
107
107
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "ris"=>"GEN", "schemaOrg"=>"DataSet")
108
108
  expect(subject.titles).to eq([{"title"=>"Soil Moisture Profiles and Temperature Data from SoilSCAPE Sites, USA"}])
109
109
  expect(subject.creators.size).to eq(12)
110
- expect(subject.creators.first).to eq("familyName"=>"MOGHADDAM", "givenName"=>"M.", "name"=>"MOGHADDAM, M.", "nameType"=>"Personal")
110
+ expect(subject.creators.first).to eq("familyName"=>"MOGHADDAM", "givenName"=>"M.", "name"=>"MOGHADDAM, M.", "nameType"=>"Personal", "nameIdentifiers"=>[], "affiliation" => [])
111
111
  end
112
112
 
113
113
  it "harvard dataverse" do
@@ -119,7 +119,7 @@ describe Bolognese::Metadata, vcr: true do
119
119
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
120
120
  expect(subject.titles).to eq([{"title"=>"Summary data ankylosing spondylitis GWAS"}])
121
121
  expect(subject.container).to eq("identifier"=>"https://dataverse.harvard.edu", "identifierType"=>"URL", "title"=>"Harvard Dataverse", "type"=>"DataRepository")
122
- expect(subject.creators).to eq([{"name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)"}])
122
+ expect(subject.creators).to eq([{"name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)", "nameIdentifiers"=>[], "affiliation" => []}])
123
123
  end
124
124
 
125
125
  it "harvard dataverse via identifiers.org" do
@@ -131,7 +131,7 @@ describe Bolognese::Metadata, vcr: true do
131
131
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
132
132
  expect(subject.titles).to eq([{"title"=>"Summary data ankylosing spondylitis GWAS"}])
133
133
  expect(subject.container).to eq("identifier"=>"https://dataverse.harvard.edu", "identifierType"=>"URL", "title"=>"Harvard Dataverse", "type"=>"DataRepository")
134
- expect(subject.creators).to eq([{"name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)"}])
134
+ expect(subject.creators).to eq([{"name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)", "nameIdentifiers"=>[], "affiliation" => []}])
135
135
  end
136
136
  end
137
137
 
@@ -164,7 +164,7 @@ describe Bolognese::Metadata, vcr: true do
164
164
  expect(subject.url).to eq("https://ors.datacite.org/doi:/10.25491/d50j-3083")
165
165
  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"])
166
166
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"Gene expression matrices", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
167
- expect(subject.creators).to eq([{"name"=>"The GTEx Consortium", "nameType"=>"Organizational"}])
167
+ expect(subject.creators).to eq([{"name"=>"The GTEx Consortium", "nameType"=>"Organizational", "nameIdentifiers"=>[], "affiliation" => []}])
168
168
  expect(subject.titles).to eq([{"title"=>"Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery"}])
169
169
  expect(subject.version_info).to eq("v7")
170
170
  expect(subject.subjects).to eq([{"subject"=>"gtex"}, {"subject"=>"annotation"}, {"subject"=>"phenotype"}, {"subject"=>"gene regulation"}, {"subject"=>"transcriptomics"}])
@@ -187,7 +187,7 @@ describe Bolognese::Metadata, vcr: true do
187
187
  expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/8na3-9s47")
188
188
  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"])
189
189
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"CRAM file", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
190
- expect(subject.creators).to eq([{"name"=>"TOPMed IRC", "nameType"=>"Organizational"}])
190
+ expect(subject.creators).to eq([{"name"=>"TOPMed IRC", "nameType"=>"Organizational", "nameIdentifiers"=>[], "affiliation" => []}])
191
191
  expect(subject.titles).to eq([{"title"=>"NWD165827.recab.cram"}])
192
192
  expect(subject.subjects).to eq([{"subject"=>"topmed"}, {"subject"=>"whole genome sequencing"}])
193
193
  expect(subject.dates).to eq([{"date"=>"2017-11-30", "dateType"=>"Issued"}])
@@ -236,7 +236,7 @@ describe Bolognese::Metadata, vcr: true do
236
236
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.1594/pangaea.842237", "identifierType"=>"DOI"}])
237
237
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
238
238
  expect(subject.creators.length).to eq(2)
239
- expect(subject.creators.first).to eq("name"=>"Tara Oceans Consortium, Coordinators", "nameType"=>"Organizational")
239
+ expect(subject.creators.first).to eq("name"=>"Tara Oceans Consortium, Coordinators", "nameType"=>"Organizational", "nameIdentifiers"=>[], "affiliation" => [])
240
240
  expect(subject.titles).to eq([{"title"=>"Registry of all stations from the Tara Oceans Expedition (2009-2013)"}])
241
241
  expect(subject.dates).to eq([{"date"=>"2015-02-03", "dateType"=>"Issued"}])
242
242
  expect(subject.publication_year).to eq("2015")
@@ -257,7 +257,7 @@ describe Bolognese::Metadata, vcr: true do
257
257
  expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/7jg3-v803")
258
258
  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"])
259
259
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"CRAM file", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
260
- expect(subject.creators).to eq([{"name"=>"TOPMed", "nameType"=>"Organizational"}])
260
+ expect(subject.creators).to eq([{"name"=>"TOPMed", "nameType"=>"Organizational", "nameIdentifiers"=>[], "affiliation" => []}])
261
261
  expect(subject.titles).to eq([{"title"=>"NWD100953.recab.cram"}])
262
262
  expect(subject.subjects).to eq([{"subject"=>"topmed"}, {"subject"=>"whole genome sequencing"}])
263
263
  expect(subject.dates).to eq([{"date"=>"2017-11-30", "dateType"=>"Issued"}])
@@ -28,7 +28,7 @@ describe Bolognese::Metadata, vcr: true do
28
28
  expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
29
29
  expect(json["@type"]).to eq("SoftwareSourceCode")
30
30
  expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.5063/f1m61h5x")
31
- expect(json["authors"]).to eq([{"name"=>"Jones, Matthew B.; Slaughter, Peter; Nahf, Rob; Boettiger, Carl ; Jones, Chris; Read, Jordan; Walker, Lauren; Hart, Edmund; Chamberlain, Scott"}])
31
+ expect(json["authors"]).to eq([{"name"=>"Jones, Matthew B.; Slaughter, Peter; Nahf, Rob; Boettiger, Carl ; Jones, Chris; Read, Jordan; Walker, Lauren; Hart, Edmund; Chamberlain, Scott", "nameIdentifiers" => [], "affiliation" => []}])
32
32
  expect(json["name"]).to eq("dataone: R interface to the DataONE network of data repositories")
33
33
  expect(json["datePublished"]).to eq("2016")
34
34
  expect(json["publisher"]).to eq("KNB Data Repository")
@@ -61,7 +61,7 @@ describe Bolognese::Metadata, vcr: true do
61
61
  crosscite = JSON.parse(subject.crosscite)
62
62
  expect(crosscite["titles"]).to eq([{"title"=>"R Interface to the DataONE REST API"}])
63
63
  expect(crosscite["creators"].length).to eq(3)
64
- expect(crosscite["creators"].last).to eq("nameType" => "Organizational", "name"=>"University Of California, Santa Barbara")
64
+ expect(crosscite["creators"].last).to eq("nameType" => "Organizational", "name"=>"University Of California, Santa Barbara", "nameIdentifiers" => [], "affiliation" => [])
65
65
  expect(crosscite["version"]).to eq("2.0.0")
66
66
  end
67
67
 
@@ -71,7 +71,7 @@ describe Bolognese::Metadata, vcr: true do
71
71
  crosscite = JSON.parse(subject.crosscite)
72
72
  expect(crosscite["titles"]).to eq([{"title"=>"R Interface to the DataONE REST API"}])
73
73
  expect(crosscite["creators"].length).to eq(3)
74
- expect(crosscite["creators"].last).to eq("nameType" => "Organizational", "name"=>"University Of California, Santa Barbara")
74
+ expect(crosscite["creators"].last).to eq("nameType" => "Organizational", "name"=>"University Of California, Santa Barbara", "nameIdentifiers" => [], "affiliation" => [])
75
75
  expect(crosscite["version"]).to eq("2.0.0")
76
76
  end
77
77
 
@@ -82,7 +82,7 @@ describe Bolognese::Metadata, vcr: true do
82
82
  expect(crosscite.fetch("url")).to eq("https://datadryad.org/resource/doi:10.5061/dryad.8515")
83
83
  expect(crosscite.fetch("titles")).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
84
84
  expect(crosscite.fetch("creators").length).to eq(8)
85
- expect(crosscite.fetch("creators").first).to eq("familyName" => "Ollomo", "givenName" => "Benjamin", "name" => "Ollomo, Benjamin", "nameType" => "Personal")
85
+ expect(crosscite.fetch("creators").first).to eq("familyName" => "Ollomo", "givenName" => "Benjamin", "name" => "Ollomo, Benjamin", "nameType" => "Personal", "nameIdentifiers" => [], "affiliation" => [])
86
86
  expect(crosscite.fetch("dates")).to eq([{"date"=>"2011", "dateType"=>"Issued"}])
87
87
  expect(crosscite.fetch("publication_year")).to eq("2011")
88
88
  expect(crosscite.fetch("provider_id")).to eq("dryad")
@@ -130,7 +130,7 @@ describe Bolognese::Metadata, vcr: true do
130
130
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.23640/07243.5153971", "identifierType"=>"DOI"}])
131
131
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"Paper", "resourceTypeGeneral"=>"Text", "ris"=>"RPRT", "schemaOrg"=>"ScholarlyArticle")
132
132
  expect(subject.creators.length).to eq(20)
133
- expect(subject.creators.first).to eq("nameType"=>"Personal", "familyName" => "Paglione", "givenName" => "Laura", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-3188-6273", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name" => "Paglione, Laura")
133
+ expect(subject.creators.first).to eq("nameType"=>"Personal", "familyName" => "Paglione", "givenName" => "Laura", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-3188-6273", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name" => "Paglione, Laura", "affiliation" => [])
134
134
  expect(subject.titles).to eq([{"title"=>"Recommendation of: ORCID Works Metadata Working Group"}])
135
135
  expect(subject.rights_list).to eq([{"rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0", "rights"=>"CC-0"}])
136
136
  expect(subject.dates).to eq([{"date"=>"2017-06-28", "dateType"=>"Created"}, {"date"=>"2017-06-28", "dateType"=>"Updated"}, {"date"=>"2017", "dateType"=>"Issued"}])
@@ -148,7 +148,7 @@ describe Bolognese::Metadata, vcr: true do
148
148
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5072/07243.5153971", "identifierType"=>"DOI"}])
149
149
  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"Paper", "resourceTypeGeneral"=>"Text", "ris"=>"RPRT", "schemaOrg"=>"ScholarlyArticle")
150
150
  expect(subject.creators.length).to eq(20)
151
- expect(subject.creators.first).to eq("nameType" => "Personal", "familyName" => "Paglione", "givenName" => "Laura", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-3188-6273", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name" => "Paglione, Laura")
151
+ expect(subject.creators.first).to eq("nameType" => "Personal", "familyName" => "Paglione", "givenName" => "Laura", "name" => "Paglione, Laura", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-3188-6273", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"affiliation" => [])
152
152
  expect(subject.titles).to eq([{"title"=>"Recommendation of: ORCID Works Metadata Working Group"}])
153
153
  expect(subject.rights_list).to eq([{"rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0", "rights"=>"CC-0"}])
154
154
  expect(subject.dates).to eq([{"date"=>"2017-06-28", "dateType"=>"Created"}, {"date"=>"2017-06-28", "dateType"=>"Updated"}, {"date"=>"2017", "dateType"=>"Issued"}])
@@ -165,7 +165,7 @@ describe Bolognese::Metadata, vcr: true do
165
165
  expect(subject.valid?).to be true
166
166
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"DataPackage", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
167
167
  expect(subject.creators.length).to eq(8)
168
- expect(subject.creators.first).to eq("nameType" => "Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
168
+ expect(subject.creators.first).to eq("nameType" => "Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo", "nameIdentifiers"=>[], "affiliation" => [])
169
169
  expect(subject.titles).to eq([{"title"=>"Data from: A new malaria agent in African hominids."}])
170
170
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5061/dryad.8515", "identifierType"=>"DOI"},
171
171
  {"identifier"=>
@@ -191,7 +191,7 @@ describe Bolognese::Metadata, vcr: true do
191
191
  expect(subject.valid?).to be true
192
192
  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
193
193
  expect(subject.creators.length).to eq(6)
194
- expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"UC Merced"}, {"name"=>"NSF"}], "familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Bales, Roger", "nameType"=>"Personal")
194
+ expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"UC Merced"}, {"name"=>"NSF"}], "familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Bales, Roger", "nameType"=>"Personal", "nameIdentifiers"=>[])
195
195
  expect(subject.titles).to eq([{"title"=>"Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature"}])
196
196
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.6071/z7wc73", "identifierType"=>"DOI"}])
197
197
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International (CC BY 4.0)", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0"}])
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.3.6
4
+ version: 1.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-18 00:00:00.000000000 Z
11
+ date: 2019-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma