bolognese 1.0.29 → 1.0.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/bolognese/author_utils.rb +33 -56
  4. data/lib/bolognese/datacite_utils.rb +15 -7
  5. data/lib/bolognese/metadata.rb +13 -18
  6. data/lib/bolognese/metadata_utils.rb +41 -20
  7. data/lib/bolognese/readers/bibtex_reader.rb +21 -17
  8. data/lib/bolognese/readers/citeproc_reader.rb +28 -7
  9. data/lib/bolognese/readers/codemeta_reader.rb +21 -8
  10. data/lib/bolognese/readers/crossref_reader.rb +31 -23
  11. data/lib/bolognese/readers/datacite_json_reader.rb +1 -47
  12. data/lib/bolognese/readers/datacite_reader.rb +26 -16
  13. data/lib/bolognese/readers/ris_reader.rb +20 -13
  14. data/lib/bolognese/readers/schema_org_reader.rb +26 -22
  15. data/lib/bolognese/utils.rb +139 -39
  16. data/lib/bolognese/version.rb +1 -1
  17. data/lib/bolognese/writers/bibtex_writer.rb +7 -5
  18. data/lib/bolognese/writers/citation_writer.rb +1 -1
  19. data/lib/bolognese/writers/codemeta_writer.rb +2 -2
  20. data/lib/bolognese/writers/crosscite_writer.rb +1 -34
  21. data/lib/bolognese/writers/datacite_json_writer.rb +1 -29
  22. data/lib/bolognese/writers/jats_writer.rb +9 -9
  23. data/lib/bolognese/writers/ris_writer.rb +5 -5
  24. data/lib/bolognese/writers/schema_org_writer.rb +9 -9
  25. data/spec/author_utils_spec.rb +17 -47
  26. data/spec/cli_spec.rb +1 -1
  27. data/spec/fixtures/crosscite.json +10 -4
  28. data/spec/fixtures/datacite-example-polygon-v4.1.xml +163 -0
  29. data/spec/fixtures/datacite-seriesinformation.xml +41 -0
  30. data/spec/fixtures/datacite.json +12 -8
  31. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +37 -0
  32. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +37 -0
  33. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +37 -0
  34. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +37 -0
  35. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +37 -0
  36. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +37 -0
  37. data/spec/readers/bibtex_reader_spec.rb +5 -5
  38. data/spec/readers/citeproc_reader_spec.rb +4 -4
  39. data/spec/readers/codemeta_reader_spec.rb +39 -18
  40. data/spec/readers/crosscite_reader_spec.rb +2 -2
  41. data/spec/readers/crossref_reader_spec.rb +26 -32
  42. data/spec/readers/datacite_json_reader_spec.rb +2 -2
  43. data/spec/readers/datacite_reader_spec.rb +156 -101
  44. data/spec/readers/ris_reader_spec.rb +7 -7
  45. data/spec/readers/schema_org_reader_spec.rb +34 -28
  46. data/spec/utils_spec.rb +37 -6
  47. data/spec/writers/bibtex_writer_spec.rb +1 -0
  48. data/spec/writers/codemeta_writer_spec.rb +1 -1
  49. data/spec/writers/crosscite_writer_spec.rb +13 -6
  50. data/spec/writers/datacite_json_writer_spec.rb +13 -5
  51. data/spec/writers/datacite_writer_spec.rb +18 -18
  52. data/spec/writers/schema_org_writer_spec.rb +40 -14
  53. metadata +10 -2
@@ -4,15 +4,15 @@ module Bolognese
4
4
  module Writers
5
5
  module SchemaOrgWriter
6
6
  def schema_hsh
