bolognese 0.9.91 → 0.9.92

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/bolognese/author_utils.rb +4 -2
  4. data/lib/bolognese/metadata.rb +1 -1
  5. data/lib/bolognese/readers/schema_org_reader.rb +19 -5
  6. data/lib/bolognese/utils.rb +2 -2
  7. data/lib/bolognese/version.rb +1 -1
  8. data/spec/author_utils_spec.rb +6 -0
  9. data/spec/find_from_format_spec.rb +30 -0
  10. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +48 -0
  11. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +50 -0
  12. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +36 -33
  13. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +36 -33
  14. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +39 -33
  15. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +39 -33
  16. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +26 -23
  17. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +26 -23
  18. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +26 -23
  19. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +34 -31
  20. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +45 -0
  21. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +37 -0
  22. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl_daac.yml +734 -0
  23. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +45 -0
  24. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +481 -0
  25. data/spec/readers/schema_org_reader_spec.rb +56 -0
  26. metadata +10 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42571f806fa0ddb4fa5e9fc9bd69acd8ad632cf935e4632521b4a42bc0151a93
4
- data.tar.gz: f79d228d759b0b9f0ae68755311490e8f80bddcc9b0ad00333317496ae5ef029
3
+ metadata.gz: 1fc93bdfbb7b18ae1bcc2dea7fac1315bbded2528ce63b994f0344dfb6921e59
4
+ data.tar.gz: f3058ac14a37d485479ec15fcc60169bd51da84d37fa3c5e4a09e58719bb3f60
5
5
  SHA512:
6
- metadata.gz: 44eea3f6e8013da74b50dd291c74d8a9add5450f5759adab0ed0e057a007515a36fd4a34f091f4fbb75c105b5103f6deb150a46857d65b74074b1c9fe9024541
7
- data.tar.gz: 89cc85c5a62e5ad783b805b312b4574ce2aa55c0a41b22d3070130b213a20914105e8e3992cdc202287b4d47028b603f2b77336f27f67ba10505996d0f435072
6
+ metadata.gz: bd335df02add3896831a38a04cb4276a58ea63ef6b9b8561d560e028e61574b5ee0c8468bcd2f048f8812f5f681c552a07d98468a277460957b6565ff0a67ff4
7
+ data.tar.gz: aa1ef7bb3dd3bbe3c1faaaa98117f24728a5d868fb09d7fa98776475223cb270ae93ca84571301c2b02afb129e7d46809c5468dff23dd58e24c38e84c0141a8c
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.91)
4
+ bolognese (0.9.92)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -19,10 +19,10 @@ module Bolognese
19
19
  parse_attributes(author.fetch("contributorName", nil)) ||
20
20
  author.fetch("name", nil)
21
21
 
22
-
23
- name = cleanup_author(name)
24
22
  given_name = author.fetch("givenName", nil)
25
23
  family_name = author.fetch("familyName", nil)
24
+ name = cleanup_author(name)
25
+ name = [family_name, given_name].join(", ") if name.blank? && family_name.present?
26
26
 
