bolognese 1.0.10 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/readers/bibtex_reader.rb +4 -4
- data/lib/bolognese/readers/datacite_reader.rb +6 -6
- data/lib/bolognese/readers/schema_org_reader.rb +2 -2
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/datacite-geolocation-empty.xml +159 -0
- data/spec/fixtures/datacite-multiple-language.xml +38 -0
- data/spec/readers/datacite_reader_spec.rb +19 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c9c9b6ae436d5c28cc42cf4d8016241d662f204513421100107336745aee23e
|
4
|
+
data.tar.gz: 651aae07a34751e4adf64939530641f42c6fb781741fbfab7284a92e079518f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a68a022bf10284fd457cd4a0ac5a2f8189b9da5fb518997642c2c0e3589da1377cc8559fc39816bfb7a8754af4c1e7610038629e626579c4025c86bc1a636a02
|
7
|
+
data.tar.gz: 9bb5a682e638852461a0f7c87dfd5b75a634e80204047acaae50ae99c5e417bfd1fd07f704238e57bd626a309eab9d0ee177b94a205b45efc84b2804b3680423
|
data/Gemfile.lock
CHANGED
@@ -78,8 +78,8 @@ module Bolognese
|
|
78
78
|
{ "id" => normalize_doi(doi),
|
79
79
|
"types" => types,
|
80
80
|
"doi" => doi,
|
81
|
-
"url" => meta.try(:url).to_s,
|
82
|
-
"titles" => [{ "title" => meta.try(:title).to_s }],
|
81
|
+
"url" => meta.try(:url).to_s.presence,
|
82
|
+
"titles" => meta.try(:title).present? ? [{ "title" => meta.try(:title).to_s }] : [],
|
83
83
|
"creator" => author,
|
84
84
|
"periodical" => periodical,
|
85
85
|
"publisher" => meta.try(:publisher).to_s.presence,
|
@@ -89,8 +89,8 @@ module Bolognese
|
|
89
89
|
"volume" => meta.try(:volume).to_s.presence,
|
90
90
|
"page_first" => page_first,
|
91
91
|
"page_last" => page_last,
|
92
|
-
"descriptions" => [{ "description" => meta.try(:abstract) && sanitize(meta.abstract.to_s).presence, "descriptionType" => "Abstract" }],
|
93
|
-
"rights_list" => [{ "rightsUri" => meta.try(:copyright).to_s.presence }.compact],
|
92
|
+
"descriptions" => meta.try(:abstract).present? ? [{ "description" => meta.try(:abstract) && sanitize(meta.abstract.to_s).presence, "descriptionType" => "Abstract" }] : [],
|
93
|
+
"rights_list" => meta.try(:copyright).present? ? [{ "rightsUri" => meta.try(:copyright).to_s.presence }.compact] : [],
|
94
94
|
"state" => state
|
95
95
|
}
|
96
96
|
end
|
@@ -147,7 +147,7 @@ module Bolognese
|
|
147
147
|
}.compact
|
148
148
|
end
|
149
149
|
geo_locations = Array.wrap(meta.dig("geoLocations", "geoLocation")).map do |gl|
|
150
|
-
if gl["geoLocationPoint"].is_a?(String) || gl["geoLocationBox"].is_a?(String)
|
150
|
+
if !gl.is_a?(Hash) || gl["geoLocationPoint"].is_a?(String) || gl["geoLocationBox"].is_a?(String)
|
151
151
|
nil
|
152
152
|
else
|
153
153
|
{
|
@@ -164,7 +164,7 @@ module Bolognese
|
|
164
164
|
"geoLocationPlace" => gl["geoLocationPlace"],
|
165
165
|
}.compact
|
166
166
|
end
|
167
|
-
end
|
167
|
+
end.compact
|
168
168
|
periodical = set_periodical(meta)
|
169
169
|
state = doi.present? ? "findable" : "not_found"
|
170
170
|
|
@@ -172,7 +172,7 @@ module Bolognese
|
|
172
172
|
"types" => types,
|
173
173
|
"doi" => doi,
|
174
174
|
"alternate_identifiers" => alternate_identifiers,
|
175
|
-
"url" => options.fetch(:url, nil),
|
175
|
+
"url" => options.fetch(:url, nil).to_s.strip.presence,
|
176
176
|
"titles" => titles,
|
177
177
|
"creator" => get_authors(Array.wrap(meta.dig("creators", "creator"))),
|
178
178
|
"contributor" => get_authors(Array.wrap(meta.dig("contributors", "contributor"))),
|
@@ -181,12 +181,12 @@ module Bolognese
|
|
181
181
|
"source" => "DataCite",
|
182
182
|
"funding_references" => funding_references,
|
183
183
|
"dates" => dates,
|
184
|
-
"publication_year" => meta.fetch("publicationYear", nil),
|
184
|
+
"publication_year" => meta.fetch("publicationYear", nil).to_s.presence,
|
185
185
|
"descriptions" => descriptions,
|
186
186
|
"rights_list" => rights_list,
|
187
|
-
"version" => meta.fetch("version", nil),
|
187
|
+
"version" => meta.fetch("version", nil).to_s.presence,
|
188
188
|
"subjects" => subjects,
|
189
|
-
"language" => meta.fetch("language", nil),
|
189
|
+
"language" => meta.fetch("language", nil).to_s.presence,
|
190
190
|
"geo_locations" => geo_locations,
|
191
191
|
"related_identifiers" => related_identifiers,
|
192
192
|
"formats" => formats,
|
@@ -153,10 +153,10 @@ module Bolognese
|
|
153
153
|
"dates" => dates,
|
154
154
|
"descriptions" => meta.fetch("description", nil).present? ? [{ "description" => sanitize(meta.fetch("description")), "descriptionType" => "Abstract" }] : nil,
|
155
155
|
"rights_list" => rights_list,
|
156
|
-
"version" => meta.fetch("version", nil),
|
156
|
+
"version" => meta.fetch("version", nil).to_s.presence,
|
157
157
|
"subjects" => subjects,
|
158
158
|
"state" => state,
|
159
|
-
"schema_version" => meta.fetch("schemaVersion", nil),
|
159
|
+
"schema_version" => meta.fetch("schemaVersion", nil).to_s.presence,
|
160
160
|
"funding_references" => funding_references,
|
161
161
|
"geo_locations" => geo_locations
|
162
162
|
}
|
data/lib/bolognese/version.rb
CHANGED
@@ -0,0 +1,159 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<resource xmlns="http://datacite.org/schema/kernel-4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
|
3
|
+
<identifier identifierType="DOI">10.1594/IEDA/111185</identifier>
|
4
|
+
<creators>
|
5
|
+
<creator>
|
6
|
+
<creatorName>Carlos P Carvajal</creatorName>
|
7
|
+
<givenName>Carlos</givenName>
|
8
|
+
<familyName>Carvajal</familyName>
|
9
|
+
</creator>
|
10
|
+
<creator>
|
11
|
+
<creatorName>Gerilyn S Soreghan</creatorName>
|
12
|
+
<givenName>Gerilyn</givenName>
|
13
|
+
<familyName>Soreghan</familyName>
|
14
|
+
</creator>
|
15
|
+
<creator>
|
16
|
+
<creatorName>Peter E Isaacson</creatorName>
|
17
|
+
<givenName>Peter</givenName>
|
18
|
+
<familyName>Isaacson</familyName>
|
19
|
+
</creator>
|
20
|
+
</creators>
|
21
|
+
<titles>
|
22
|
+
<title>Geochemical and grain-size analyses of atmospheric dusts from Pennsylvanian carbonates of the Copacabana Formation (Madre de Dios Basin, Bolivia)</title>
|
23
|
+
</titles>
|
24
|
+
<publisher>EarthChem</publisher>
|
25
|
+
<publicationYear>2018</publicationYear>
|
26
|
+
<subjects>
|
27
|
+
<subject subjectScheme="coverage scope">Global</subject>
|
28
|
+
</subjects>
|
29
|
+
<dates>
|
30
|
+
<date dateType="Available">2018-06-21</date>
|
31
|
+
<date dateType="Created">2018-06-20</date>
|
32
|
+
</dates>
|
33
|
+
<language>en</language>
|
34
|
+
<resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
|
35
|
+
<alternateIdentifiers>
|
36
|
+
<alternateIdentifier alternateIdentifierType="URL">http://www.earthchem.org/library/browse/view?id=1185</alternateIdentifier>
|
37
|
+
</alternateIdentifiers>
|
38
|
+
<relatedIdentifiers>
|
39
|
+
<relatedIdentifier relatedIdentifierType="DOI" relationType="IsReferencedBy">10.1016/j.gr.2018.02.007</relatedIdentifier>
|
40
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0001</relatedIdentifier>
|
41
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0002</relatedIdentifier>
|
42
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0003</relatedIdentifier>
|
43
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0004</relatedIdentifier>
|
44
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0005</relatedIdentifier>
|
45
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0006</relatedIdentifier>
|
46
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0007</relatedIdentifier>
|
47
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0008</relatedIdentifier>
|
48
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0009</relatedIdentifier>
|
49
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000A</relatedIdentifier>
|
50
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000B</relatedIdentifier>
|
51
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000C</relatedIdentifier>
|
52
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000D</relatedIdentifier>
|
53
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000E</relatedIdentifier>
|
54
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000F</relatedIdentifier>
|
55
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000G</relatedIdentifier>
|
56
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000H</relatedIdentifier>
|
57
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000I</relatedIdentifier>
|
58
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000J</relatedIdentifier>
|
59
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000K</relatedIdentifier>
|
60
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000L</relatedIdentifier>
|
61
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000M</relatedIdentifier>
|
62
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000N</relatedIdentifier>
|
63
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000O</relatedIdentifier>
|
64
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000P</relatedIdentifier>
|
65
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000Q</relatedIdentifier>
|
66
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000R</relatedIdentifier>
|
67
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000S</relatedIdentifier>
|
68
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000T</relatedIdentifier>
|
69
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000U</relatedIdentifier>
|
70
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000V</relatedIdentifier>
|
71
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000W</relatedIdentifier>
|
72
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000X</relatedIdentifier>
|
73
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000Y</relatedIdentifier>
|
74
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM000Z</relatedIdentifier>
|
75
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0010</relatedIdentifier>
|
76
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0011</relatedIdentifier>
|
77
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0012</relatedIdentifier>
|
78
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0013</relatedIdentifier>
|
79
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0014</relatedIdentifier>
|
80
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0015</relatedIdentifier>
|
81
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0016</relatedIdentifier>
|
82
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0017</relatedIdentifier>
|
83
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0018</relatedIdentifier>
|
84
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0019</relatedIdentifier>
|
85
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001A</relatedIdentifier>
|
86
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001B</relatedIdentifier>
|
87
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001C</relatedIdentifier>
|
88
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001D</relatedIdentifier>
|
89
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001E</relatedIdentifier>
|
90
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001F</relatedIdentifier>
|
91
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001G</relatedIdentifier>
|
92
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001H</relatedIdentifier>
|
93
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001I</relatedIdentifier>
|
94
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001J</relatedIdentifier>
|
95
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001K</relatedIdentifier>
|
96
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001L</relatedIdentifier>
|
97
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001M</relatedIdentifier>
|
98
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001N</relatedIdentifier>
|
99
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001O</relatedIdentifier>
|
100
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001P</relatedIdentifier>
|
101
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001Q</relatedIdentifier>
|
102
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001R</relatedIdentifier>
|
103
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001S</relatedIdentifier>
|
104
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001T</relatedIdentifier>
|
105
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001U</relatedIdentifier>
|
106
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001V</relatedIdentifier>
|
107
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001W</relatedIdentifier>
|
108
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001X</relatedIdentifier>
|
109
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001Y</relatedIdentifier>
|
110
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM001Z</relatedIdentifier>
|
111
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0020</relatedIdentifier>
|
112
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0021</relatedIdentifier>
|
113
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0022</relatedIdentifier>
|
114
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0023</relatedIdentifier>
|
115
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0024</relatedIdentifier>
|
116
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0025</relatedIdentifier>
|
117
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0026</relatedIdentifier>
|
118
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0027</relatedIdentifier>
|
119
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0028</relatedIdentifier>
|
120
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM0029</relatedIdentifier>
|
121
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002A</relatedIdentifier>
|
122
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002B</relatedIdentifier>
|
123
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002C</relatedIdentifier>
|
124
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002D</relatedIdentifier>
|
125
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002E</relatedIdentifier>
|
126
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002F</relatedIdentifier>
|
127
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002G</relatedIdentifier>
|
128
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002H</relatedIdentifier>
|
129
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002I</relatedIdentifier>
|
130
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002J</relatedIdentifier>
|
131
|
+
<relatedIdentifier relatedIdentifierType="IGSN" relationType="References">IEBMM002K</relatedIdentifier>
|
132
|
+
</relatedIdentifiers>
|
133
|
+
<formats>
|
134
|
+
<format>application/vnd.ms-excel</format>
|
135
|
+
</formats>
|
136
|
+
<version>1.0</version>
|
137
|
+
<rightsList>
|
138
|
+
<rights rightsURI="https://creativecommons.org/licenses/by-nc-sa/3.0/us/">Creative Commons Attribution-NonCommercial-Share Alike 3.0 United States [CC BY-NC-SA 3.0]</rights>
|
139
|
+
</rightsList>
|
140
|
+
<descriptions>
|
141
|
+
<description descriptionType="Abstract">This dataset documents the geochemical and grain-size characteristics of atmospheric dust from Pennsylvanian carbonates of the Copacabana Formation, recovered in core (Mobil-Oxy Manuripi X-1) from the Madre de Dios basin (Bolivia), within southern mid-latitudes (~35˚S) of western Gondwana. Provenance indicates two discrete sources of atmospheric input–a western volcanic arc source and eastern continental source, recording both westerly (zonal) and easterly (katabatic) wind directions.</description>
|
142
|
+
<description descriptionType="Other">Carvajal, C.P., Soreghan, G. S, Isaacson, P. E., Hinnov, L.A., Hamilton, M. A., Heavens, N.G., (2018) Climatic and volcanic events recorded in atmospheric dust from the Late Pennsylvanian Copacabana Formation (Bolivia) of Western Gondwana. Gondwana Research, v 58, p 105-121.</description>
|
143
|
+
</descriptions>
|
144
|
+
<fundingReferences>
|
145
|
+
<fundingReference>
|
146
|
+
<awardNumber awardURI="http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=1338331">1338331</awardNumber>
|
147
|
+
<funderName>National Science Foundation</funderName>
|
148
|
+
</fundingReference>
|
149
|
+
</fundingReferences>
|
150
|
+
<geoLocations>
|
151
|
+
<geoLocation/>
|
152
|
+
<geoLocation>
|
153
|
+
<geoLocationPoint>
|
154
|
+
<pointLongitude>-68.2975</pointLongitude>
|
155
|
+
<pointLatitude>-11.64583333</pointLatitude>
|
156
|
+
</geoLocationPoint>
|
157
|
+
</geoLocation>
|
158
|
+
</geoLocations>
|
159
|
+
</resource>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<resource xmlns="http://datacite.org/schema/kernel-2.2" xmlns:dspace="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://datacite.org/schema/kernel-2.2 http://schema.datacite.org/meta/kernel-2.2/metadata.xsd">
|
3
|
+
<identifier identifierType="DOI">10.15496/PUBLIKATION-11792</identifier>
|
4
|
+
<creators>
|
5
|
+
<creator>
|
6
|
+
<creatorName>Ong, Peter Emanuel</creatorName>
|
7
|
+
</creator>
|
8
|
+
</creators>
|
9
|
+
<titles>
|
10
|
+
<title>Koronare Vasomotionsstörungen bei Patienten mit Angina pectoris und nicht-stenosierten Koronararterien</title>
|
11
|
+
</titles>
|
12
|
+
<publisher>Universitätsbibliothek Tübingen</publisher>
|
13
|
+
<publisher>University Library Tübingen</publisher>
|
14
|
+
<publicationYear>2015</publicationYear>
|
15
|
+
<publicationYear>2016</publicationYear>
|
16
|
+
<subjects>
|
17
|
+
<subject subjectScheme="ddc">610</subject>
|
18
|
+
</subjects>
|
19
|
+
<contributors>
|
20
|
+
<contributor contributorType="DataManager">
|
21
|
+
<contributorName>Universitätsbibliothek Tübingen</contributorName>
|
22
|
+
</contributor>
|
23
|
+
<contributor contributorType="HostingInstitution">
|
24
|
+
<contributorName>Universitätsbibliothek Tübingen</contributorName>
|
25
|
+
</contributor>
|
26
|
+
</contributors>
|
27
|
+
<dates>
|
28
|
+
<date dateType="Issued">2016-06-09</date>
|
29
|
+
<date dateType="Available">2016-06-09</date>
|
30
|
+
<date dateType="Issued">2015</date>
|
31
|
+
</dates>
|
32
|
+
<language>de</language>
|
33
|
+
<language>en</language>
|
34
|
+
<resourceType resourceTypeGeneral="Collection">Habilitation</resourceType>
|
35
|
+
<alternateIdentifiers>
|
36
|
+
<alternateIdentifier alternateIdentifierType="uri">http://hdl.handle.net/10900/70377</alternateIdentifier>
|
37
|
+
</alternateIdentifiers>
|
38
|
+
</resource>
|
@@ -176,6 +176,25 @@ describe Bolognese::Metadata, vcr: true do
|
|
176
176
|
expect(subject.errors).to eq("2:0: ERROR: Element '{http://datacite.org/schema/kernel-4}resource': Missing child element(s). Expected is one of ( {http://datacite.org/schema/kernel-4}resourceType, {http://datacite.org/schema/kernel-4}subjects, {http://datacite.org/schema/kernel-4}contributors, {http://datacite.org/schema/kernel-4}language, {http://datacite.org/schema/kernel-4}alternateIdentifiers, {http://datacite.org/schema/kernel-4}relatedIdentifiers, {http://datacite.org/schema/kernel-4}sizes, {http://datacite.org/schema/kernel-4}formats, {http://datacite.org/schema/kernel-4}rightsList, {http://datacite.org/schema/kernel-4}descriptions ).")
|
177
177
|
end
|
178
178
|
|
179
|
+
it "multiple languages" do
|
180
|
+
input = fixture_path + 'datacite-multiple-language.xml'
|
181
|
+
subject = Bolognese::Metadata.new(input: input)
|
182
|
+
expect(subject.types["schemaOrg"]).to eq("Collection")
|
183
|
+
expect(subject.language).to eq("[\"de\", \"en\"]")
|
184
|
+
expect(subject.publisher).to eq("[\"Universitätsbibliothek Tübingen\", \"University Library Tübingen\"]")
|
185
|
+
expect(subject.publication_year).to eq("[\"2015\", \"2016\"]")
|
186
|
+
expect(subject.valid?).to be false
|
187
|
+
expect(subject.errors).to eq("13:0: ERROR: Element '{http://datacite.org/schema/kernel-2.2}publisher': This element is not expected. Expected is ( {http://datacite.org/schema/kernel-2.2}publicationYear ).")
|
188
|
+
end
|
189
|
+
|
190
|
+
it "geo_location empty" do
|
191
|
+
input = fixture_path + 'datacite-geolocation-empty.xml'
|
192
|
+
subject = Bolognese::Metadata.new(input: input)
|
193
|
+
expect(subject.valid?).to be true
|
194
|
+
expect(subject.types["schemaOrg"]).to eq("Dataset")
|
195
|
+
expect(subject.geo_locations).to eq([{"geoLocationPoint"=>{"pointLatitude"=>"-11.64583333", "pointLongitude"=>"-68.2975"}}])
|
196
|
+
end
|
197
|
+
|
179
198
|
it "schema 4.0" do
|
180
199
|
input = fixture_path + 'schema_4.0.xml'
|
181
200
|
subject = Bolognese::Metadata.new(input: input)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
@@ -671,7 +671,9 @@ files:
|
|
671
671
|
- spec/fixtures/datacite-example-complicated-v4.1.xml
|
672
672
|
- spec/fixtures/datacite-example-geolocation-2.xml
|
673
673
|
- spec/fixtures/datacite-example-geolocation.xml
|
674
|
+
- spec/fixtures/datacite-geolocation-empty.xml
|
674
675
|
- spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml
|
676
|
+
- spec/fixtures/datacite-multiple-language.xml
|
675
677
|
- spec/fixtures/datacite.json
|
676
678
|
- spec/fixtures/datacite.xml
|
677
679
|
- spec/fixtures/datacite_dataset.xml
|