7
- { "@context" => identifier.present? ? "http://schema.org" : nil,
7
+ { "@context" => "http://schema.org",
8
8
  "@type" => types["schemaOrg"],
9
- "@id" => identifier,
10
- "identifier" => to_schema_org_identifier(identifier, alternate_identifiers: alternate_identifiers),
9
+ "@id" => id,
10
+ "identifier" => to_schema_org_identifiers(identifiers),
11
11
  "url" => url,
12
12
  "additionalType" => types["resourceType"],
13
13
  "name" => parse_attributes(titles, content: "title", first: true),
14
- "author" => to_schema_org(creators),
15
- "editor" => to_schema_org(contributors),
14
+ "author" => to_schema_org_creators(creators),
15
+ "editor" => to_schema_org_contributors(contributors),
16
16
  "description" => parse_attributes(descriptions, content: "description", first: true),
17
17
  "license" => Array.wrap(rights_list).map { |l| l["rightsUri"] }.compact.unwrap,
18
18
  "version" => version_info,
@@ -23,8 +23,8 @@ module Bolognese
23
23
  "dateCreated" => get_date(dates, "Created"),
24
24
  "datePublished" => get_date(dates, "Issued"),
25
25
  "dateModified" => get_date(dates, "Updated"),
26
- "pageStart" => first_page,
27
- "pageEnd" => last_page,
26
+ "pageStart" => container.to_h["firstPage"],
27
+ "pageEnd" => container.to_h["lastPage"],
28
28
  "spatialCoverage" => to_schema_org_spatial_coverage(geo_locations),
29
29
  "sameAs" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "IsIdenticalTo"),
30
30
  "isPartOf" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "IsPartOf"),
@@ -35,8 +35,8 @@ module Bolognese
35
35
  "@reverse" => reverse.presence,
36
36
  "contentUrl" => Array.wrap(content_url).unwrap,
37
37
  "schemaVersion" => schema_version,
38
- "periodical" => (types["schemaOrg"] != "Dataset") && periodical ? to_schema_org(periodical) : nil,
39
- "includedInDataCatalog" => (types["schemaOrg"] == "Dataset") && periodical ? to_schema_org(periodical) : nil,
38
+ "periodical" => (types["schemaOrg"] != "Dataset") && container.present? ? to_schema_org(container) : nil,
39
+ "includedInDataCatalog" => (types["schemaOrg"] == "Dataset") && container.present? ? to_schema_org_container(container, type: "Dataset") : nil,
40
40
  "publisher" => publisher.present? ? { "@type" => "Organization", "name" => publisher } : nil,
41
41
  "funder" => to_schema_org_funder(funding_references),
42
42
  "provider" => agency.present? ? { "@type" => "Organization", "name" => agency } : nil
@@ -9,7 +9,7 @@ describe Bolognese::Metadata, vcr: true do
9
9
 
10
10
  context "is_personal_name?" do
11
11
  it "has type organization" do
12
- author = {"email"=>"info@ucop.edu", "name"=>"University of California, Santa Barbara", "role"=>{"namespace"=>"http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode", "roleCode"=>"copyrightHolder"}, "type"=>"organization" }
12
+ author = {"email"=>"info@ucop.edu", "name"=>"University of California, Santa Barbara", "role"=>{"namespace"=>"http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode", "roleCode"=>"copyrightHolder"}, "nameType"=>"Organizational" }
13
13
  expect(subject.is_personal_name?(author)).to be false
14
14
  end
15
15
 
@@ -18,6 +18,10 @@ describe Bolognese::Metadata, vcr: true do
18
18
  expect(subject.is_personal_name?(author)).to be true
19
19
  end
20
20
 