27
27
  author = { "type" => type || "Person",
28
28
  "id" => id,
@@ -58,6 +58,8 @@ module Bolognese
58
58
  end
59
59
 
60
60
  def cleanup_author(author)
61
+ return nil unless author.present?
62
+
61
63
  # detect pattern "Smith J.", but not "Smith, John K."
62
64
  author = author.gsub(/[[:space:]]([A-Z]\.)?(-?[A-Z]\.)$/, ', \1\2') unless author.include?(",")
63
65
 
@@ -401,7 +401,7 @@ module Bolognese
401
401
  end
402
402
 
403
403
  def container_title
404
- Array.wrap(is_part_of).length == 1 ? is_part_of.to_h.fetch("title", nil) : nil
404
+ Array.wrap(is_part_of).first.to_h.fetch("title", nil)
405
405
  end
406
406
 
407
407
  def descriptions
@@ -16,7 +16,10 @@ module Bolognese
16
16
  id = normalize_id(id)
17
17
  response = Maremma.get(id)
18
18
  doc = Nokogiri::XML(response.body.fetch("data", nil), nil, 'UTF-8')
19
- string = doc.at_xpath('//script[@type="application/ld+json"]')
19
+ #string = doc.at_xpath('//script[@type="application/ld+json"]')
20
+ # workaround for xhtml documents
21
+ nodeset = doc.css("script")
22
+ string = nodeset.find { |element| element["type"] == "application/ld+json" }
20
23
  string = string.text if string.present?
21
24
 
22
25
  { "string" => string }
@@ -31,15 +34,26 @@ module Bolognese
31
34
  meta = string.present? ? Maremma.from_json(string) : {}
32
35
 
33
36
  id = normalize_id(meta.fetch("@id", nil) || options[:id])
34
- type = meta.fetch("@type", nil)
37
+ type = meta.fetch("@type", nil) && meta.fetch("@type").camelcase
35
38
  resource_type_general = Bolognese::Utils::SO_TO_DC_TRANSLATIONS[type]
36
- author = get_authors(from_schema_org(Array.wrap(meta.fetch("author", nil))))
39
+ authors = meta.fetch("author", nil) || meta.fetch("creator", nil)
40
+ author = get_authors(from_schema_org(Array.wrap(authors)))
37
41
  editor = get_authors(from_schema_org(Array.wrap(meta.fetch("editor", nil))))
38
42
  publisher = if meta.dig("publisher").is_a?(Hash)
39
43
  meta.dig("publisher", "name")
40
44
  elsif publisher.is_a?(String)
41
45
  meta.dig("publisher")
42
46
  end
47
+
48
+ included_in_data_catalog = from_schema_org(Array.wrap(meta.fetch("includedInDataCatalog", nil)))
49
+ included_in_data_catalog = Array.wrap(included_in_data_catalog).map { |dc| { "title" => dc["name"], "url" => dc["url"] } }
50
+ is_part_of = schema_org_is_part_of(meta) || included_in_data_catalog
51
+
52
+ license = {
53
+ "id" => parse_attributes(meta.fetch("license", nil), content: "id", first: true),
54
+ "name" => parse_attributes(meta.fetch("license", nil), content: "name", first: true)
55
+ }
56
+
43
57
  date_published = meta.fetch("datePublished", nil)
44
58
  state = meta.present? ? "findable" : "not_found"
45
59
 
@@ -58,7 +72,7 @@ module Bolognese
58
72
  "publisher" => meta.dig("publisher", "name"),
59
73
  "service_provider" => meta.fetch("provider", nil),
60
74
  "is_identical_to" => schema_org_is_identical_to(meta),
61
- "is_part_of" => schema_org_is_part_of(meta),
75
+ "is_part_of" => is_part_of,
62
76
  "has_part" => schema_org_has_part(meta),
63
77
  "references" => schema_org_references(meta),
64
78
  "is_referenced_by" => schema_org_is_referenced_by(meta),
@@ -68,7 +82,7 @@ module Bolognese
68
82
  "date_published" => date_published,
69
83
  "date_modified" => meta.fetch("dateModified", nil),
70
84
  "description" => meta.fetch("description", nil).present? ? { "text" => sanitize(meta.fetch("description")) } : nil,
71
- "license" => { "id" => meta.fetch("license", nil) },
85
+ "license" => license,
72
86
  "b_version" => meta.fetch("version", nil),
73
87
  "keywords" => meta.fetch("keywords", nil).to_s.split(", "),
74
88
  "state" => state
@@ -289,7 +289,7 @@ module Bolognese
289
289
  "datacite_json"
290
290
  elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("issued", "date-parts").present?
291
291
  "citeproc"
292
- elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org")
292
+ elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org", "https://schema.org")
293
293
  "schema_org"
294
294
  elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("@context") == ("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
295
295
  "codemeta"
@@ -307,7 +307,7 @@ module Bolognese
307
307
  "datacite_json"
308
308
  elsif Maremma.from_json(string).to_h.dig("issued", "date-parts").present?
309
309
  "citeproc"
310
- elsif Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org")
310
+ elsif Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org", "https://schema.org")
311
311
  "schema_org"
312
312
  elsif Maremma.from_json(string).to_h.dig("@context") == ("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
313
313
  "codemeta"
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.91"
2
+ VERSION = "0.9.92"
3
3
  end
@@ -141,6 +141,12 @@ describe Bolognese::Metadata, vcr: true do
141
141
  response = subject.get_one_author(meta.dig("creators", "creator"))
142
142
  expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-4514-4211", "name"=>"Thomas Dubos", "givenName"=>"Thomas", "familyName"=>"Dubos", "identifier"=>["https://orcid.org/0000-0003-4514-4211", "http://isni.org/isni/0000-0003-5752-6882"])
143
143
  end
144
+
145
+ it "only familyName and givenName" do
146
+ input = "https://doi.pangaea.de/10.1594/PANGAEA.836178"
147
+ subject = Bolognese::Metadata.new(input: input, from: "schema_org")
148
+ expect(subject.author.first).to eq("type"=>"Person", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
149
+ end
144
150
  end
145
151
 
146
152
  context "get_name_identifiers" do
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+ require 'bolognese/cli'
3
+
4
+ describe Bolognese::CLI do
5
+ context "find_from_format_by_id", vcr: true do
6
+ let(:subject) do
7
+ described_class.new
8
+ end
9
+
10
+ it "crossref" do
11
+ id = "https://doi.org/10.7554/eLife.01567"
12
+ expect(subject.find_from_format_by_id(id)).to eq("crossref")
13
+ end
14
+
15
+ it "datacite" do
16
+ id = "https://doi.org/10.5061/DRYAD.8515"
17
+ expect(subject.find_from_format_by_id(id)).to eq("datacite")
18
+ end
19
+
20
+ it "codemeta" do
21
+ id = "https://github.com/datacite/maremma"
22
+ expect(subject.find_from_format_by_id(id)).to eq("codemeta")
23
+ end
24
+
25
+ it "schema_org" do
26
+ id = "https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/GAOC03"
27
+ expect(subject.find_from_format_by_id(id)).to eq("schema_org")
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://app.datacite.org/prefixes/10.7554
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma 4.0.5 - 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: OK
18
+ headers:
19
+ Date:
20
+ - Sun, 18 Mar 2018 06:54:15 GMT
21
+ Content-Type:
22
+ - application/vnd.api+json; charset=utf-8
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Anonymous-Consumer:
28
+ - 'true'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ Etag:
34
+ - W/"258c3a49bbc303b1229efe2fae9cc9e2"
35
+ X-Runtime:
36
+ - '0.774787'
37
+ X-Request-Id:
38
+ - 0cfc9b22-6085-479a-869d-2b70024f3423
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.2.1
41
+ Server:
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: '{"data":{"id":"10.7554","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T21:07:27Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
46
+ http_version:
47
+ recorded_at: Sun, 18 Mar 2018 06:54:15 GMT
48
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://app.datacite.org/prefixes/10.5061
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma 4.0.5 - 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: OK
18
+ headers:
19
+ Date:
20
+ - Sun, 18 Mar 2018 06:54:43 GMT
21
+ Content-Type:
22
+ - application/vnd.api+json; charset=utf-8
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Anonymous-Consumer:
28
+ - 'true'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - 744df000-0eec-4750-a9a5-92e8552c01eb
35
+ Etag:
36
+ - W/"b88da514519eb2584bb29d491bf684df"
37
+ X-Runtime:
38
+ - '0.015930'
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.2.1
41
+ Server:
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: '{"data":{"id":"10.5061","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2010-01-01T00:00:00.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"cdl.dryad","type":"clients"}]},"providers":{"data":[{"id":"cdl","type":"providers"}]}}},"included":[{"id":"cdl.dryad","type":"clients","attributes":{"name":"Dryad","symbol":"CDL.DRYAD","year":2013,"contact-name":"Greg
46
+ Janee","contact-email":"gjanee@ucop.edu","domains":"*","url":null,"is-active":true,"has-password":false,"created":"2013-02-19T17:42:03Z","updated":"2018-03-18T02:30:16Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"cdl","type":"providers","attributes":{"name":"California
47
+ Digital Library","symbol":"CDL","year":2010,"contact-name":"Greg Janee","contact-email":"gjanee@ucop.edu","logo-url":"https://assets.datacite.org/images/members/cdl.png","is-active":true,"has-password":true,"created":"2010-01-01T00:00:00.000Z","updated":"2018-03-18T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
48
+ http_version:
49
+ recorded_at: Sun, 18 Mar 2018 06:54:43 GMT
50
+ recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma - https://github.com/datacite/maremma
11
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,7 +17,7 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Sun, 25 Feb 2018 14:11:37 GMT
20
+ - Sun, 18 Mar 2018 08:52:36 GMT
21
21
  Content-Type:
22
22
  - application/vnd.api+json; charset=utf-8
23
23
  Connection:
@@ -30,21 +30,24 @@ http_interactions:
30
30
  - max-age=0, private, must-revalidate
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - a8b85e9e-93bb-4d46-8960-8d0125dfa5dd
33
35
  Etag:
34
- - W/"93b8b1f570105aa6606601deb773685a"
36
+ - W/"1e26530619c2dc28abc777879a8d98da"
35
37
  X-Runtime:
36
- - '0.020383'
37
- X-Request-Id:
38
- - 6129e642-4bc8-42ff-8b73-6068eecc6577
38
+ - '0.017074'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.2.0
40
+ - Phusion Passenger 5.2.1
41
41
  Server:
42
- - nginx/1.12.2 + Phusion Passenger 5.2.0
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.5438","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2011-03-30T08:56:21.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"datacite.datacite","type":"clients"}]},"providers":{"data":[{"id":"datacite","type":"providers"}]}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-02-25T02:30:09Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-02-25T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
45
+ string: '{"data":{"id":"10.5438","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2011-03-30T08:56:21.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"datacite.datacite","type":"clients"},{"id":"test.datacite","type":"clients"}]},"providers":{"data":[{"id":"datacite","type":"providers"},{"id":"test","type":"providers"}]}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-03-18T02:30:10Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"test.datacite","type":"clients","attributes":{"name":"DataCite
46
+ Staff Test Client","symbol":"TEST.DATACITE","year":2018,"contact-name":"DataCite
47
+ Support","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2018-03-15T12:19:33Z","updated":"2018-03-18T02:31:01Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-03-18T02:25:52.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}},{"id":"test","type":"providers","attributes":{"name":"DataCite
48
+ Test Provider","symbol":"TEST","year":2010,"contact-name":"DataCite Support","contact-email":"tech@datacite.org","logo-url":"https://assets.datacite.org/images/members/test.png","is-active":true,"has-password":true,"created":"2010-01-01T00:00:00.000Z","updated":"2018-03-18T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
46
49
  http_version:
47
- recorded_at: Sun, 25 Feb 2018 14:11:37 GMT
50
+ recorded_at: Sun, 18 Mar 2018 08:52:36 GMT
48
51
  - request:
49
52
  method: get
50
53
  uri: https://app.datacite.org/dois/10.5438/4k3m-nyvg?include=client,provider
@@ -53,7 +56,7 @@ http_interactions:
53
56
  string: ''
54
57
  headers:
55
58
  User-Agent:
56
- - Maremma - https://github.com/datacite/maremma
59
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
57
60
  Accept:
58
61
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
59
62
  response:
@@ -62,7 +65,7 @@ http_interactions:
62
65
  message: OK
63
66
  headers:
64
67
  Date:
65
- - Sun, 25 Feb 2018 14:11:37 GMT
68
+ - Sun, 18 Mar 2018 08:52:36 GMT
66
69
  Content-Type:
67
70
  - application/vnd.api+json; charset=utf-8
68
71
  Connection:
@@ -75,27 +78,27 @@ http_interactions:
75
78
  - max-age=0, private, must-revalidate
76
79
  Vary:
77
80
  - Accept-Encoding, Origin
81
+ X-Request-Id:
82
+ - 83e6efd1-575c-4142-ad24-012b224d88a3
78
83
  Etag:
79
- - W/"b2312843e7cf55dbec405967f26f4052"
84
+ - W/"4b5a70bd53bbdcef89ee5152a2a4506c"
80
85
  X-Runtime:
81
- - '0.013110'
82
- X-Request-Id:
83
- - d009e0e7-50ab-4d29-9228-70f5b1e3faab
86
+ - '0.018967'
84
87
  X-Powered-By:
85
- - Phusion Passenger 5.2.0
88
+ - Phusion Passenger 5.2.1
86
89
  Server:
87
- - nginx/1.12.2 + Phusion Passenger 5.2.0
90
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
88
91
  body:
89
92
  encoding: ASCII-8BIT
90
- string: '{"data":{"id":"10.5438/4k3m-nyvg","type":"dois","attributes":{"doi":"10.5438/4k3m-nyvg","identifier":"https://doi.org/10.5438/4k3m-nyvg","url":null,"author":{"type":"Person","id":"https://orcid.org/0000-0003-1419-2405","name":"Fenner,
91
- Martin","given-name":"Martin","family-name":"Fenner"},"title":"Eating your
92
- own Dog Food","container-title":"DataCite","description":{"type":"Abstract","text":"Eating
93
+ string: '{"data":{"id":"10.5438/4k3m-nyvg","type":"dois","attributes":{"doi":"10.5438/4k3m-nyvg","prefix":"10.5438","suffix":"4k3m-nyvg","identifier":"https://doi.org/10.5438/4k3m-nyvg","url":null,"creator":[{"type":"Person","id":"https://orcid.org/0000-0003-1419-2405","name":"Fenner,
94
+ Martin","given-name":"Martin","family-name":"Fenner"}],"title":"Eating your
95
+ own Dog Food","publisher":"DataCite","resource-type-subtype":"BlogPosting","description":"Eating
93
96
  your own dog food is a slang term to describe that an organization should
94
97
  itself use the products and services it provides. For DataCite this means
95
98
  that we should use DOIs with appropriate metadata and strategies for long-term
96
- preservation for..."},"resource-type-subtype":"BlogPosting","license":null,"version":4,"related-identifier":[{"type":"CreativeWork","id":"https://doi.org/10.5438/0000-00ss","relation-type":"IsPartOf"},{"type":"CreativeWork","id":"https://doi.org/10.5438/0012","relation-type":"References"},{"type":"CreativeWork","id":"https://doi.org/10.5438/55e5-t5c0","relation-type":"References"}],"schema-version":"http://datacite.org/schema/kernel-4","state":"findable","reason":null,"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC80SzNNLU5ZVkc8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5GZW5uZXIsIE1hcnRpbjwvY3JlYXRvck5hbWU+CiAgICAgIDxnaXZlbk5hbWU+TWFydGluPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkZlbm5lcjwvZmFtaWx5TmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCI+MDAwMC0wMDAzLTE0MTktMjQwNTwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EYXRhQ2l0ZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNjwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iTG9jYWwgYWNjZXNzaW9uIG51bWJlciI+TVMtNDktMzYzMi01MDgzPC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Q+ZGF0YWNpdGU8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5kb2k8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5tZXRhZGF0YTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0xMi0yMDwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJVcGRhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogIDwvZGF0ZXM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJSZWZlcmVuY2VzIj4xMC41NDM4LzAwMTI8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPjEwLjU0MzgvNTVFNS1UNUMwPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTQzOC8wMDAwLTAwU1M8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDx2ZXJzaW9uPjEuMDwvdmVyc2lvbj4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZCBpcyBhIHNsYW5nIHRlcm0gdG8gZGVzY3JpYmUgdGhhdCBhbiBvcmdhbml6YXRpb24gc2hvdWxkIGl0c2VsZiB1c2UgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBpdCBwcm92aWRlcy4gRm9yIERhdGFDaXRlIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgdXNlIERPSXMgd2l0aCBhcHByb3ByaWF0ZSBtZXRhZGF0YSBhbmQgc3RyYXRlZ2llcyBmb3IgbG9uZy10ZXJtIHByZXNlcnZhdGlvbiBmb3IuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPgo=","published":"2016-12-20","registered":"2016-12-19T20:49:21.000Z","updated":"2017-01-09T13:53:12.000Z"},"relationships":{"client":{"data":{"id":"datacite.datacite","type":"clients"}},"provider":{"data":{"id":"datacite","type":"providers"}},"resource-type":{"meta":{}},"media":{"meta":{}}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-02-25T02:30:09Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-02-25T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
99
+ preservation for...","version":null,"metadata-version":1,"schema-version":"http://datacite.org/schema/kernel-4","state":"findable","is-active":true,"reason":null,"landing-page":{"url":null,"status":null,"content-type":null,"checked":null},"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC80SzNNLU5ZVkc8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5GZW5uZXIsIE1hcnRpbjwvY3JlYXRvck5hbWU+CiAgICAgIDxnaXZlbk5hbWU+TWFydGluPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkZlbm5lcjwvZmFtaWx5TmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCI+aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTE0MTktMjQwNTwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EYXRhQ2l0ZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNjwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iTG9jYWwgYWNjZXNzaW9uIG51bWJlciI+TVMtNDktMzYzMi01MDgzPC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Q+ZGF0YWNpdGU8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5kb2k8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5tZXRhZGF0YTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0xMi0yMDwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJVcGRhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogIDwvZGF0ZXM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTQzOC8wMDAwLTAwc3M8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPjEwLjU0MzgvMDAxMjwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iUmVmZXJlbmNlcyI+MTAuNTQzOC81NWU1LXQ1YzA8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDx2ZXJzaW9uLz4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZCBpcyBhIHNsYW5nIHRlcm0gdG8gZGVzY3JpYmUgdGhhdCBhbiBvcmdhbml6YXRpb24gc2hvdWxkIGl0c2VsZiB1c2UgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBpdCBwcm92aWRlcy4gRm9yIERhdGFDaXRlIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgdXNlIERPSXMgd2l0aCBhcHByb3ByaWF0ZSBtZXRhZGF0YSBhbmQgc3RyYXRlZ2llcyBmb3IgbG9uZy10ZXJtIHByZXNlcnZhdGlvbiBmb3IuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPgo=","published":"2016-12-20","registered":"2016-12-19T20:49:21.000Z","updated":"2017-01-09T13:53:12.000Z"},"relationships":{"client":{"data":{"id":"datacite.datacite","type":"clients"}},"provider":{"data":{"id":"datacite","type":"providers"}},"resource-type":{"meta":{}},"media":{"meta":{}}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-03-18T02:30:10Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-03-18T02:25:52.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
97
100
  http_version:
98
- recorded_at: Sun, 25 Feb 2018 14:11:37 GMT
101
+ recorded_at: Sun, 18 Mar 2018 08:52:36 GMT
99
102
  - request:
100
103
  method: get
101
104
  uri: https://app.datacite.org/prefixes/10.1371
@@ -104,7 +107,7 @@ http_interactions:
104
107
  string: ''
105
108
  headers:
106
109
  User-Agent:
107
- - Maremma - https://github.com/datacite/maremma
110
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
108
111
  Accept:
109
112
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
110
113
  response:
@@ -113,7 +116,7 @@ http_interactions:
113
116
  message: OK
114
117
  headers:
115
118
  Date:
116
- - Sun, 25 Feb 2018 14:11:38 GMT
119
+ - Sun, 18 Mar 2018 08:52:37 GMT
117
120
  Content-Type:
118
121
  - application/vnd.api+json; charset=utf-8
119
122
  Connection:
@@ -126,19 +129,19 @@ http_interactions:
126
129
  - max-age=0, private, must-revalidate
127
130
  Vary:
128
131
  - Accept-Encoding, Origin
132
+ X-Request-Id:
133
+ - d27d2762-cbe6-4228-afc0-6b15f567066f
129
134
  Etag:
130
- - W/"71ca2c07f54fa8664a86e5df10d75a59"
135
+ - W/"4aadec3626c9c053f75d78db0882961b"
131
136
  X-Runtime:
132
- - '0.721713'
133
- X-Request-Id:
134
- - 9f7a0379-1d21-4985-8a28-0a04d8f68bfc
137
+ - '0.253126'
135
138
  X-Powered-By:
136
- - Phusion Passenger 5.2.0
139
+ - Phusion Passenger 5.2.1
137
140
  Server:
138
- - nginx/1.12.2 + Phusion Passenger 5.2.0
141
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
139
142
  body:
140
143
  encoding: ASCII-8BIT
141
- string: '{"data":{"id":"10.1371","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
144
+ string: '{"data":{"id":"10.1371","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
142
145
  http_version:
143
- recorded_at: Sun, 25 Feb 2018 14:11:38 GMT
146
+ recorded_at: Sun, 18 Mar 2018 08:52:37 GMT
144
147
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma - https://github.com/datacite/maremma
11
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,7 +17,7 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Sun, 25 Feb 2018 14:11:38 GMT
20
+ - Sun, 18 Mar 2018 08:52:37 GMT
21
21
  Content-Type:
22
22
  - application/vnd.api+json; charset=utf-8
23
23
  Connection:
@@ -30,21 +30,24 @@ http_interactions:
30
30
  - max-age=0, private, must-revalidate
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - cf220898-c92c-47e7-9f76-bbd83c40979e
33
35
  Etag:
34
- - W/"93b8b1f570105aa6606601deb773685a"
36
+ - W/"1e26530619c2dc28abc777879a8d98da"
35
37
  X-Runtime:
36
- - '0.016081'
37
- X-Request-Id:
38
- - afeb6a1e-44f3-4fa5-934d-e29bdfbb978a
38
+ - '0.016005'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.2.0
40
+ - Phusion Passenger 5.2.1
41
41
  Server:
42
- - nginx/1.12.2 + Phusion Passenger 5.2.0
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.5438","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2011-03-30T08:56:21.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"datacite.datacite","type":"clients"}]},"providers":{"data":[{"id":"datacite","type":"providers"}]}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-02-25T02:30:09Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-02-25T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
45
+ string: '{"data":{"id":"10.5438","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2011-03-30T08:56:21.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"datacite.datacite","type":"clients"},{"id":"test.datacite","type":"clients"}]},"providers":{"data":[{"id":"datacite","type":"providers"},{"id":"test","type":"providers"}]}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-03-18T02:30:10Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"test.datacite","type":"clients","attributes":{"name":"DataCite
46
+ Staff Test Client","symbol":"TEST.DATACITE","year":2018,"contact-name":"DataCite
47
+ Support","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2018-03-15T12:19:33Z","updated":"2018-03-18T02:31:01Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-03-18T02:25:52.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}},{"id":"test","type":"providers","attributes":{"name":"DataCite
48
+ Test Provider","symbol":"TEST","year":2010,"contact-name":"DataCite Support","contact-email":"tech@datacite.org","logo-url":"https://assets.datacite.org/images/members/test.png","is-active":true,"has-password":true,"created":"2010-01-01T00:00:00.000Z","updated":"2018-03-18T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
46
49
  http_version:
47
- recorded_at: Sun, 25 Feb 2018 14:11:38 GMT
50
+ recorded_at: Sun, 18 Mar 2018 08:52:37 GMT
48
51
  - request:
49
52
  method: get
50
53
  uri: https://app.datacite.org/dois/10.5438/4k3m-nyvg?include=client,provider
@@ -53,7 +56,7 @@ http_interactions:
53
56
  string: ''
54
57
  headers:
55
58
  User-Agent:
56
- - Maremma - https://github.com/datacite/maremma
59
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
57
60
  Accept:
58
61
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
59
62
  response:
@@ -62,7 +65,7 @@ http_interactions:
62
65
  message: OK
63
66
  headers:
64
67
  Date:
65
- - Sun, 25 Feb 2018 14:11:39 GMT
68
+ - Sun, 18 Mar 2018 08:52:38 GMT
66
69
  Content-Type:
67
70
  - application/vnd.api+json; charset=utf-8
68
71
  Connection:
@@ -75,27 +78,27 @@ http_interactions:
75
78
  - max-age=0, private, must-revalidate
76
79
  Vary:
77
80
  - Accept-Encoding, Origin
81
+ X-Request-Id:
82
+ - 85649f75-7723-45d3-9187-6020799a0d90
78
83
  Etag:
79
- - W/"b2312843e7cf55dbec405967f26f4052"
84
+ - W/"4b5a70bd53bbdcef89ee5152a2a4506c"
80
85
  X-Runtime:
81
- - '0.013844'
82
- X-Request-Id:
83
- - 889833a0-bade-4d59-a47c-09717898e70a
86
+ - '0.018730'
84
87
  X-Powered-By:
85
- - Phusion Passenger 5.2.0
88
+ - Phusion Passenger 5.2.1
86
89
  Server:
87
- - nginx/1.12.2 + Phusion Passenger 5.2.0
90
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
88
91
  body:
89
92
  encoding: ASCII-8BIT
90
- string: '{"data":{"id":"10.5438/4k3m-nyvg","type":"dois","attributes":{"doi":"10.5438/4k3m-nyvg","identifier":"https://doi.org/10.5438/4k3m-nyvg","url":null,"author":{"type":"Person","id":"https://orcid.org/0000-0003-1419-2405","name":"Fenner,
91
- Martin","given-name":"Martin","family-name":"Fenner"},"title":"Eating your
92
- own Dog Food","container-title":"DataCite","description":{"type":"Abstract","text":"Eating
93
+ string: '{"data":{"id":"10.5438/4k3m-nyvg","type":"dois","attributes":{"doi":"10.5438/4k3m-nyvg","prefix":"10.5438","suffix":"4k3m-nyvg","identifier":"https://doi.org/10.5438/4k3m-nyvg","url":null,"creator":[{"type":"Person","id":"https://orcid.org/0000-0003-1419-2405","name":"Fenner,
94
+ Martin","given-name":"Martin","family-name":"Fenner"}],"title":"Eating your
95
+ own Dog Food","publisher":"DataCite","resource-type-subtype":"BlogPosting","description":"Eating
93
96
  your own dog food is a slang term to describe that an organization should
94
97
  itself use the products and services it provides. For DataCite this means
95
98
  that we should use DOIs with appropriate metadata and strategies for long-term
96
- preservation for..."},"resource-type-subtype":"BlogPosting","license":null,"version":4,"related-identifier":[{"type":"CreativeWork","id":"https://doi.org/10.5438/0000-00ss","relation-type":"IsPartOf"},{"type":"CreativeWork","id":"https://doi.org/10.5438/0012","relation-type":"References"},{"type":"CreativeWork","id":"https://doi.org/10.5438/55e5-t5c0","relation-type":"References"}],"schema-version":"http://datacite.org/schema/kernel-4","state":"findable","reason":null,"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC80SzNNLU5ZVkc8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5GZW5uZXIsIE1hcnRpbjwvY3JlYXRvck5hbWU+CiAgICAgIDxnaXZlbk5hbWU+TWFydGluPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkZlbm5lcjwvZmFtaWx5TmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCI+MDAwMC0wMDAzLTE0MTktMjQwNTwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EYXRhQ2l0ZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNjwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iTG9jYWwgYWNjZXNzaW9uIG51bWJlciI+TVMtNDktMzYzMi01MDgzPC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Q+ZGF0YWNpdGU8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5kb2k8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5tZXRhZGF0YTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0xMi0yMDwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJVcGRhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogIDwvZGF0ZXM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJSZWZlcmVuY2VzIj4xMC41NDM4LzAwMTI8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPjEwLjU0MzgvNTVFNS1UNUMwPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTQzOC8wMDAwLTAwU1M8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDx2ZXJzaW9uPjEuMDwvdmVyc2lvbj4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZCBpcyBhIHNsYW5nIHRlcm0gdG8gZGVzY3JpYmUgdGhhdCBhbiBvcmdhbml6YXRpb24gc2hvdWxkIGl0c2VsZiB1c2UgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBpdCBwcm92aWRlcy4gRm9yIERhdGFDaXRlIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgdXNlIERPSXMgd2l0aCBhcHByb3ByaWF0ZSBtZXRhZGF0YSBhbmQgc3RyYXRlZ2llcyBmb3IgbG9uZy10ZXJtIHByZXNlcnZhdGlvbiBmb3IuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPgo=","published":"2016-12-20","registered":"2016-12-19T20:49:21.000Z","updated":"2017-01-09T13:53:12.000Z"},"relationships":{"client":{"data":{"id":"datacite.datacite","type":"clients"}},"provider":{"data":{"id":"datacite","type":"providers"}},"resource-type":{"meta":{}},"media":{"meta":{}}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-02-25T02:30:09Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-02-25T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
99
+ preservation for...","version":null,"metadata-version":1,"schema-version":"http://datacite.org/schema/kernel-4","state":"findable","is-active":true,"reason":null,"landing-page":{"url":null,"status":null,"content-type":null,"checked":null},"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC80SzNNLU5ZVkc8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5GZW5uZXIsIE1hcnRpbjwvY3JlYXRvck5hbWU+CiAgICAgIDxnaXZlbk5hbWU+TWFydGluPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkZlbm5lcjwvZmFtaWx5TmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCI+aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTE0MTktMjQwNTwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EYXRhQ2l0ZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNjwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iTG9jYWwgYWNjZXNzaW9uIG51bWJlciI+TVMtNDktMzYzMi01MDgzPC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Q+ZGF0YWNpdGU8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5kb2k8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5tZXRhZGF0YTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0xMi0yMDwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJVcGRhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogIDwvZGF0ZXM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTQzOC8wMDAwLTAwc3M8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPjEwLjU0MzgvMDAxMjwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iUmVmZXJlbmNlcyI+MTAuNTQzOC81NWU1LXQ1YzA8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDx2ZXJzaW9uLz4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZCBpcyBhIHNsYW5nIHRlcm0gdG8gZGVzY3JpYmUgdGhhdCBhbiBvcmdhbml6YXRpb24gc2hvdWxkIGl0c2VsZiB1c2UgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBpdCBwcm92aWRlcy4gRm9yIERhdGFDaXRlIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgdXNlIERPSXMgd2l0aCBhcHByb3ByaWF0ZSBtZXRhZGF0YSBhbmQgc3RyYXRlZ2llcyBmb3IgbG9uZy10ZXJtIHByZXNlcnZhdGlvbiBmb3IuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPgo=","published":"2016-12-20","registered":"2016-12-19T20:49:21.000Z","updated":"2017-01-09T13:53:12.000Z"},"relationships":{"client":{"data":{"id":"datacite.datacite","type":"clients"}},"provider":{"data":{"id":"datacite","type":"providers"}},"resource-type":{"meta":{}},"media":{"meta":{}}}},"included":[{"id":"datacite.datacite","type":"clients","attributes":{"name":"DataCite","symbol":"DATACITE.DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","domains":"*","url":null,"is-active":true,"has-password":true,"created":"2011-12-07T13:43:39Z","updated":"2018-03-18T02:30:10Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"datacite","type":"providers","attributes":{"name":"DataCite","symbol":"DATACITE","year":2011,"contact-name":"DataCite","contact-email":"support@datacite.org","logo-url":"https://assets.datacite.org/images/members/datacite.png","is-active":true,"has-password":true,"created":"2011-12-07T13:41:07.000Z","updated":"2018-03-18T02:25:52.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
97
100
  http_version:
98
- recorded_at: Sun, 25 Feb 2018 14:11:39 GMT
101
+ recorded_at: Sun, 18 Mar 2018 08:52:38 GMT
99
102
  - request:
100
103
  method: get
101
104
  uri: https://app.datacite.org/prefixes/10.1371
@@ -104,7 +107,7 @@ http_interactions:
104
107
  string: ''
105
108
  headers:
106
109
  User-Agent:
107
- - Maremma - https://github.com/datacite/maremma
110
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
108
111
  Accept:
109
112
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
110
113
  response:
@@ -113,7 +116,7 @@ http_interactions:
113
116
  message: OK
114
117
  headers:
115
118
  Date:
116
- - Sun, 25 Feb 2018 14:11:39 GMT
119
+ - Sun, 18 Mar 2018 08:52:38 GMT
117
120
  Content-Type:
118
121
  - application/vnd.api+json; charset=utf-8
119
122
  Connection:
@@ -126,19 +129,19 @@ http_interactions:
126
129
  - max-age=0, private, must-revalidate
127
130
  Vary:
128
131
  - Accept-Encoding, Origin
132
+ X-Request-Id:
133
+ - 9b5d63a7-6bc8-4b50-96ee-7b8e0907e3fa
129
134
  Etag:
130
- - W/"71ca2c07f54fa8664a86e5df10d75a59"
135
+ - W/"4aadec3626c9c053f75d78db0882961b"
131
136
  X-Runtime:
132
- - '0.665251'
133
- X-Request-Id:
134
- - ed0303d8-88bf-43d5-862e-c5b7935ada65
137
+ - '0.327200'
135
138
  X-Powered-By:
136
- - Phusion Passenger 5.2.0
139
+ - Phusion Passenger 5.2.1
137
140
  Server:
138
- - nginx/1.12.2 + Phusion Passenger 5.2.0
141
+ - nginx/1.12.2 + Phusion Passenger 5.2.1
139
142
  body:
140
143
  encoding: ASCII-8BIT
141
- string: '{"data":{"id":"10.1371","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
144
+ string: '{"data":{"id":"10.1371","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
142
145
  http_version:
143
- recorded_at: Sun, 25 Feb 2018 14:11:39 GMT
146
+ recorded_at: Sun, 18 Mar 2018 08:52:39 GMT
144
147
  recorded_with: VCR 3.0.3