bolognese 0.9.25 → 0.9.26

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
  SHA1:
3
- metadata.gz: bc915e15f8cc67f07df97f07940c1fd42f36bfde
4
- data.tar.gz: e5f7a9fcb0c71a382c108f46dd8b8e928ef27c2b
3
+ metadata.gz: be4e87fdfcb0f0068320b173fe413c8034dbdd96
4
+ data.tar.gz: dc299e1655a6dcf28aaf9d56e78812f82f645de5
5
5
  SHA512:
6
- metadata.gz: 50a3c57841b12442ff12941e27122290ee4d0662b6d636ded7b11883caa1635580f4c15946133bb4d520f9e82078e85e054a2bd239c46b4652b6e87018f923e2
7
- data.tar.gz: 3c316919e69e2a937cfedbca564326e6d2c4a1f9eb21704bffa80848ce2772f329718c08441af570a7d8a6fe593f47b4496d13e886b425f9c5045e8b96fd82fa
6
+ metadata.gz: 062567337ba726acff709e001838ed0012297030ec2c448d91f282b9f67fa4126718d0c3073f75c7a1c2aa6798d20b0428f6b84cd5856fc1136bcd733a4b9388
7
+ data.tar.gz: 93b73034613d9d6eae68b8dcde84e07195316acfa36363c51c82462755cab3763d0bddc53c706c1d727a56131912bce871fc12e673e624d7fc053b95965c93b7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.25)
4
+ bolognese (0.9.26)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -177,4 +177,4 @@ DEPENDENCIES
177
177
  webmock (~> 1.22, >= 1.22.3)
178
178
 
179
179
  BUNDLED WITH
180
- 1.15.1
180
+ 1.12.5
@@ -86,11 +86,12 @@ module Bolognese
86
86
 
87
87
  # parse nameIdentifier from DataCite
88
88
  def get_name_identifier(author)
89
- name_identifier_scheme_uri = author.dig("nameIdentifier", "schemeURI") || "http://orcid.org/"
89
+ name_identifier_scheme_uri = author.dig("nameIdentifier", "schemeURI") || "https://orcid.org/"
90
+ name_identifier_scheme_uri = "https://orcid.org/" if validate_orcid_scheme(name_identifier_scheme_uri)
90
91
  name_identifier_scheme_uri << '/' unless name_identifier_scheme_uri.end_with?('/')
91
92
 
92
93
  name_identifier = author.dig("nameIdentifier", "__content__")
93
- name_identifier = validate_orcid(name_identifier) if name_identifier_scheme_uri == "http://orcid.org/"
94
+ name_identifier = validate_orcid(name_identifier) if name_identifier_scheme_uri == "https://orcid.org/"
94
95
  return nil if name_identifier.blank? || name_identifier_scheme_uri.blank?
95
96
 
96
97
  name_identifier_scheme_uri + name_identifier
@@ -264,7 +264,7 @@ module Bolognese
264
264
  end
265
265
 
266
266
  def orcid_from_url(url)
267
- Array(/\A:(http|https)\/\/orcid\.org\/(.+)/.match(url)).last
267
+ Array(/\A:(http|https):\/\/orcid\.org\/(.+)/.match(url)).last
268
268
  end
269
269
 
270
270
  def orcid_as_url(orcid)
@@ -276,6 +276,10 @@ module Bolognese
276
276
  orcid.gsub(/[[:space:]]/, "-") if orcid.present?
277
277
  end
278
278
 
279
+ def validate_orcid_scheme(orcid_scheme)
280
+ Array(/\A(http|https):\/\/(www\.)?(orcid\.org)/.match(orcid_scheme)).last
281
+ end
282
+
279
283
  def validate_url(str)
280
284
  if /\A(?:(http|https):\/\/(dx\.)?doi.org\/)?(doi:)?(10\.\d{4,5}\/.+)\z/.match(str)
281
285
  "DOI"
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.25"
2
+ VERSION = "0.9.26"
3
3
  end
@@ -44,7 +44,7 @@ describe Bolognese::Metadata, vcr: true do
44
44
  string = subject.get_datacite(id: input)
45
45
  meta = Maremma.from_xml(string).fetch("resource", {})
46
46
  response = subject.get_one_author(meta.dig("creators", "creator"))
47
- expect(response).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
47
+ expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
48
48
  end
49
49
 
50
50
  it "has name in sort-order" do
@@ -81,7 +81,7 @@ describe Bolognese::Metadata, vcr: true do
81
81
  string = subject.get_datacite(id: input)
82
82
  meta = Maremma.from_xml(string).fetch("resource", {})
83
83
  response = subject.get_one_author(meta.dig("creators", "creator"))
84
- expect(response).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-4881-1606", "name"=>"Andrea Bedini", "givenName"=>"Andrea", "familyName"=>"Bedini")
84
+ expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-4881-1606", "name"=>"Andrea Bedini", "givenName"=>"Andrea", "familyName"=>"Bedini")
85
85
  end
86
86
 
87
87
  it "has name in Thai" do
@@ -155,7 +155,7 @@ describe Bolognese::Metadata, vcr: true do
155
155
  string = subject.get_datacite(id: input)
156
156
  meta = Maremma.from_xml(string).fetch("resource", {})
157
157
  response = subject.get_name_identifier(meta.dig("creators", "creator"))