21
+ it "has orcid id" do
22
+ author = { "creatorName"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner", "nameIdentifier"=>{"schemeURI"=>"http://orcid.org/", "nameIdentifierScheme"=>"ORCID", "__content__"=>"0000-0003-1419-2405"}}
23
+ expect(subject.is_personal_name?(author)).to be true
24
+ end
21
25
  it "has family name" do
22
26
  author = {"givenName"=>"Martin", "familyName"=>"Fenner", "name"=>"Martin Fenner" }
23
27
  expect(subject.is_personal_name?(author)).to be true
@@ -45,7 +49,7 @@ describe Bolognese::Metadata, vcr: true do
45
49
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
46
50
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
47
51
  response = subject.get_one_author(meta.dig("creators", "creator"))
48
- expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
52
+ expect(response).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-1419-2405", "nameIdentifierScheme"=>"ORCID"}], "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
49
53
  end
50
54
 
51
55
  it "has name in sort-order" do
@@ -53,7 +57,7 @@ describe Bolognese::Metadata, vcr: true do
53
57
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
54
58
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
55
59
  response = subject.get_one_author(meta.dig("creators", "creator").first)
56
- expect(response).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
60
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Ollomo, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
57
61
  end
58
62
 
59
63
  it "has name in display-order" do
@@ -61,7 +65,7 @@ describe Bolognese::Metadata, vcr: true do
61
65
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
62
66
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
63
67
  response = subject.get_one_author(meta.dig("creators", "creator"))
64
- expect(response).to eq("type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza")
68
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Garza, Kristian", "givenName"=>"Kristian", "familyName"=>"Garza")
65
69
  end
66
70
 
67
71
  it "has name in display-order with ORCID" do
@@ -69,7 +73,7 @@ describe Bolognese::Metadata, vcr: true do
69
73
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
70
74
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
71
75
  response = subject.get_one_author(meta.dig("creators", "creator"))
72
- expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-4881-1606", "name"=>"Andrea Bedini", "givenName"=>"Andrea", "familyName"=>"Bedini")
76
+ expect(response).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-4881-1606", "nameIdentifierScheme"=>"ORCID"}], "name"=>"Bedini, Andrea", "givenName"=>"Andrea", "familyName"=>"Bedini")
73
77
  end
74
78
 
75
79
  it "has name in Thai" do
@@ -94,13 +98,13 @@ describe Bolognese::Metadata, vcr: true do
94
98
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
95
99
  response = subject.get_authors(meta.dig("creators", "creator"))
96
100
  expect(response.length).to eq(1000)
97
- expect(response.first).to eq("type"=>"Person", "name"=>"Jaroslav Adam", "givenName"=>"Jaroslav", "familyName"=>"Adam")
101
+ expect(response.first).to eq("nameType"=>"Personal", "name"=>"Adam, Jaroslav", "givenName"=>"Jaroslav", "familyName"=>"Adam", "affiliation" => "Prague, Tech. U.")
98
102
  end
99
103
 
100
104
  it "is organization" do
101
- author = {"email"=>"info@ucop.edu", "name"=>"University of California, Santa Barbara", "role"=>{"namespace"=>"http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode", "roleCode"=>"copyrightHolder"}, "type"=>"organization" }
105
+ author = {"email"=>"info@ucop.edu", "creatorName"=> { "__content__" => "University of California, Santa Barbara", "nameType" => "Organizational" }, "role"=>{"namespace"=>"http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode", "roleCode"=>"copyrightHolder"} }
102
106
  response = subject.get_one_author(author)
103
- expect(response).to eq("type"=>"Organization", "name"=>"University Of California, Santa Barbara")
107
+ expect(response).to eq("nameType"=>"Organizational", "name"=>"University Of California, Santa Barbara")
104
108
  end
105
109
 
106
110
  it "name with affiliation" do
@@ -108,7 +112,7 @@ describe Bolognese::Metadata, vcr: true do
108
112
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
109
113
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
110
114
  response = subject.get_one_author(meta.dig("creators", "creator"))
111
- expect(response).to eq("type"=>"Organization", "name"=>"Dr. Störi, Kunstsalon")
115
+ expect(response).to eq("nameType"=>"Organizational", "name"=>"Dr. Störi, Kunstsalon")
112
116
  end
113
117
 
114
118
  it "name with affiliation and country" do
@@ -124,7 +128,7 @@ describe Bolognese::Metadata, vcr: true do
124
128
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
125
129
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
126
130
  response = subject.get_one_author(meta.dig("creators", "creator").first)
127
- expect(response).to eq("type"=>"Person", "name"=>"H. C. Schumacher", "givenName"=>"H. C.", "familyName"=>"Schumacher")
131
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Schumacher, H. C.", "givenName"=>"H. C.", "familyName"=>"Schumacher")
128
132
  end
129
133
 
130
134
  it "multiple name_identifier" do
@@ -132,7 +136,7 @@ describe Bolognese::Metadata, vcr: true do
132
136
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
133
137
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
134
138
  response = subject.get_one_author(meta.dig("creators", "creator"))
135
- 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"])
139
+ expect(response).to eq("nameType"=>"Personal", "name"=>"Dubos, Thomas", "givenName"=>"Thomas", "familyName"=>"Dubos", "affiliation" => "École Polytechnique\nLaboratoire de Météorologie Dynamique", "nameIdentifiers" => [{"nameIdentifier"=>"http://isni.org/isni/0000 0003 5752 6882", "nameIdentifierScheme"=>"ISNI"}, {"nameIdentifier"=>"https://orcid.org/0000-0003-4514-4211", "nameIdentifierScheme"=>"ORCID"}])
136
140
  end
137
141
 
138
142
  it "nameType organizational" do
@@ -140,47 +144,13 @@ describe Bolognese::Metadata, vcr: true do
140
144
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
141
145
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
142
146
  response = subject.get_one_author(meta.dig("creators", "creator"))
143
- expect(response).to eq("type"=>"Organization", "name"=>"The GTEx Consortium")
147
+ expect(response).to eq("nameType"=>"Organizational", "name"=>"The GTEx Consortium")
144
148
  end
145
149
 
146
150
  it "only familyName and givenName" do
147
151
  input = "https://doi.pangaea.de/10.1594/PANGAEA.836178"
148
152
  subject = Bolognese::Metadata.new(input: input, from: "schema_org")
149
- expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
150
- end
151
- end
152
-
153
- context "get_name_identifiers" do
154
- it "has ORCID" do
155
- input = "https://doi.org/10.5438/4K3M-NYVG"
156
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
157
- meta = Maremma.from_xml(subject.raw).fetch("resource", {})
158
- response = subject.get_name_identifiers(meta.dig("creators", "creator"))
159
- expect(response).to eq(["https://orcid.org/0000-0003-1419-2405"])
160
- end
161
-
162
- it "has no ORCID" do
163
- input = "https://doi.org/10.4230/lipics.tqc.2013.93"
164
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
165
- meta = Maremma.from_xml(subject.raw).fetch("resource", {})
166
- response = subject.get_name_identifiers(meta.dig("creators", "creator"))
167
- expect(response).to be_empty
168
- end
169
-
170
- it "has jacow.org scheme" do
171
- input = "https://doi.org/10.18429/JACOW-IPAC2016-TUPMY003"
172
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
173
- meta = Maremma.from_xml(subject.raw).fetch("resource", {})
174
- response = subject.get_name_identifiers(meta.dig("creators", "creator").first)
175
- expect(response).to eq(["http://jacow.org/JACoW-00077389"])
176
- end
177
-
178
- it "has multiple name_identifier" do
179
- input = "https://doi.org/10.24350/CIRM.V.19028803"
180
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
181
- meta = Maremma.from_xml(subject.raw).fetch("resource", {})
182
- response = subject.get_name_identifiers(meta.dig("creators", "creator"))
183
- expect(response).to eq(["https://orcid.org/0000-0003-4514-4211", "http://isni.org/isni/0000-0003-5752-6882"])
153
+ expect(subject.creators.first).to eq("nameType" => "Personal", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
184
154
  end
185
155
  end
186
156
 
@@ -71,7 +71,7 @@ describe Bolognese::CLI do
71
71
 
72
72
  it 'to datacite_json' do
73
73
  subject.options = { to: "datacite_json" }
74
- expect { subject.convert input }.to output(/François Renaud/).to_stdout
74
+ expect { subject.convert input }.to output(/Renaud, François/).to_stdout
75
75
  end
76
76
 
77
77
  it 'to citation' do
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "id": "https://doi.org/10.5281/zenodo.48440",
3
3
  "doi": "10.5281/zenodo.48440",
4
+ "identifiers": [
5
+ {
6
+ "identifierType": "DOI",
7
+ "Identifier": "https://doi.org/10.5281/zenodo.48440"
8
+ },
9
+ {
10
+ "identifierType": "URL",
11
+ "Identifier": "http://zenodo.org/record/48440"
12
+ }
13
+ ],
4
14
  "types":{
5
15
  "resourceTypeGeneral": "Software",
6
16
  "resourceType": "Software",
@@ -35,10 +45,6 @@
35
45
  "dateType": "Issued"
36
46
  },
37
47
  "publication_year": "2016",
38
- "alternate_identifiers": [{
39
- "alternativeIdentifierType": "URL",
40
- "alternativeIdentifier": "http://zenodo.org/record/48440"
41
- }],
42
48
  "rights_list": [{
43
49
  "rights": "Open Access"
44
50
  },
@@ -0,0 +1,163 @@
1
+ <resource xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd"
2
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xmlns="http://datacite.org/schema/kernel-4">
4
+ <script/>
5
+ <identifier identifierType="DOI">10.5072/example-polygon</identifier>
6
+ <creators>
7
+ <creator>
8
+ <creatorName nameType="Personal">den Heijer, C</creatorName>
9
+ </creator>
10
+ </creators>
11
+ <titles>
12
+ <title xml:lang="en">Meteo measurements at the Sand Motor</title>
13
+ </titles>
14
+ <publisher>4TU.Centre for Research Data</publisher>
15
+ <publicationYear>2017</publicationYear>
16
+ <resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
17
+ <formats>
18
+ <format>application/x-netcdf</format>
19
+ </formats>
20
+ <geoLocations>
21
+ <geoLocation>
22
+ <geoLocationPlace>Zandmotor, sand suppletion area on the Dutch coast.</geoLocationPlace>
23
+ <geoLocationPolygon>
24
+ <polygonPoint>
25
+ <pointLongitude>4.1738852605822</pointLongitude>
26
+ <pointLatitude>52.03913926329928</pointLatitude>
27
+ </polygonPoint>
28
+ <polygonPoint>
29
+ <pointLongitude>4.177180694215117</pointLongitude>
30
+ <pointLatitude>52.04164225918711</pointLatitude>
31
+ </polygonPoint>
32
+ <polygonPoint>
33
+ <pointLongitude>4.180535246850687</pointLongitude>
34
+ <pointLatitude>52.04399625464452</pointLatitude>
35
+ </polygonPoint>
36
+ <polygonPoint>
37
+ <pointLongitude>4.184849833488133</pointLongitude>
38
+ <pointLatitude>52.04692936720903</pointLatitude>
39
+ </polygonPoint>
40
+ <polygonPoint>
41
+ <pointLongitude>4.188676339698225</pointLongitude>
42
+ <pointLatitude>52.04967415251541</pointLatitude>
43
+ </polygonPoint>
44
+ <polygonPoint>
45
+ <pointLongitude>4.191534369184121</pointLongitude>
46
+ <pointLatitude>52.05170714064434</pointLatitude>
47
+ </polygonPoint>
48
+ <polygonPoint>
49
+ <pointLongitude>4.194175770686163</pointLongitude>
50
+ <pointLatitude>52.05334245636797</pointLatitude>
51
+ </polygonPoint>
52
+ <polygonPoint>
53
+ <pointLongitude>4.195777670597483</pointLongitude>
54
+ <pointLatitude>52.05421289062893</pointLatitude>
55
+ </polygonPoint>
56
+ <polygonPoint>
57
+ <pointLongitude>4.197318856770764</pointLongitude>
58
+ <pointLatitude>52.05560708986616</pointLatitude>
59
+ </polygonPoint>
60
+ <polygonPoint>
61
+ <pointLongitude>4.197244535290235</pointLongitude>
62
+ <pointLatitude>52.05647414552436</pointLatitude>
63
+ </polygonPoint>
64
+ <polygonPoint>
65
+ <pointLongitude>4.194878372206108</pointLongitude>
66
+ <pointLatitude>52.05558026532434</pointLatitude>
67
+ </polygonPoint>
68
+ <polygonPoint>
69
+ <pointLongitude>4.192275513207293</pointLongitude>
70
+ <pointLatitude>52.0540037664795</pointLatitude>
71
+ </polygonPoint>
72
+ <polygonPoint>
73
+ <pointLongitude>4.190139539757181</pointLongitude>
74
+ <pointLatitude>52.05338309097328</pointLatitude>
75
+ </polygonPoint>
76
+ <polygonPoint>
77
+ <pointLongitude>4.188563539343029</pointLongitude>
78
+ <pointLatitude>52.05409113125509</pointLatitude>
79
+ </polygonPoint>
80
+ <polygonPoint>
81
+ <pointLongitude>4.188843259016792</pointLongitude>
82
+ <pointLatitude>52.05555708237333</pointLatitude>
83
+ </polygonPoint>
84
+ <polygonPoint>
85
+ <pointLongitude>4.190440325374933</pointLongitude>
86
+ <pointLatitude>52.05648630398393</pointLatitude>
87
+ </polygonPoint>
88
+ <polygonPoint>
89
+ <pointLongitude>4.193486805620985</pointLongitude>
90
+ <pointLatitude>52.05721863750948</pointLatitude>
91
+ </polygonPoint>
92
+ <polygonPoint>
93
+ <pointLongitude>4.195782715369962</pointLongitude>
94
+ <pointLatitude>52.05905125521555</pointLatitude>
95
+ </polygonPoint>
96
+ <polygonPoint>
97
+ <pointLongitude>4.196042562042681</pointLongitude>
98
+ <pointLatitude>52.0603024859894</pointLatitude>
99
+ </polygonPoint>
100
+ <polygonPoint>
101
+ <pointLongitude>4.194522303279684</pointLongitude>
102
+ <pointLatitude>52.06042019458354</pointLatitude>
103
+ </polygonPoint>
104
+ <polygonPoint>
105
+ <pointLongitude>4.191569341305619</pointLongitude>
106
+ <pointLatitude>52.05985079275935</pointLatitude>
107
+ </polygonPoint>
108
+ <polygonPoint>
109
+ <pointLongitude>4.188970128279688</pointLongitude>
110
+ <pointLatitude>52.05933203100292</pointLatitude>
111
+ </polygonPoint>
112
+ <polygonPoint>
113
+ <pointLongitude>4.185846614849885</pointLongitude>
114
+ <pointLatitude>52.05849919443985</pointLatitude>
115
+ </polygonPoint>
116
+ <polygonPoint>
117
+ <pointLongitude>4.183766834165052</pointLongitude>
118
+ <pointLatitude>52.05768273662148</pointLatitude>
119
+ </polygonPoint>
120
+ <polygonPoint>
121
+ <pointLongitude>4.182190558076597</pointLongitude>
122
+ <pointLatitude>52.05665770545129</pointLatitude>
123
+ </polygonPoint>
124
+ <polygonPoint>
125
+ <pointLongitude>4.180730516454513</pointLongitude>
126
+ <pointLatitude>52.05512223937299</pointLatitude>
127
+ </polygonPoint>
128
+ <polygonPoint>
129
+ <pointLongitude>4.179642892536666</pointLongitude>
130
+ <pointLatitude>52.05335222714644</pointLatitude>
131
+ </polygonPoint>
132
+ <polygonPoint>
133
+ <pointLongitude>4.178442502618839</pointLongitude>
134
+ <pointLatitude>52.05152018985662</pointLatitude>
135
+ </polygonPoint>
136
+ <polygonPoint>
137
+ <pointLongitude>4.1774713992764</pointLongitude>
138
+ <pointLatitude>52.04954999812316</pointLatitude>
139
+ </polygonPoint>
140
+ <polygonPoint>
141
+ <pointLongitude>4.176346178024046</pointLongitude>
142
+ <pointLatitude>52.04728138670279</pointLatitude>
143
+ </polygonPoint>
144
+ <polygonPoint>
145
+ <pointLongitude>4.175182683314049</pointLongitude>
146
+ <pointLatitude>52.04497104660534</pointLatitude>
147
+ </polygonPoint>
148
+ <polygonPoint>
149
+ <pointLongitude>4.173373650824841</pointLongitude>
150
+ <pointLatitude>52.04226286332442</pointLatitude>
151
+ </polygonPoint>
152
+ <polygonPoint>
153
+ <pointLongitude>4.173204764844041</pointLongitude>
154
+ <pointLatitude>52.04016615926179</pointLatitude>
155
+ </polygonPoint>
156
+ <polygonPoint>
157
+ <pointLongitude>4.1738852605822</pointLongitude>
158
+ <pointLatitude>52.03913926329928</pointLatitude>
159
+ </polygonPoint>
160
+ </geoLocationPolygon>
161
+ </geoLocation>
162
+ </geoLocations>
163
+ </resource>
@@ -0,0 +1,41 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
3
+ <identifier identifierType="DOI">10.5438/4K3M-NYVG</identifier>
4
+ <creators>
5
+ <creator>
6
+ <creatorName>Fenner, Martin</creatorName>
7
+ <givenName>Martin</givenName>
8
+ <familyName>Fenner</familyName>
9
+ <nameIdentifier schemeURI="http://orcid.org/" nameIdentifierScheme="ORCID">0000-0003-1419-2405</nameIdentifier>
10
+ </creator>
11
+ </creators>
12
+ <titles>
13
+ <title>Eating your own Dog Food</title>
14
+ </titles>
15
+ <publisher>DataCite</publisher>
16
+ <publicationYear>2016</publicationYear>
17
+ <resourceType resourceTypeGeneral="Text">BlogPosting</resourceType>
18
+ <alternateIdentifiers>
19
+ <alternateIdentifier alternateIdentifierType="Local accession number">MS-49-3632-5083</alternateIdentifier>
20
+ </alternateIdentifiers>
21
+ <subjects>
22
+ <subject>datacite</subject>
23
+ <subject>doi</subject>
24
+ <subject>metadata</subject>
25
+ </subjects>
26
+ <dates>
27
+ <date dateType="Created">2016-12-20</date>
28
+ <date dateType="Issued">2016-12-20</date>
29
+ <date dateType="Updated">2016-12-20</date>
30
+ </dates>
31
+ <relatedIdentifiers>
32
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="References">10.5438/0012</relatedIdentifier>
33
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="References">10.5438/55E5-T5C0</relatedIdentifier>
34
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="IsPartOf">10.5438/0000-00SS</relatedIdentifier>
35
+ </relatedIdentifiers>
36
+ <version>1.0</version>
37
+ <descriptions>
38
+ <description descriptionType="SeriesInformation" xml:lang="en">DataCite Blog, 2(9), 3-4</description>
39
+ <description descriptionType="Abstract">Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...</description>
40
+ </descriptions>
41
+ </resource>
@@ -8,7 +8,17 @@
8
8
  "bibtex": "article",
9
9
  "ris": "RPRT"
10
10
  },
11
- "doi": "10.5438/4K3M-NYVG",
11
+ "doi": "10.5438/4k3m-nyvg",
12
+ "identifiers": [
13
+ {
14
+ "identifierType": "DOI",
15
+ "identifier": "https://doi.org/10.5438/4k3m-nyvg"
16
+ },
17
+ {
18
+ "identifierType": "Local accession number",
19
+ "identifier": "MS-49-3632-5083"
20
+ }
21
+ ],
12
22
  "creators": [{
13
23
  "type": "Person",
14
24
  "id": "http://orcid.org/0000-0003-1419-2405",
@@ -46,12 +56,6 @@
46
56
  "date": "2016-12-20"
47
57
  }
48
58
  ],
49
- "alternateIdentifiers": [
50
- {
51
- "alternateIdentifierType": "Local accession number",
52
- "alternateIdentifier": "MS-49-3632-5083"
53
- }
54
- ],
55
59
  "relatedIdentifiers": [
56
60
  {
57
61
  "relatedIdentifier": "10.5438/0000-00ss",
@@ -75,5 +79,5 @@
75
79
  "description": "Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for..."
76
80
  }],
77
81
  "schemaVersion": "http://datacite.org/schema/kernel-4",
78
- "provider": "DataCite"
82
+ "agency": "DataCite"
79
83
  }