bolognese 0.9.91 → 0.9.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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