158
- expect(response).to eq("http://orcid.org/0000-0003-1419-2405")
158
+ expect(response).to eq("https://orcid.org/0000-0003-1419-2405")
159
159
  end
160
160
 
161
161
  it "has no ORCID" do
@@ -0,0 +1,99 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/prefixes/10.2314
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Access-Control-Allow-Headers:
20
+ - Content-Type,Accept,Accept-Encoding,Origin,User-Agent,Cache-Control,Keep-Alive
21
+ Access-Control-Allow-Methods:
22
+ - GET, POST, OPTIONS
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Access-Control-Max-Age:
26
+ - '1728000'
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/vnd.api+json; charset=utf-8
31
+ Date:
32
+ - Tue, 20 Jun 2017 07:32:22 GMT
33
+ Etag:
34
+ - W/"1c79535b849311df95610eb8f29dc836"
35
+ Server:
36
+ - openresty/1.11.2.2
37
+ Status:
38
+ - 200 OK
39
+ Vary:
40
+ - Accept-Encoding
41
+ X-Content-Type-Options:
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - SAMEORIGIN
45
+ X-Powered-By:
46
+ - Phusion Passenger 5.1.4
47
+ X-Request-Id:
48
+ - 705aa0ad-fb4f-4f23-acd3-b4a162b90fb2
49
+ X-Runtime:
50
+ - '0.351833'
51
+ X-Xss-Protection:
52
+ - 1; mode=block
53
+ Content-Length:
54
+ - '124'
55
+ Connection:
56
+ - keep-alive
57
+ body:
58
+ encoding: UTF-8
59
+ string: '{"data":{"id":"10.2314","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:26:44Z"}}}'
60
+ http_version:
61
+ recorded_at: Tue, 20 Jun 2017 07:32:22 GMT
62
+ - request:
63
+ method: get
64
+ uri: https://search.datacite.org/api?fl=doi,xml,media,minted,updated&q=doi:10.2314/coscv1&wt=json
65
+ body:
66
+ encoding: US-ASCII
67
+ string: ''
68
+ headers:
69
+ User-Agent:
70
+ - Maremma - https://github.com/datacite/maremma
71
+ Accept:
72
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
73
+ response:
74
+ status:
75
+ code: 200
76
+ message: ''
77
+ headers:
78
+ Access-Control-Allow-Methods:
79
+ - GET, POST, OPTIONS
80
+ Access-Control-Allow-Origin:
81
+ - "*"
82
+ Content-Type:
83
+ - application/json;charset=UTF-8
84
+ Date:
85
+ - Tue, 20 Jun 2017 07:32:22 GMT
86
+ Server:
87
+ - openresty/1.11.2.2
88
+ Content-Length:
89
+ - '4546'
90
+ Connection:
91
+ - keep-alive
92
+ body:
93
+ encoding: UTF-8
94
+ string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"xml":"PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPHJlc291cmNlIHhtbG5zPSdodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMycgeG1sbnM6eHNpPSdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScgeHNpOnNjaGVtYUxvY2F0aW9uPSdodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCc+CjxpZGVudGlmaWVyIGlkZW50aWZpZXJUeXBlPSdET0knPjEwLjIzMTQvY29zY3YxPC9pZGVudGlmaWVyPgo8Y3JlYXRvcnM+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+SGVsbGVyLCBMYW1iZXJ0PC9jcmVhdG9yTmFtZT4KCQk8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9J09SQ0lEJyBzY2hlbWVVUkk9J2h0dHA6Ly93d3cub3JjaWQub3JnJz4wMDAwLTAwMDMtMDIzMi03MDg1PC9uYW1lSWRlbnRpZmllcj4KCTwvY3JlYXRvcj4KCTxjcmVhdG9yPgoJCTxjcmVhdG9yTmFtZT5CbMO8bWVsLCBJbmE8L2NyZWF0b3JOYW1lPgoJCTxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0nT1JDSUQnIHNjaGVtZVVSST0naHR0cDovL3d3dy5vcmNpZC5vcmcnPjAwMDAtMDAwMi0zMDc1LTc2NDA8L25hbWVJZGVudGlmaWVyPgoJPC9jcmVhdG9yPgoJPGNyZWF0b3I+CgkJPGNyZWF0b3JOYW1lPkRpZXR6ZSwgU3RlZmFuPC9jcmVhdG9yTmFtZT4KCTwvY3JlYXRvcj4KCTxjcmVhdG9yPgoJCTxjcmVhdG9yTmFtZT5GZW5uZXIsIE1hcnRpbjwvY3JlYXRvck5hbWU+CgkJPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSdPUkNJRCcgc2NoZW1lVVJJPSdodHRwOi8vd3d3Lm9yY2lkLm9yZyc+MDAwMC0wMDAzLTE0MTktMjQwNTwvbmFtZUlkZW50aWZpZXI+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+RnJpZXNpa2UsIFNhc2NoYTwvY3JlYXRvck5hbWU+CgkJPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSdPUkNJRCcgc2NoZW1lVVJJPSdodHRwOi8vd3d3Lm9yY2lkLm9yZyc+MDAwMC0wMDAyLTkzMTQtNTYzMzwvbmFtZUlkZW50aWZpZXI+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+SGF1c2Noa2UsIENocmlzdGlhbjwvY3JlYXRvck5hbWU+CgkJPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSdPUkNJRCcgc2NoZW1lVVJJPSdodHRwOi8vd3d3Lm9yY2lkLm9yZyc+MDAwMC0wMDAzLTI0OTktNzc0MTwvbmFtZUlkZW50aWZpZXI+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+SGVpc2UsIENocmlzdGlhbjwvY3JlYXRvck5hbWU+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+SsOkc2Noa2UsIFJvYmVydDwvY3JlYXRvck5hbWU+CgkJPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSdPUkNJRCcgc2NoZW1lVVJJPSdodHRwOi8vd3d3Lm9yY2lkLm9yZyc+MDAwMC0wMDAzLTMyNzEtOTY1MzwvbmFtZUlkZW50aWZpZXI+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+S2xlaW53ZWNodGVyLCBVbHJpY2g8L2NyZWF0b3JOYW1lPgoJCTxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0nT1JDSUQnIHNjaGVtZVVSST0naHR0cDovL3d3dy5vcmNpZC5vcmcnPjAwMDAtMDAwMi05ODEzLTkyMDg8L25hbWVJZGVudGlmaWVyPgoJPC9jcmVhdG9yPgoJPGNyZWF0b3I+CgkJPGNyZWF0b3JOYW1lPkvDtm5pZywgTWFyZWlrZTwvY3JlYXRvck5hbWU+CgkJPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSdPUkNJRCcgc2NoZW1lVVJJPSdodHRwOi8vd3d3Lm9yY2lkLm9yZyc+MDAwMC0wMDAyLTgxODktODU3NDwvbmFtZUlkZW50aWZpZXI+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+TWVobGJlcmcsIE1hcnRpbjwvY3JlYXRvck5hbWU+CgkJPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSdPUkNJRCcgc2NoZW1lVVJJPSdodHRwOi8vd3d3Lm9yY2lkLm9yZyc+MDAwMC0wMDAyLTcxNzctOTA0NTwvbmFtZUlkZW50aWZpZXI+Cgk8L2NyZWF0b3I+Cgk8Y3JlYXRvcj4KCQk8Y3JlYXRvck5hbWU+TmV1bWFubiwgSmFubmE8L2NyZWF0b3JOYW1lPgoJCTxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0nT1JDSUQnIHNjaGVtZVVSST0naHR0cDovL3d3dy5vcmNpZC5vcmcnPjAwMDAtMDAwMi0wMTYxLTE4ODg8L25hbWVJZGVudGlmaWVyPgoJPC9jcmVhdG9yPgoJPGNyZWF0b3I+CgkJPGNyZWF0b3JOYW1lPlBhbXBlbCwgSGVpbno8L2NyZWF0b3JOYW1lPgoJCTxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0nT1JDSUQnIHNjaGVtZVVSST0naHR0cDovL3d3dy5vcmNpZC5vcmcnPjAwMDAtMDAwMy0zMzM0LTI3NzE8L25hbWVJZGVudGlmaWVyPgoJPC9jcmVhdG9yPgoJPGNyZWF0b3I+CgkJPGNyZWF0b3JOYW1lPlR1bGxuZXksIE1hcmNvPC9jcmVhdG9yTmFtZT4KCQk8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9J09SQ0lEJyBzY2hlbWVVUkk9J2h0dHA6Ly93d3cub3JjaWQub3JnJz4wMDAwLTAwMDItNTExMS0yNzg4PC9uYW1lSWRlbnRpZmllcj4KCTwvY3JlYXRvcj4KPC9jcmVhdG9ycz4KPHRpdGxlcz4KCTx0aXRsZT5Db1NjaWVuY2UgLSBHZW1laW5zYW0gZm9yc2NoZW4gdW5kIHB1YmxpemllcmVuIG1pdCBkZW0gTmV0ejwvdGl0bGU+CjwvdGl0bGVzPgo8cHVibGlzaGVyPlRlY2huaXNjaGUgSW5mb3JtYXRpb25zYmlibGlvdGhlayAoVElCKSwgSGFubm92ZXI8L3B1Ymxpc2hlcj4KPHB1YmxpY2F0aW9uWWVhcj4yMDE0PC9wdWJsaWNhdGlvblllYXI+CjxzdWJqZWN0cz4KCTxzdWJqZWN0PktvbGxhYm9yYXRpdmUgV2lzc2Vuc2NoYWZ0PC9zdWJqZWN0Pgo8L3N1YmplY3RzPgo8bGFuZ3VhZ2U+ZGU8L2xhbmd1YWdlPgo8cmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZUdlbmVyYWw9J1RleHQnPjwvcmVzb3VyY2VUeXBlPgo8dmVyc2lvbj4xLjA8L3ZlcnNpb24+CjxyaWdodHNMaXN0PgoJPHJpZ2h0cyByaWdodHNVUkk9J2h0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlJz5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIDQuMCBJbnRlcm5hdGlvbmFsIFB1YmxpYyBMaWNlbnNlPC9yaWdodHM+CjwvcmlnaHRzTGlzdD4KPC9yZXNvdXJjZT4=","minted":"2014-05-26T12:01:09Z","updated":"2014-05-26T12:06:25Z","doi":"10.2314/COSCV1"}]}}
95
+
96
+ '
97
+ http_version:
98
+ recorded_at: Tue, 20 Jun 2017 07:32:22 GMT
99
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,144 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - cr7-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 07:06:51 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: ASCII-8BIT
33
+ string: !binary |-
34
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9y
35
+ ZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0
36
+ YW1wPSIyMDE2LTEyLTI5IDAxOjEwOjIwIj4NCiAgICA8Y3Jvc3NyZWY+DQog
37
+ ICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdl
38
+ PSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAg
39
+ ICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5k
40
+ IEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRv
41
+ cnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9
42
+ ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZl
43
+ bl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
44
+ YW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRw
45
+ Oi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAg
46
+ ICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1l
47
+ IGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9u
48
+ YWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9u
49
+ YW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0K
50
+ ICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAz
51
+ LTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4N
52
+ CiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0
53
+ aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2
54
+ ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1
55
+ cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0
56
+ dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQog
57
+ ICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25h
58
+ bWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRp
59
+ b25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5f
60
+ bmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+
61
+ DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAw
62
+ MDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1l
63
+ Pg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJh
64
+ dXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxn
65
+ aXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8
66
+ c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JD
67
+ SUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJ
68
+ RD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJz
69
+ b25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJh
70
+ ZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBl
71
+ PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2Vy
72
+ cmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lk
73
+ Lm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8
74
+ L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmli
75
+ dXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAg
76
+ ICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAg
77
+ ICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAg
78
+ ICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0
79
+ NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAg
80
+ ICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1
81
+ ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5T
82
+ ZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5L
83
+ YXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9v
84
+ cmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAg
85
+ ICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29u
86
+ dHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+
87
+ DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1l
88
+ Pg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAg
89
+ ICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04
90
+ NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQog
91
+ ICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhv
92
+ ciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVu
93
+ X25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
94
+ YW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6
95
+ Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAg
96
+ ICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+
97
+ DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBD
98
+ aXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3Jp
99
+ ZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3Rl
100
+ ZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAg
101
+ ICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+
102
+ DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNl
103
+ X2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAg
104
+ ICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4N
105
+ CiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1
106
+ dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9p
107
+ bnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAg
108
+ ICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+Ymlv
109
+ cnhpdjswOTcxOTZ2MTwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFj
110
+ dD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFj
111
+ dGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVz
112
+ IHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0
113
+ aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmlu
114
+ Y2lwbGVzIChEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cCwgMjAxNCks
115
+ IGEgc3lub3BzaXMgYW5kIGhhcm1vbml6YXRpb24gb2YgdGhlIHJlY29tbWVu
116
+ ZGF0aW9ucyBvZiBtYWpvciBzY2llbmNlIHBvbGljeSBib2RpZXMuIFRoZSBy
117
+ b2FkbWFwIHdhcyBkZXZlbG9wZWQgYnkgdGhlIFJlcG9zaXRvcmllcyBFYXJs
118
+ eSBBZG9wdGVycyBFeHBlcnQgR3JvdXAsICBwYXJ0IG9mIHRoZSBEYXRhIENp
119
+ dGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0IChG
120
+ T1JDRTExLCAyMDE1KSwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBh
121
+ bmQgdGhlIE5JSCBCaW9DQURESUUgKDIwMTYpIHByb2dyYW0uIFRoZSByb2Fk
122
+ bWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBl
123
+ ZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVx
124
+ dWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xh
125
+ cmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21t
126
+ ZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJs
127
+ aWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0
128
+ IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlk
129
+ ZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuPC9wPg0KICAgICAgICA8L2Fic3Ry
130
+ YWN0Pg0KICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgPGRvaT4xMC4x
131
+ MTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEy
132
+ MjgyMjEwMDY0OTAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgIDxyZXNvdXJj
133
+ ZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5
134
+ NjwvcmVzb3VyY2U+DQogICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9
135
+ ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0i
136
+ aVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczov
137
+ L3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAx
138
+ LzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8L2l0ZW0+DQogICAg
139
+ ICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICA8L2RvaV9kYXRhPg0KICAg
140
+ ICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2Rv
141
+ aV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
142
+ http_version:
143
+ recorded_at: Tue, 20 Jun 2017 07:06:51 GMT
144
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - qs3-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 07:06:51 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doi_records>\r\n <doi_record
34
+ owner=\"10.1101\" timestamp=\"2016-12-29 01:10:20\">\r\n <crossref>\r\n
35
+ \ <posted_content type=\"preprint\" language=\"en\" metadata_distribution_opts=\"any\">\r\n
36
+ \ <group_title>Scientific Communication and Education</group_title>\r\n
37
+ \ <contributors>\r\n <person_name contributor_role=\"author\"
38
+ sequence=\"first\">\r\n <given_name>Martin</given_name>\r\n <surname>Fenner</surname>\r\n
39
+ \ <ORCID>http://orcid.org/0000-0003-1419-2405</ORCID>\r\n </person_name>\r\n
40
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
41
+ \ <given_name>Merc?</given_name>\r\n <surname>Crosas</surname>\r\n
42
+ \ <ORCID>http://orcid.org/0000-0003-1304-1939</ORCID>\r\n </person_name>\r\n
43
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
44
+ \ <given_name>Jeffrey</given_name>\r\n <surname>Grethe</surname>\r\n
45
+ \ <ORCID>http://orcid.org/0000-0001-5212-7052</ORCID>\r\n </person_name>\r\n
46
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
47
+ \ <given_name>David</given_name>\r\n <surname>Kennedy</surname>\r\n
48
+ \ <ORCID>http://orcid.org/0000-0002-9377-0797</ORCID>\r\n </person_name>\r\n
49
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
50
+ \ <given_name>Henning</given_name>\r\n <surname>Hermjakob</surname>\r\n
51
+ \ <ORCID>http://orcid.org/0000-0001-8479-0262</ORCID>\r\n </person_name>\r\n
52
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
53
+ \ <given_name>Philippe</given_name>\r\n <surname>Rocca-Serra</surname>\r\n
54
+ \ <ORCID>http://orcid.org/0000-0001-9853-5668</ORCID>\r\n </person_name>\r\n
55
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
56
+ \ <given_name>Robin</given_name>\r\n <surname>Berjon</surname>\r\n
57
+ \ <ORCID>http://orcid.org/0000-0002-1731-5346</ORCID>\r\n </person_name>\r\n
58
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
59
+ \ <given_name>Sebastian</given_name>\r\n <surname>Karcher</surname>\r\n
60
+ \ <ORCID>http://orcid.org/0000-0001-8249-7388</ORCID>\r\n </person_name>\r\n
61
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
62
+ \ <given_name>Maryann</given_name>\r\n <surname>Martone</surname>\r\n
63
+ \ <ORCID>http://orcid.org/0000-0002-8406-3871</ORCID>\r\n </person_name>\r\n
64
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
65
+ \ <given_name>Timothy</given_name>\r\n <surname>Clark</surname>\r\n
66
+ \ <ORCID>http://orcid.org/0000-0003-4060-7360</ORCID>\r\n </person_name>\r\n
67
+ \ </contributors>\r\n <titles>\r\n <title>A Data Citation
68
+ Roadmap for Scholarly Data Repositories</title>\r\n </titles>\r\n <posted_date>\r\n
69
+ \ <month>12</month>\r\n <day>28</day>\r\n <year>2016</year>\r\n
70
+ \ </posted_date>\r\n <acceptance_date>\r\n <month>12</month>\r\n
71
+ \ <day>28</day>\r\n <year>2016</year>\r\n </acceptance_date>\r\n
72
+ \ <institution>\r\n <institution_name>bioRxiv</institution_name>\r\n
73
+ \ </institution>\r\n <item_number item_number_type=\"pisa\">biorxiv;097196v1</item_number>\r\n
74
+ \ <abstract>\r\n <p>This article presents a practical roadmap
75
+ for scholarly data repositories to implement data citation in accordance with
76
+ the Joint Declaration of Data Citation Principles (Data Citation Synthesis
77
+ Group, 2014), a synopsis and harmonization of the recommendations of major
78
+ science policy bodies. The roadmap was developed by the Repositories Early
79
+ Adopters Expert Group, part of the Data Citation Implementation Pilot (DCIP)
80
+ project (FORCE11, 2015), an initiative of FORCE11.org and the NIH BioCADDIE
81
+ (2016) program. The roadmap makes 11 specific recommendations, grouped into
82
+ three phases of implementation: a) required steps needed to support the Joint
83
+ Declaration of Data Citation Principles, b) recommended steps that facilitate
84
+ article/data publication workflows, and c) optional steps that further improve
85
+ data citation support provided by data repositories.</p>\r\n </abstract>\r\n
86
+ \ <doi_data>\r\n <doi>10.1101/097196</doi>\r\n <timestamp>2016122822100649000</timestamp>\r\n
87
+ \ <resource>http://biorxiv.org/lookup/doi/10.1101/097196</resource>\r\n
88
+ \ <collection property=\"crawler-based\">\r\n <item crawler=\"iParadigms\">\r\n
89
+ \ <resource>https://syndication.highwire.org/content/doi/10.1101/097196</resource>\r\n
90
+ \ </item>\r\n </collection>\r\n </doi_data>\r\n
91
+ \ </posted_content>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
92
+ http_version:
93
+ recorded_at: Tue, 20 Jun 2017 07:06:52 GMT
94
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - qs2-2
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 07:11:47 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doi_records>\r\n <doi_record
34
+ owner=\"10.1101\" timestamp=\"2016-12-29 01:10:20\">\r\n <crossref>\r\n
35
+ \ <posted_content type=\"preprint\" language=\"en\" metadata_distribution_opts=\"any\">\r\n
36
+ \ <group_title>Scientific Communication and Education</group_title>\r\n
37
+ \ <contributors>\r\n <person_name contributor_role=\"author\"
38
+ sequence=\"first\">\r\n <given_name>Martin</given_name>\r\n <surname>Fenner</surname>\r\n
39
+ \ <ORCID>http://orcid.org/0000-0003-1419-2405</ORCID>\r\n </person_name>\r\n
40
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
41
+ \ <given_name>Merc?</given_name>\r\n <surname>Crosas</surname>\r\n
42
+ \ <ORCID>http://orcid.org/0000-0003-1304-1939</ORCID>\r\n </person_name>\r\n
43
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
44
+ \ <given_name>Jeffrey</given_name>\r\n <surname>Grethe</surname>\r\n
45
+ \ <ORCID>http://orcid.org/0000-0001-5212-7052</ORCID>\r\n </person_name>\r\n
46
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
47
+ \ <given_name>David</given_name>\r\n <surname>Kennedy</surname>\r\n
48
+ \ <ORCID>http://orcid.org/0000-0002-9377-0797</ORCID>\r\n </person_name>\r\n
49
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
50
+ \ <given_name>Henning</given_name>\r\n <surname>Hermjakob</surname>\r\n
51
+ \ <ORCID>http://orcid.org/0000-0001-8479-0262</ORCID>\r\n </person_name>\r\n
52
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
53
+ \ <given_name>Philippe</given_name>\r\n <surname>Rocca-Serra</surname>\r\n
54
+ \ <ORCID>http://orcid.org/0000-0001-9853-5668</ORCID>\r\n </person_name>\r\n
55
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
56
+ \ <given_name>Robin</given_name>\r\n <surname>Berjon</surname>\r\n
57
+ \ <ORCID>http://orcid.org/0000-0002-1731-5346</ORCID>\r\n </person_name>\r\n
58
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
59
+ \ <given_name>Sebastian</given_name>\r\n <surname>Karcher</surname>\r\n
60
+ \ <ORCID>http://orcid.org/0000-0001-8249-7388</ORCID>\r\n </person_name>\r\n
61
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
62
+ \ <given_name>Maryann</given_name>\r\n <surname>Martone</surname>\r\n
63
+ \ <ORCID>http://orcid.org/0000-0002-8406-3871</ORCID>\r\n </person_name>\r\n
64
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
65
+ \ <given_name>Timothy</given_name>\r\n <surname>Clark</surname>\r\n
66
+ \ <ORCID>http://orcid.org/0000-0003-4060-7360</ORCID>\r\n </person_name>\r\n
67
+ \ </contributors>\r\n <titles>\r\n <title>A Data Citation
68
+ Roadmap for Scholarly Data Repositories</title>\r\n </titles>\r\n <posted_date>\r\n
69
+ \ <month>12</month>\r\n <day>28</day>\r\n <year>2016</year>\r\n
70
+ \ </posted_date>\r\n <acceptance_date>\r\n <month>12</month>\r\n
71
+ \ <day>28</day>\r\n <year>2016</year>\r\n </acceptance_date>\r\n
72
+ \ <institution>\r\n <institution_name>bioRxiv</institution_name>\r\n
73
+ \ </institution>\r\n <item_number item_number_type=\"pisa\">biorxiv;097196v1</item_number>\r\n
74
+ \ <abstract>\r\n <p>This article presents a practical roadmap
75
+ for scholarly data repositories to implement data citation in accordance with
76
+ the Joint Declaration of Data Citation Principles (Data Citation Synthesis
77
+ Group, 2014), a synopsis and harmonization of the recommendations of major
78
+ science policy bodies. The roadmap was developed by the Repositories Early
79
+ Adopters Expert Group, part of the Data Citation Implementation Pilot (DCIP)
80
+ project (FORCE11, 2015), an initiative of FORCE11.org and the NIH BioCADDIE
81
+ (2016) program. The roadmap makes 11 specific recommendations, grouped into
82
+ three phases of implementation: a) required steps needed to support the Joint
83
+ Declaration of Data Citation Principles, b) recommended steps that facilitate
84
+ article/data publication workflows, and c) optional steps that further improve
85
+ data citation support provided by data repositories.</p>\r\n </abstract>\r\n
86
+ \ <doi_data>\r\n <doi>10.1101/097196</doi>\r\n <timestamp>2016122822100649000</timestamp>\r\n
87
+ \ <resource>http://biorxiv.org/lookup/doi/10.1101/097196</resource>\r\n
88
+ \ <collection property=\"crawler-based\">\r\n <item crawler=\"iParadigms\">\r\n
89
+ \ <resource>https://syndication.highwire.org/content/doi/10.1101/097196</resource>\r\n
90
+ \ </item>\r\n </collection>\r\n </doi_data>\r\n
91
+ \ </posted_content>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
92
+ http_version:
93
+ recorded_at: Tue, 20 Jun 2017 07:11:48 GMT
94
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - cr6-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 07:06:51 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doi_records>\r\n <doi_record
34
+ owner=\"10.1101\" timestamp=\"2016-12-29 01:10:20\">\r\n <crossref>\r\n
35
+ \ <posted_content type=\"preprint\" language=\"en\" metadata_distribution_opts=\"any\">\r\n
36
+ \ <group_title>Scientific Communication and Education</group_title>\r\n
37
+ \ <contributors>\r\n <person_name contributor_role=\"author\"
38
+ sequence=\"first\">\r\n <given_name>Martin</given_name>\r\n <surname>Fenner</surname>\r\n
39
+ \ <ORCID>http://orcid.org/0000-0003-1419-2405</ORCID>\r\n </person_name>\r\n
40
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
41
+ \ <given_name>Merc?</given_name>\r\n <surname>Crosas</surname>\r\n
42
+ \ <ORCID>http://orcid.org/0000-0003-1304-1939</ORCID>\r\n </person_name>\r\n
43
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
44
+ \ <given_name>Jeffrey</given_name>\r\n <surname>Grethe</surname>\r\n
45
+ \ <ORCID>http://orcid.org/0000-0001-5212-7052</ORCID>\r\n </person_name>\r\n
46
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
47
+ \ <given_name>David</given_name>\r\n <surname>Kennedy</surname>\r\n
48
+ \ <ORCID>http://orcid.org/0000-0002-9377-0797</ORCID>\r\n </person_name>\r\n
49
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
50
+ \ <given_name>Henning</given_name>\r\n <surname>Hermjakob</surname>\r\n
51
+ \ <ORCID>http://orcid.org/0000-0001-8479-0262</ORCID>\r\n </person_name>\r\n
52
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
53
+ \ <given_name>Philippe</given_name>\r\n <surname>Rocca-Serra</surname>\r\n
54
+ \ <ORCID>http://orcid.org/0000-0001-9853-5668</ORCID>\r\n </person_name>\r\n
55
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
56
+ \ <given_name>Robin</given_name>\r\n <surname>Berjon</surname>\r\n
57
+ \ <ORCID>http://orcid.org/0000-0002-1731-5346</ORCID>\r\n </person_name>\r\n
58
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
59
+ \ <given_name>Sebastian</given_name>\r\n <surname>Karcher</surname>\r\n
60
+ \ <ORCID>http://orcid.org/0000-0001-8249-7388</ORCID>\r\n </person_name>\r\n
61
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
62
+ \ <given_name>Maryann</given_name>\r\n <surname>Martone</surname>\r\n
63
+ \ <ORCID>http://orcid.org/0000-0002-8406-3871</ORCID>\r\n </person_name>\r\n
64
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
65
+ \ <given_name>Timothy</given_name>\r\n <surname>Clark</surname>\r\n
66
+ \ <ORCID>http://orcid.org/0000-0003-4060-7360</ORCID>\r\n </person_name>\r\n
67
+ \ </contributors>\r\n <titles>\r\n <title>A Data Citation
68
+ Roadmap for Scholarly Data Repositories</title>\r\n </titles>\r\n <posted_date>\r\n
69
+ \ <month>12</month>\r\n <day>28</day>\r\n <year>2016</year>\r\n
70
+ \ </posted_date>\r\n <acceptance_date>\r\n <month>12</month>\r\n
71
+ \ <day>28</day>\r\n <year>2016</year>\r\n </acceptance_date>\r\n
72
+ \ <institution>\r\n <institution_name>bioRxiv</institution_name>\r\n
73
+ \ </institution>\r\n <item_number item_number_type=\"pisa\">biorxiv;097196v1</item_number>\r\n
74
+ \ <abstract>\r\n <p>This article presents a practical roadmap
75
+ for scholarly data repositories to implement data citation in accordance with
76
+ the Joint Declaration of Data Citation Principles (Data Citation Synthesis
77
+ Group, 2014), a synopsis and harmonization of the recommendations of major
78
+ science policy bodies. The roadmap was developed by the Repositories Early
79
+ Adopters Expert Group, part of the Data Citation Implementation Pilot (DCIP)
80
+ project (FORCE11, 2015), an initiative of FORCE11.org and the NIH BioCADDIE
81
+ (2016) program. The roadmap makes 11 specific recommendations, grouped into
82
+ three phases of implementation: a) required steps needed to support the Joint
83
+ Declaration of Data Citation Principles, b) recommended steps that facilitate
84
+ article/data publication workflows, and c) optional steps that further improve
85
+ data citation support provided by data repositories.</p>\r\n </abstract>\r\n
86
+ \ <doi_data>\r\n <doi>10.1101/097196</doi>\r\n <timestamp>2016122822100649000</timestamp>\r\n
87
+ \ <resource>http://biorxiv.org/lookup/doi/10.1101/097196</resource>\r\n
88
+ \ <collection property=\"crawler-based\">\r\n <item crawler=\"iParadigms\">\r\n
89
+ \ <resource>https://syndication.highwire.org/content/doi/10.1101/097196</resource>\r\n
90
+ \ </item>\r\n </collection>\r\n </doi_data>\r\n
91
+ \ </posted_content>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
92
+ http_version:
93
+ recorded_at: Tue, 20 Jun 2017 07:06:51 GMT
94
+ recorded_with: VCR 3.0.3
@@ -41,7 +41,7 @@ describe Bolognese::Metadata, vcr: true do
41
41
  expect(subject.type).to eq("ScholarlyArticle")
42
42
  expect(subject.additional_type).to eq("BlogPosting")
43
43
  expect(subject.resource_type_general).to eq("Text")
44
- expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
44
+ expect(subject.author).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
45
45
  expect(subject.title).to eq("Eating your own Dog Food")
46
46
  expect(subject.alternate_name).to eq("type"=>"Local accession number", "name"=>"MS-49-3632-5083")
47
47
  expect(subject.description["text"]).to start_with("Eating your own dog food")
@@ -99,7 +99,7 @@ describe Bolognese::Metadata, vcr: true do
99
99
  expect(subject.additional_type).to eq("Dataset")
100
100
  expect(subject.resource_type_general).to eq("Dataset")
101
101
  expect(subject.author.count).to eq(11)
102
- expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0002-2410-9671", "name"=>"Alexander Junge", "givenName"=>"Alexander", "familyName"=>"Junge")
102
+ expect(subject.author.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0002-2410-9671", "name"=>"Alexander Junge", "givenName"=>"Alexander", "familyName"=>"Junge")
103
103
  expect(subject.title).to eq("RAIN v1")
104
104
  expect(subject.description["text"]).to start_with("<b>RAIN: RNA–protein Association and Interaction Networks")
105
105
  expect(subject.license).to eq("id"=>"https://creativecommons.org/licenses/by/4.0", "name"=>"CC-BY")
@@ -159,6 +159,16 @@ describe Bolognese::Metadata, vcr: true do
159
159
  expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://jacow.org/JACoW-00077389", "name"=>"Masashi Otani", "givenName"=>"Masashi", "familyName"=>"Otani")
160
160
  end
161
161
 
162
+ it "author with wrong orcid scheme" do
163
+ input = "https://doi.org/10.2314/COSCV1"
164
+ subject = Bolognese::Metadata.new(input: input)
165
+ expect(subject.valid?).to be true
166
+ expect(subject.id).to eq("https://doi.org/10.2314/coscv1")
167
+ expect(subject.type).to eq("ScholarlyArticle")
168
+ expect(subject.author.length).to eq(14)
169
+ expect(subject.author.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-0232-7085", "name"=>"Lambert Heller", "givenName"=>"Lambert", "familyName"=>"Heller")
170
+ end
171
+
162
172
  it "keywords with attributes" do
163
173
  input = "https://doi.org/10.21233/n34n5q"
164
174
  subject = Bolognese::Metadata.new(input: input)
@@ -176,7 +186,7 @@ describe Bolognese::Metadata, vcr: true do
176
186
  expect(subject.additional_type).to eq("Dataset")
177
187
  expect(subject.resource_type_general).to eq("Dataset")
178
188
  expect(subject.author.length).to eq(2)
179
- expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0001-8740-8284", "name"=>"Bimbo, Nuno", "givenName"=>"Nuno", "familyName"=>"Bimbo")
189
+ expect(subject.author.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-8740-8284", "name"=>"Bimbo, Nuno", "givenName"=>"Nuno", "familyName"=>"Bimbo")
180
190
  expect(subject.title).to eq("Dataset for \"Direct Evidence for Solid-Like Hydrogen in a Nanoporous Carbon Hydrogen Storage Material at Supercritical Temperatures\"")
181
191
  expect(subject.description.first["text"]).to start_with("Dataset for Direct Evidence for Solid-Like Hydrogen")
182
192
  expect(subject.date_published).to eq("2015")
@@ -196,7 +206,7 @@ describe Bolognese::Metadata, vcr: true do
196
206
  expect(subject.additional_type).to eq("Project")
197
207
  expect(subject.resource_type_general).to eq("Collection")
198
208
  expect(subject.author.length).to eq(24)
199
- expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0001-5331-6592", "name"=>"Farquhar, Adam", "givenName"=>"Adam", "familyName"=>"Farquhar")
209
+ expect(subject.author.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-5331-6592", "name"=>"Farquhar, Adam", "givenName"=>"Adam", "familyName"=>"Farquhar")
200
210
  expect(subject.title).to eq("Technical and Human Infrastructure for Open Research (THOR)")
201
211
  expect(subject.description["text"]).to start_with("Five years ago, a global infrastructure")
202
212
  expect(subject.date_published).to eq("2015")
@@ -218,7 +228,7 @@ describe Bolognese::Metadata, vcr: true do
218
228
  expect(subject.type).to eq("ScholarlyArticle")
219
229
  expect(subject.additional_type).to eq("BlogPosting")
220
230
  expect(subject.resource_type_general).to eq("Text")
221
- expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
231
+ expect(subject.author).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
222
232
  expect(subject.title).to eq("Eating your own Dog Food")
223
233
  expect(subject.alternate_name).to eq("type"=>"Local accession number", "name"=>"MS-49-3632-5083")
224
234
  expect(subject.date_published).to eq("2016-12-20")
data/spec/utils_spec.rb CHANGED
@@ -69,6 +69,32 @@ describe Bolognese::Metadata, vcr: true do
69
69
  end
70
70
  end
71
71
 
72
+ context "validate_orcid_scheme" do
73
+ it "validate_orcid_scheme" do
74
+ orcid = "http://orcid.org"
75
+ response = subject.validate_orcid_scheme(orcid)
76
+ expect(response).to eq("orcid.org")
77
+ end
78
+
79
+ it "validate_orcid_scheme trailing slash" do
80
+ orcid = "http://orcid.org/"
81
+ response = subject.validate_orcid_scheme(orcid)
82
+ expect(response).to eq("orcid.org")
83
+ end
84
+
85
+ it "validate_orcid_scheme https" do
86
+ orcid = "https://orcid.org"
87
+ response = subject.validate_orcid_scheme(orcid)
88
+ expect(response).to eq("orcid.org")
89
+ end
90
+
91
+ it "validate_orcid_scheme www" do
92
+ orcid = "http://www.orcid.org"
93
+ response = subject.validate_orcid_scheme(orcid)
94
+ expect(response).to eq("orcid.org")
95
+ end
96
+ end
97
+
72
98
  context "parse attributes" do
73
99
  it "string" do
74
100
  element = "10.5061/DRYAD.8515"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.25
4
+ version: 0.9.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -596,6 +596,7 @@ files:
596
596
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml
597
597
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml
598
598
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml
599
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml
599
600
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml
600
601
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml
601
602
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml
@@ -689,6 +690,10 @@ files:
689
690
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml
690
691
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml
691
692
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml
693
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml
694
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml
695
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml
696
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml
692
697
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml
693
698
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml
694
699
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml