bolognese 0.9.96 → 0.9.97
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/datacite_utils.rb +2 -2
- data/lib/bolognese/metadata.rb +87 -0
- data/lib/bolognese/metadata_utils.rb +17 -102
- data/lib/bolognese/version.rb +1 -1
- data/spec/readers/bibtex_reader_spec.rb +2 -2
- data/spec/readers/citeproc_reader_spec.rb +1 -1
- data/spec/readers/codemeta_reader_spec.rb +3 -3
- data/spec/readers/crosscite_reader_spec.rb +2 -2
- data/spec/readers/crossref_reader_spec.rb +10 -10
- data/spec/readers/datacite_json_reader_spec.rb +1 -1
- data/spec/readers/datacite_reader_spec.rb +25 -25
- data/spec/readers/ris_reader_spec.rb +2 -2
- data/spec/readers/schema_org_reader_spec.rb +7 -7
- data/spec/writers/datacite_writer_spec.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e0934c41291533eceeaf3993f6fa4ea1187f00a803dda629499bcaaac66c927
|
4
|
+
data.tar.gz: 3f6c5a43da5797dc333eff72e5e5e6b195ad4d6c7724e3c17d30ea6e5dbc09f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b488400d7ac418d56df127c9566f06103cf0ebf5aa4f6ad9465e70ec9d7adb126b486541e9cb840588323d493f1620f4dbcbcab44614da84955430d119a902a
|
7
|
+
data.tar.gz: 1276d995665ffde0d217677306404802fae09b219687bf43845be78948a1ad5606bc94a548737dc9b67d9c536f96d063e8cae9f3f02b8f965a195bb41c8e8b0c
|
data/Gemfile.lock
CHANGED
data/lib/bolognese/metadata.rb
CHANGED
@@ -1,9 +1,59 @@
|
|
1
1
|
require_relative 'metadata_utils'
|
2
2
|
|
3
|
+
require_relative 'readers/bibtex_reader'
|
4
|
+
require_relative 'readers/citeproc_reader'
|
5
|
+
require_relative 'readers/codemeta_reader'
|
6
|
+
require_relative 'readers/crosscite_reader'
|
7
|
+
require_relative 'readers/crossref_reader'
|
8
|
+
require_relative 'readers/datacite_json_reader'
|
9
|
+
require_relative 'readers/datacite_reader'
|
10
|
+
require_relative 'readers/ris_reader'
|
11
|
+
require_relative 'readers/schema_org_reader'
|
12
|
+
|
13
|
+
require_relative 'writers/bibtex_writer'
|
14
|
+
require_relative 'writers/citation_writer'
|
15
|
+
require_relative 'writers/citeproc_writer'
|
16
|
+
require_relative 'writers/codemeta_writer'
|
17
|
+
require_relative 'writers/crosscite_writer'
|
18
|
+
require_relative 'writers/crossref_writer'
|
19
|
+
require_relative 'writers/datacite_writer'
|
20
|
+
require_relative 'writers/datacite_json_writer'
|
21
|
+
require_relative 'writers/jats_writer'
|
22
|
+
require_relative 'writers/rdf_xml_writer'
|
23
|
+
require_relative 'writers/ris_writer'
|
24
|
+
require_relative 'writers/schema_org_writer'
|
25
|
+
require_relative 'writers/turtle_writer'
|
26
|
+
|
3
27
|
module Bolognese
|
4
28
|
class Metadata
|
29
|
+
include Bolognese::Readers::BibtexReader
|
30
|
+
include Bolognese::Readers::CiteprocReader
|
31
|
+
include Bolognese::Readers::CodemetaReader
|
32
|
+
include Bolognese::Readers::CrossciteReader
|
33
|
+
include Bolognese::Readers::CrossrefReader
|
34
|
+
include Bolognese::Readers::DataciteReader
|
35
|
+
include Bolognese::Readers::DataciteJsonReader
|
36
|
+
include Bolognese::Readers::RisReader
|
37
|
+
include Bolognese::Readers::SchemaOrgReader
|
38
|
+
|
39
|
+
include Bolognese::Writers::BibtexWriter
|
40
|
+
include Bolognese::Writers::CitationWriter
|
41
|
+
include Bolognese::Writers::CiteprocWriter
|
42
|
+
include Bolognese::Writers::CodemetaWriter
|
43
|
+
include Bolognese::Writers::CrossciteWriter
|
44
|
+
include Bolognese::Writers::CrossrefWriter
|
45
|
+
include Bolognese::Writers::DataciteWriter
|
46
|
+
include Bolognese::Writers::DataciteJsonWriter
|
47
|
+
include Bolognese::Writers::JatsWriter
|
48
|
+
include Bolognese::Writers::RdfXmlWriter
|
49
|
+
include Bolognese::Writers::RisWriter
|
50
|
+
include Bolognese::Writers::SchemaOrgWriter
|
51
|
+
include Bolognese::Writers::TurtleWriter
|
52
|
+
|
5
53
|
include Bolognese::MetadataUtils
|
6
54
|
|
55
|
+
attr_writer :id, :provider_id, :client_id, :doi, :b_url, :b_version,
|
56
|
+
|
7
57
|
def initialize(input: nil, from: nil, **options)
|
8
58
|
id = normalize_id(input, options)
|
9
59
|
|
@@ -53,5 +103,42 @@ module Bolognese
|
|
53
103
|
@provider_id = hsh.to_h["provider_id"].presence
|
54
104
|
@client_id = hsh.to_h["client_id"].presence
|
55
105
|
end
|
106
|
+
|
107
|
+
def id
|
108
|
+
@id ||= meta.fetch("id", nil)
|
109
|
+
end
|
110
|
+
|
111
|
+
def doi
|
112
|
+
@doi ||= @identifier.present? ? doi_from_url(@identifier) : meta.fetch("doi", nil)
|
113
|
+
end
|
114
|
+
|
115
|
+
def b_url
|
116
|
+
@b_url ||= meta.fetch("b_url", nil)
|
117
|
+
end
|
118
|
+
|
119
|
+
def b_version
|
120
|
+
@b_version ||= meta.fetch("b_version", nil)
|
121
|
+
end
|
122
|
+
|
123
|
+
def provider_id
|
124
|
+
@provider_id ||= meta.fetch("provider_id", nil)
|
125
|
+
end
|
126
|
+
|
127
|
+
def client_id
|
128
|
+
@client_id ||= meta.fetch("client_id", nil)
|
129
|
+
end
|
130
|
+
|
131
|
+
def exists?
|
132
|
+
meta.fetch("state", "not_found") != "not_found"
|
133
|
+
end
|
134
|
+
|
135
|
+
def valid?
|
136
|
+
exists? && errors.nil?
|
137
|
+
end
|
138
|
+
|
139
|
+
# validate against DataCite schema, unless there are already errors in the reader
|
140
|
+
def errors
|
141
|
+
meta.fetch("errors", nil) || datacite_errors(xml: datacite, schema_version: schema_version)
|
142
|
+
end
|
56
143
|
end
|
57
144
|
end
|
@@ -3,30 +3,6 @@ require_relative 'author_utils'
|
|
3
3
|
require_relative 'datacite_utils'
|
4
4
|
require_relative 'utils'
|
5
5
|
|
6
|
-
require_relative 'readers/bibtex_reader'
|
7
|
-
require_relative 'readers/citeproc_reader'
|
8
|
-
require_relative 'readers/codemeta_reader'
|
9
|
-
require_relative 'readers/crosscite_reader'
|
10
|
-
require_relative 'readers/crossref_reader'
|
11
|
-
require_relative 'readers/datacite_json_reader'
|
12
|
-
require_relative 'readers/datacite_reader'
|
13
|
-
require_relative 'readers/ris_reader'
|
14
|
-
require_relative 'readers/schema_org_reader'
|
15
|
-
|
16
|
-
require_relative 'writers/bibtex_writer'
|
17
|
-
require_relative 'writers/citation_writer'
|
18
|
-
require_relative 'writers/citeproc_writer'
|
19
|
-
require_relative 'writers/codemeta_writer'
|
20
|
-
require_relative 'writers/crosscite_writer'
|
21
|
-
require_relative 'writers/crossref_writer'
|
22
|
-
require_relative 'writers/datacite_writer'
|
23
|
-
require_relative 'writers/datacite_json_writer'
|
24
|
-
require_relative 'writers/jats_writer'
|
25
|
-
require_relative 'writers/rdf_xml_writer'
|
26
|
-
require_relative 'writers/ris_writer'
|
27
|
-
require_relative 'writers/schema_org_writer'
|
28
|
-
require_relative 'writers/turtle_writer'
|
29
|
-
|
30
6
|
module Bolognese
|
31
7
|
module MetadataUtils
|
32
8
|
# include BenchmarkMethods
|
@@ -35,62 +11,25 @@ module Bolognese
|
|
35
11
|
include Bolognese::DataciteUtils
|
36
12
|
include Bolognese::Utils
|
37
13
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
include Bolognese::Writers::DataciteWriter
|
55
|
-
include Bolognese::Writers::DataciteJsonWriter
|
56
|
-
include Bolognese::Writers::JatsWriter
|
57
|
-
include Bolognese::Writers::RdfXmlWriter
|
58
|
-
include Bolognese::Writers::RisWriter
|
59
|
-
include Bolognese::Writers::SchemaOrgWriter
|
60
|
-
include Bolognese::Writers::TurtleWriter
|
61
|
-
|
62
|
-
attr_accessor :string, :identifier, :from, :author,
|
63
|
-
:creator, :title, :publisher, :contributor, :license,
|
64
|
-
:date_accepted, :date_available, :date_copyrighted, :date_collected,
|
65
|
-
:date_submitted, :date_valid, :date_created, :date_modified, :date_updated, :provider_id, :client_id, :journal,
|
66
|
-
:volume, :issue, :first_page, :last_page, :b_doi, :b_url, :b_version, :keywords, :editor,
|
67
|
-
:description, :alternate_name, :language, :content_size, :spatial_coverage,
|
68
|
-
:schema_version, :has_part, :same_as,
|
69
|
-
:is_previous_version_of, :is_new_version_of, :is_cited_by, :cites,
|
70
|
-
:is_supplement_to, :is_supplemented_by, :is_continued_by, :continues,
|
71
|
-
:has_metadata, :is_metadata_for, :is_referenced_by, :references,
|
72
|
-
:is_documented_by, :documents, :is_compiled_by, :compiles,
|
73
|
-
:is_variant_form_of, :is_original_form_of, :is_reviewed_by, :reviews,
|
74
|
-
:is_derived_from, :is_source_of, :format, :funding, :style, :locale, :state, :regenerate, :sandbox
|
14
|
+
attr_accessor :string, :from, :sandbox, :b_doi, :regenerate, :issue, :contributor,
|
15
|
+
:spatial_coverage
|
16
|
+
|
17
|
+
attr_writer :identifier, :author, :title, :publisher, :license,
|
18
|
+
:date_accepted, :date_available, :date_copyrighted, :date_collected,
|
19
|
+
:date_submitted, :date_valid, :date_created, :date_modified, :date_updated,
|
20
|
+
:journal, :volume, :first_page, :last_page,
|
21
|
+
:keywords, :editor, :description, :alternate_name, :language, :content_size,
|
22
|
+
:schema_version, :has_part, :same_as,
|
23
|
+
:is_previous_version_of, :is_new_version_of, :is_cited_by, :cites,
|
24
|
+
:is_supplement_to, :is_supplemented_by, :is_continued_by, :continues,
|
25
|
+
:has_metadata, :is_metadata_for, :is_referenced_by, :references,
|
26
|
+
:is_documented_by, :documents, :is_compiled_by, :compiles,
|
27
|
+
:is_variant_form_of, :is_original_form_of, :is_reviewed_by, :reviews,
|
28
|
+
:is_derived_from, :is_source_of, :format, :funding, :style, :locale, :state,
|
29
|
+
:type, :additional_type, :citeproc_type, :bibtex_type, :ris_type, :meta
|
75
30
|
|
76
31
|
attr_reader :doc, :service_provider, :page_start, :page_end, :related_identifier, :reverse, :name_detector
|
77
32
|
|
78
|
-
attr_writer :id, :type, :additional_type, :citeproc_type, :bibtex_type, :doi,
|
79
|
-
:ris_type, :meta
|
80
|
-
|
81
|
-
def exists?
|
82
|
-
meta.fetch("state", "not_found") != "not_found"
|
83
|
-
end
|
84
|
-
|
85
|
-
def valid?
|
86
|
-
exists? && errors.nil?
|
87
|
-
end
|
88
|
-
|
89
|
-
# validate against DataCite schema, unless there are already errors in the reader
|
90
|
-
def errors
|
91
|
-
meta.fetch("errors", nil) || datacite_errors(xml: datacite, schema_version: schema_version)
|
92
|
-
end
|
93
|
-
|
94
33
|
# replace DOI in XML if provided in options
|
95
34
|
def raw
|
96
35
|
r = string.present? ? string.strip : nil
|
@@ -110,15 +49,11 @@ module Bolognese
|
|
110
49
|
# the id might change
|
111
50
|
def meta
|
112
51
|
m = from.present? ? send("read_" + from, string: string, sandbox: sandbox) : {}
|
113
|
-
@
|
52
|
+
@identifier = b_doi || m.fetch("id", nil) || m.fetch("identifier", nil)
|
114
53
|
|
115
54
|
m
|
116
55
|
end
|
117
56
|
|
118
|
-
def id
|
119
|
-
@id ||= meta.fetch("id", nil)
|
120
|
-
end
|
121
|
-
|
122
57
|
def type
|
123
58
|
@type ||= meta.fetch("type", nil)
|
124
59
|
end
|
@@ -143,14 +78,6 @@ module Bolognese
|
|
143
78
|
@resource_type_general ||= meta.fetch("resource_type_general", nil)
|
144
79
|
end
|
145
80
|
|
146
|
-
def doi
|
147
|
-
@doi ||= @id.present? ? doi_from_url(@id) : meta.fetch("doi", nil)
|
148
|
-
end
|
149
|
-
|
150
|
-
def b_url
|
151
|
-
@b_url ||= meta.fetch("b_url", nil)
|
152
|
-
end
|
153
|
-
|
154
81
|
def identifier
|
155
82
|
@identifier ||= meta.fetch("id", nil)
|
156
83
|
end
|
@@ -247,10 +174,6 @@ module Bolognese
|
|
247
174
|
@license ||= meta.fetch("license", nil)
|
248
175
|
end
|
249
176
|
|
250
|
-
def b_version
|
251
|
-
@b_version ||= meta.fetch("b_version", nil)
|
252
|
-
end
|
253
|
-
|
254
177
|
def keywords
|
255
178
|
@keywords ||= meta.fetch("keywords", nil)
|
256
179
|
end
|
@@ -271,14 +194,6 @@ module Bolognese
|
|
271
194
|
@funding ||= meta.fetch("funding", nil)
|
272
195
|
end
|
273
196
|
|
274
|
-
def provider_id
|
275
|
-
@provider_id ||= meta.fetch("provider_id", nil)
|
276
|
-
end
|
277
|
-
|
278
|
-
def client_id
|
279
|
-
@client_id ||= meta.fetch("client_id", nil)
|
280
|
-
end
|
281
|
-
|
282
197
|
def is_identical_to
|
283
198
|
meta.fetch("is_identical_to", nil)
|
284
199
|
end
|
data/lib/bolognese/version.rb
CHANGED
@@ -13,7 +13,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
13
13
|
it "string" do
|
14
14
|
Bolognese::Metadata.new(input: IO.read(input).strip)
|
15
15
|
expect(subject.valid?).to be true
|
16
|
-
expect(subject.
|
16
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -26,7 +26,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
26
26
|
context "get bibtex metadata" do
|
27
27
|
it "Crossref DOI" do
|
28
28
|
expect(subject.valid?).to be true
|
29
|
-
expect(subject.
|
29
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
30
30
|
expect(subject.type).to eq("ScholarlyArticle")
|
31
31
|
expect(subject.b_url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
32
32
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -14,7 +14,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
14
14
|
context "get citeproc metadata" do
|
15
15
|
it "BlogPosting" do
|
16
16
|
expect(subject.valid?).to be true
|
17
|
-
expect(subject.
|
17
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
18
18
|
expect(subject.b_url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
19
19
|
expect(subject.type).to eq("BlogPosting")
|
20
20
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -16,7 +16,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
16
16
|
context "get codemeta metadata" do
|
17
17
|
it "maremma" do
|
18
18
|
expect(subject.valid?).to be true
|
19
|
-
expect(subject.
|
19
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/qeg0-3gm3")
|
20
20
|
expect(subject.b_url).to eq("https://github.com/datacite/maremma")
|
21
21
|
expect(subject.type).to eq("SoftwareSourceCode")
|
22
22
|
expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -32,7 +32,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
32
32
|
it "rdataone" do
|
33
33
|
input = fixture_path + 'codemeta.json'
|
34
34
|
subject = Bolognese::Metadata.new(input: input)
|
35
|
-
expect(subject.
|
35
|
+
expect(subject.identifier).to eq("https://doi.org/10.5063/f1m61h5x")
|
36
36
|
expect(subject.b_url).to eq("https://github.com/DataONEorg/rdataone")
|
37
37
|
expect(subject.type).to eq("SoftwareSourceCode")
|
38
38
|
expect(subject.author).to eq( [{"type"=>"Person",
|
@@ -60,7 +60,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
60
60
|
input = fixture_path + 'maremma/codemeta.json'
|
61
61
|
subject = Bolognese::Metadata.new(input: input)
|
62
62
|
expect(subject.valid?).to be true
|
63
|
-
expect(subject.
|
63
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/qeg0-3gm3")
|
64
64
|
expect(subject.b_url).to eq("https://github.com/datacite/maremma")
|
65
65
|
expect(subject.type).to eq("SoftwareSourceCode")
|
66
66
|
expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -14,7 +14,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
14
14
|
context "get crosscite metadata" do
|
15
15
|
it "SoftwareSourceCode" do
|
16
16
|
expect(subject.valid?).to be true
|
17
|
-
expect(subject.
|
17
|
+
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.48440")
|
18
18
|
expect(subject.type).to eq("SoftwareSourceCode")
|
19
19
|
expect(subject.resource_type_general).to eq("Software")
|
20
20
|
expect(subject.author).to eq("type"=>"Person", "familyName" => "Garza", "givenName" => "Kristian", "name" => "Kristian Garza")
|
@@ -27,7 +27,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
27
27
|
input = IO.read(fixture_path + "crosscite.json")
|
28
28
|
subject = Bolognese::Metadata.new(input: input)
|
29
29
|
expect(subject.valid?).to be true
|
30
|
-
expect(subject.
|
30
|
+
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.48440")
|
31
31
|
expect(subject.type).to eq("SoftwareSourceCode")
|
32
32
|
expect(subject.resource_type_general).to eq("Software")
|
33
33
|
expect(subject.author).to eq("type"=>"Person", "familyName" => "Garza", "givenName" => "Kristian", "name" => "Kristian Garza")
|
@@ -16,7 +16,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
16
16
|
context "get crossref metadata" do
|
17
17
|
it "DOI with data citation" do
|
18
18
|
expect(subject.valid?).to be true
|
19
|
-
expect(subject.
|
19
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
20
20
|
expect(subject.type).to eq("ScholarlyArticle")
|
21
21
|
expect(subject.b_url).to eq("https://elifesciences.org/articles/01567")
|
22
22
|
expect(subject.additional_type).to eq("JournalArticle")
|
@@ -49,7 +49,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
49
49
|
input = "https://doi.org/10.1371/journal.pone.0000030"
|
50
50
|
subject = Bolognese::Metadata.new(input: input)
|
51
51
|
expect(subject.valid?).to be true
|
52
|
-
expect(subject.
|
52
|
+
expect(subject.identifier).to eq(input)
|
53
53
|
expect(subject.b_url).to eq("http://dx.plos.org/10.1371/journal.pone.0000030")
|
54
54
|
expect(subject.type).to eq("ScholarlyArticle")
|
55
55
|
expect(subject.additional_type).to eq("JournalArticle")
|
@@ -72,7 +72,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
72
72
|
input = "https://doi.org/10.1101/097196"
|
73
73
|
subject = Bolognese::Metadata.new(input: input)
|
74
74
|
expect(subject.valid?).to be true
|
75
|
-
expect(subject.
|
75
|
+
expect(subject.identifier).to eq(input)
|
76
76
|
expect(subject.b_url).to eq("http://biorxiv.org/lookup/doi/10.1101/097196")
|
77
77
|
expect(subject.type).to eq("ScholarlyArticle")
|
78
78
|
expect(subject.additional_type).to eq("PostedContent")
|
@@ -93,7 +93,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
93
93
|
input = "https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2"
|
94
94
|
subject = Bolognese::Metadata.new(input: input)
|
95
95
|
expect(subject.valid?).to be true
|
96
|
-
expect(subject.
|
96
|
+
expect(subject.identifier).to eq("https://doi.org/10.1890/0012-9658(2006)87%5B2832:tiopma%5D2.0.co;2")
|
97
97
|
expect(subject.b_url).to eq("http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2")
|
98
98
|
expect(subject.type).to eq("ScholarlyArticle")
|
99
99
|
expect(subject.additional_type).to eq("JournalArticle")
|
@@ -114,7 +114,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
114
114
|
input = "https://doi.org/10.1155/2012/291294"
|
115
115
|
subject = Bolognese::Metadata.new(input: input)
|
116
116
|
expect(subject.valid?).to be true
|
117
|
-
expect(subject.
|
117
|
+
expect(subject.identifier).to eq("https://doi.org/10.1155/2012/291294")
|
118
118
|
expect(subject.b_url).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
|
119
119
|
expect(subject.type).to eq("ScholarlyArticle")
|
120
120
|
expect(subject.additional_type).to eq("JournalArticle")
|
@@ -136,7 +136,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
136
136
|
input = "https://doi.org/10.1016/j.ejphar.2015.03.018"
|
137
137
|
subject = Bolognese::Metadata.new(input: input)
|
138
138
|
expect(subject.valid?).to be true
|
139
|
-
expect(subject.
|
139
|
+
expect(subject.identifier).to eq(input)
|
140
140
|
expect(subject.b_url).to eq("http://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
|
141
141
|
expect(subject.type).to eq("ScholarlyArticle")
|
142
142
|
expect(subject.additional_type).to eq("JournalArticle")
|
@@ -155,7 +155,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
155
155
|
input = "10.2210/pdb4hhb/pdb"
|
156
156
|
subject = Bolognese::Metadata.new(input: input)
|
157
157
|
expect(subject.valid?).to be true
|
158
|
-
expect(subject.
|
158
|
+
expect(subject.identifier).to eq("https://doi.org/10.2210/pdb4hhb/pdb")
|
159
159
|
expect(subject.b_url).to eq("ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/hh/pdb4hhb.ent.gz")
|
160
160
|
expect(subject.type).to eq("ScholarlyArticle")
|
161
161
|
expect(subject.additional_type).to eq("SaComponent")
|
@@ -175,7 +175,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
175
175
|
input = "https://doi.org/10.1007/978-3-662-46370-3_13"
|
176
176
|
subject = Bolognese::Metadata.new(input: input)
|
177
177
|
expect(subject.valid?).to be true
|
178
|
-
expect(subject.
|
178
|
+
expect(subject.identifier).to eq("https://doi.org/10.1007/978-3-662-46370-3_13")
|
179
179
|
expect(subject.b_url).to eq("http://link.springer.com/10.1007/978-3-662-46370-3_13")
|
180
180
|
expect(subject.type).to eq("Chapter")
|
181
181
|
expect(subject.additional_type).to eq("BookChapter")
|
@@ -193,7 +193,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
193
193
|
input = "https://doi.org/10.1111/nph.14619"
|
194
194
|
subject = Bolognese::Metadata.new(input: input)
|
195
195
|
expect(subject.valid?).to be true
|
196
|
-
expect(subject.
|
196
|
+
expect(subject.identifier).to eq(input)
|
197
197
|
expect(subject.b_url).to eq("http://doi.wiley.com/10.1111/nph.14619")
|
198
198
|
expect(subject.type).to eq("ScholarlyArticle")
|
199
199
|
expect(subject.additional_type).to eq("JournalArticle")
|
@@ -213,7 +213,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
213
213
|
input = "https://doi.org/10.7554/elife.01567x"
|
214
214
|
subject = Bolognese::Metadata.new(input: input)
|
215
215
|
expect(subject.valid?).to be false
|
216
|
-
expect(subject.
|
216
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567x")
|
217
217
|
expect(subject.doi).to eq("10.7554/elife.01567x")
|
218
218
|
expect(subject.service_provider).to eq("Crossref")
|
219
219
|
expect(subject.state).to eq("not_found")
|
@@ -14,7 +14,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
14
14
|
context "get datacite_json metadata" do
|
15
15
|
it "BlogPosting" do
|
16
16
|
expect(subject.valid?).to be true
|
17
|
-
expect(subject.
|
17
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
18
18
|
expect(subject.type).to eq("ScholarlyArticle")
|
19
19
|
expect(subject.additional_type).to eq("BlogPosting")
|
20
20
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -16,7 +16,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
16
16
|
context "get datacite metadata" do
|
17
17
|
it "Dataset" do
|
18
18
|
expect(subject.valid?).to be true
|
19
|
-
expect(subject.
|
19
|
+
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
20
20
|
expect(subject.b_url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
21
21
|
expect(subject.type).to eq("Dataset")
|
22
22
|
expect(subject.additional_type).to eq("DataPackage")
|
@@ -38,7 +38,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
38
38
|
input = "https://doi.org/10.5438/4K3M-NYVG"
|
39
39
|
subject = Bolognese::Metadata.new(input: input)
|
40
40
|
expect(subject.valid?).to be true
|
41
|
-
expect(subject.
|
41
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
42
42
|
expect(subject.type).to eq("ScholarlyArticle")
|
43
43
|
expect(subject.additional_type).to eq("BlogPosting")
|
44
44
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -59,7 +59,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
59
59
|
input = "https://doi.org/10.4230/lipics.tqc.2013.93"
|
60
60
|
subject = Bolognese::Metadata.new(input: input)
|
61
61
|
expect(subject.valid?).to be true
|
62
|
-
expect(subject.
|
62
|
+
expect(subject.identifier).to eq("https://doi.org/10.4230/lipics.tqc.2013.93")
|
63
63
|
expect(subject.type).to eq("ScholarlyArticle")
|
64
64
|
expect(subject.additional_type).to eq("ConferencePaper")
|
65
65
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -76,7 +76,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
76
76
|
input = "https://doi.org/10.5281/ZENODO.48440"
|
77
77
|
subject = Bolognese::Metadata.new(input: input)
|
78
78
|
expect(subject.valid?).to be true
|
79
|
-
expect(subject.
|
79
|
+
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.48440")
|
80
80
|
expect(subject.type).to eq("SoftwareSourceCode")
|
81
81
|
expect(subject.resource_type_general).to eq("Software")
|
82
82
|
expect(subject.author).to eq("type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza")
|
@@ -94,7 +94,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
94
94
|
input = "10.6084/M9.FIGSHARE.4234751.V1"
|
95
95
|
subject = Bolognese::Metadata.new(input: input)
|
96
96
|
expect(subject.valid?).to be true
|
97
|
-
expect(subject.
|
97
|
+
expect(subject.identifier).to eq("https://doi.org/10.6084/m9.figshare.4234751.v1")
|
98
98
|
expect(subject.type).to eq("Dataset")
|
99
99
|
expect(subject.additional_type).to eq("Dataset")
|
100
100
|
expect(subject.resource_type_general).to eq("Dataset")
|
@@ -114,7 +114,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
114
114
|
input = "https://doi.org/10.5281/ZENODO.1239"
|
115
115
|
subject = Bolognese::Metadata.new(input: input)
|
116
116
|
expect(subject.valid?).to be true
|
117
|
-
expect(subject.
|
117
|
+
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1239")
|
118
118
|
expect(subject.type).to eq("Dataset")
|
119
119
|
expect(subject.resource_type_general).to eq("Dataset")
|
120
120
|
expect(subject.author.length).to eq(4)
|
@@ -132,7 +132,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
132
132
|
input = "https://doi.org/10.14457/KMITL.RES.2006.17"
|
133
133
|
subject = Bolognese::Metadata.new(input: input)
|
134
134
|
expect(subject.valid?).to be true
|
135
|
-
expect(subject.
|
135
|
+
expect(subject.identifier).to eq("https://doi.org/10.14457/kmitl.res.2006.17")
|
136
136
|
expect(subject.type).to eq("Dataset")
|
137
137
|
expect(subject.author.length).to eq(1)
|
138
138
|
expect(subject.author.first).to eq(["name", "กัญจนา แซ่เตียว"])
|
@@ -142,7 +142,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
142
142
|
input = "https://doi.org/10.7910/DVN/EQTQYO"
|
143
143
|
subject = Bolognese::Metadata.new(input: input)
|
144
144
|
expect(subject.valid?).to be true
|
145
|
-
expect(subject.
|
145
|
+
expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/eqtqyo")
|
146
146
|
expect(subject.type).to eq("Dataset")
|
147
147
|
expect(subject.author).to eq("name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)")
|
148
148
|
end
|
@@ -151,7 +151,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
151
151
|
input = "https://doi.org/10.18429/JACOW-IPAC2016-TUPMY003"
|
152
152
|
subject = Bolognese::Metadata.new(input: input)
|
153
153
|
expect(subject.valid?).to be true
|
154
|
-
expect(subject.
|
154
|
+
expect(subject.identifier).to eq("https://doi.org/10.18429/jacow-ipac2016-tupmy003")
|
155
155
|
expect(subject.type).to eq("ScholarlyArticle")
|
156
156
|
expect(subject.author.length).to eq(12)
|
157
157
|
expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://jacow.org/JACoW-00077389", "name"=>"Masashi Otani", "givenName"=>"Masashi", "familyName"=>"Otani")
|
@@ -161,7 +161,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
161
161
|
input = "https://doi.org/10.2314/COSCV1"
|
162
162
|
subject = Bolognese::Metadata.new(input: input)
|
163
163
|
expect(subject.valid?).to be true
|
164
|
-
expect(subject.
|
164
|
+
expect(subject.identifier).to eq("https://doi.org/10.2314/coscv1")
|
165
165
|
expect(subject.type).to eq("ScholarlyArticle")
|
166
166
|
expect(subject.author.length).to eq(14)
|
167
167
|
expect(subject.author.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-0232-7085", "name"=>"Lambert Heller", "givenName"=>"Lambert", "familyName"=>"Heller")
|
@@ -171,7 +171,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
171
171
|
input = "https://doi.org/10.21233/n34n5q"
|
172
172
|
subject = Bolognese::Metadata.new(input: input)
|
173
173
|
expect(subject.valid?).to be true
|
174
|
-
expect(subject.
|
174
|
+
expect(subject.identifier).to eq("https://doi.org/10.21233/n34n5q")
|
175
175
|
expect(subject.keywords).to eq([{"subject_scheme"=>"Library of Congress", "scheme_uri"=>"http://id.loc.gov/authorities/subjects", "text"=>"Paleoecology"}])
|
176
176
|
end
|
177
177
|
|
@@ -179,7 +179,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
179
179
|
input = "https://doi.org/10.15125/BATH-00114"
|
180
180
|
subject = Bolognese::Metadata.new(input: input)
|
181
181
|
expect(subject.valid?).to be true
|
182
|
-
expect(subject.
|
182
|
+
expect(subject.identifier).to eq("https://doi.org/10.15125/bath-00114")
|
183
183
|
expect(subject.type).to eq("Dataset")
|
184
184
|
expect(subject.additional_type).to eq("Dataset")
|
185
185
|
expect(subject.resource_type_general).to eq("Dataset")
|
@@ -199,7 +199,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
199
199
|
input = "https://doi.org/10.5438/6423"
|
200
200
|
subject = Bolognese::Metadata.new(input: input)
|
201
201
|
expect(subject.valid?).to be true
|
202
|
-
expect(subject.
|
202
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/6423")
|
203
203
|
expect(subject.type).to eq("Collection")
|
204
204
|
expect(subject.additional_type).to eq("Project")
|
205
205
|
expect(subject.resource_type_general).to eq("Collection")
|
@@ -222,7 +222,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
222
222
|
input = fixture_path + "datacite.xml"
|
223
223
|
subject = Bolognese::Metadata.new(input: input)
|
224
224
|
expect(subject.valid?).to be true
|
225
|
-
expect(subject.
|
225
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
226
226
|
expect(subject.type).to eq("ScholarlyArticle")
|
227
227
|
expect(subject.additional_type).to eq("BlogPosting")
|
228
228
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -240,7 +240,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
240
240
|
input = fixture_path + "datacite-example-complicated-v4.1.xml"
|
241
241
|
subject = Bolognese::Metadata.new(input: input)
|
242
242
|
expect(subject.valid?).to be true
|
243
|
-
expect(subject.
|
243
|
+
expect(subject.identifier).to eq("https://doi.org/10.5072/testpub")
|
244
244
|
expect(subject.type).to eq("ScholarlyArticle")
|
245
245
|
expect(subject.additional_type).to eq("Monograph")
|
246
246
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -259,7 +259,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
259
259
|
input = fixture_path + "datacite-example-complicated-v4.1.xml"
|
260
260
|
subject = Bolognese::Metadata.new(input: input, doi: "10.5072/testpub2")
|
261
261
|
expect(subject.valid?).to be true
|
262
|
-
expect(subject.
|
262
|
+
expect(subject.identifier).to eq("https://doi.org/10.5072/testpub2")
|
263
263
|
expect(subject.type).to eq("ScholarlyArticle")
|
264
264
|
expect(subject.additional_type).to eq("Monograph")
|
265
265
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -278,7 +278,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
278
278
|
input = "https://doi.org/10.4232/1.2745"
|
279
279
|
subject = Bolognese::Metadata.new(input: input)
|
280
280
|
expect(subject.valid?).to be true
|
281
|
-
expect(subject.
|
281
|
+
expect(subject.identifier).to eq("https://doi.org/10.4232/1.2745")
|
282
282
|
expect(subject.type).to eq("Dataset")
|
283
283
|
expect(subject.resource_type_general).to eq("Dataset")
|
284
284
|
expect(subject.author).to eq("name"=>"Europäische Kommission")
|
@@ -294,7 +294,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
294
294
|
input = "https://doi.org/10.18169/PAPDEOTTX00502"
|
295
295
|
subject = Bolognese::Metadata.new(input: input)
|
296
296
|
expect(subject.valid?).to be true
|
297
|
-
expect(subject.
|
297
|
+
expect(subject.identifier).to eq("https://doi.org/10.18169/papdeottx00502")
|
298
298
|
expect(subject.type).to eq("Dataset")
|
299
299
|
expect(subject.additional_type).to eq("Disclosure")
|
300
300
|
expect(subject.resource_type_general).to eq("Dataset")
|
@@ -310,7 +310,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
310
310
|
input = "https://doi.org/10.21944/temis-OZONE-MSR2"
|
311
311
|
subject = Bolognese::Metadata.new(input: input)
|
312
312
|
expect(subject.valid?).to be true
|
313
|
-
expect(subject.
|
313
|
+
expect(subject.identifier).to eq("https://doi.org/10.21944/temis-ozone-msr2")
|
314
314
|
expect(subject.type).to eq("Dataset")
|
315
315
|
expect(subject.additional_type).to eq("Satellite data")
|
316
316
|
expect(subject.resource_type_general).to eq("Dataset")
|
@@ -340,7 +340,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
340
340
|
input = "https://doi.org/10.4124/05F6C379-DD68-4CDB-880D-33D3E9576D52/1"
|
341
341
|
subject = Bolognese::Metadata.new(input: input)
|
342
342
|
expect(subject.valid?).to be false
|
343
|
-
expect(subject.
|
343
|
+
expect(subject.identifier).to eq("https://doi.org/10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
344
344
|
expect(subject.doi).to eq("10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
345
345
|
expect(subject.service_provider).to eq("DataCite")
|
346
346
|
expect(subject.state).to eq("not_found")
|
@@ -350,7 +350,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
350
350
|
input = "https://handle.test.datacite.org/10.22002/d1.694"
|
351
351
|
subject = Bolognese::Metadata.new(input: input, sandbox: true)
|
352
352
|
expect(subject.valid?).to be true
|
353
|
-
expect(subject.
|
353
|
+
expect(subject.identifier).to eq("https://handle.test.datacite.org/10.22002/d1.694")
|
354
354
|
expect(subject.type).to eq("Dataset")
|
355
355
|
expect(subject.resource_type_general).to eq("Dataset")
|
356
356
|
expect(subject.author).to eq("name"=>"Tester")
|
@@ -367,7 +367,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
367
367
|
input = "10.21956/gatesopenres.530.r190"
|
368
368
|
subject = Bolognese::Metadata.new(input: input, sandbox: true)
|
369
369
|
expect(subject.valid?).to be true
|
370
|
-
expect(subject.
|
370
|
+
expect(subject.identifier).to eq("https://handle.test.datacite.org/10.21956/gatesopenres.530.r190")
|
371
371
|
expect(subject.type).to eq("ScholarlyArticle")
|
372
372
|
expect(subject.resource_type_general).to eq("Text")
|
373
373
|
expect(subject.author.length).to eq(5)
|
@@ -392,7 +392,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
392
392
|
it "change title" do
|
393
393
|
subject.title = "A new malaria agent in African hominids."
|
394
394
|
expect(subject.valid?).to be true
|
395
|
-
expect(subject.
|
395
|
+
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
396
396
|
expect(subject.doi).to eq("10.5061/dryad.8515")
|
397
397
|
expect(subject.b_url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
398
398
|
expect(subject.type).to eq("Dataset")
|
@@ -402,7 +402,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
402
402
|
it "change state" do
|
403
403
|
subject.state = "registered"
|
404
404
|
expect(subject.valid?).to be true
|
405
|
-
expect(subject.
|
405
|
+
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
406
406
|
expect(subject.doi).to eq("10.5061/dryad.8515")
|
407
407
|
expect(subject.b_url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
408
408
|
expect(subject.type).to eq("Dataset")
|
@@ -417,7 +417,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
417
417
|
doi = "10.5061/dryad.8515"
|
418
418
|
subject = Bolognese::Metadata.new(input: input, doi: doi)
|
419
419
|
expect(subject.valid?).to be true
|
420
|
-
expect(subject.
|
420
|
+
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
421
421
|
expect(subject.doi).to eq("10.5061/dryad.8515")
|
422
422
|
expect(subject.author).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
|
423
423
|
expect(subject.title).to eq("Eating your own Dog Food")
|
@@ -13,7 +13,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
13
13
|
it "string" do
|
14
14
|
Bolognese::Metadata.new(input: IO.read(input).strip)
|
15
15
|
expect(subject.valid?).to be true
|
16
|
-
expect(subject.
|
16
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -26,7 +26,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
26
26
|
context "get ris metadata" do
|
27
27
|
it "Crossref DOI" do
|
28
28
|
expect(subject.valid?).to be true
|
29
|
-
expect(subject.
|
29
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
30
30
|
expect(subject.type).to eq("ScholarlyArticle")
|
31
31
|
expect(subject.b_url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
32
32
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -17,7 +17,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
17
17
|
context "get schema_org metadata" do
|
18
18
|
it "BlogPosting" do
|
19
19
|
expect(subject.valid?).to be true
|
20
|
-
expect(subject.
|
20
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
21
21
|
expect(subject.b_url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
22
22
|
expect(subject.type).to eq("BlogPosting")
|
23
23
|
expect(subject.author).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -35,7 +35,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
35
35
|
it "BlogPosting with new DOI" do
|
36
36
|
subject = Bolognese::Metadata.new(input: input, doi: "10.5438/0000-00ss")
|
37
37
|
expect(subject.valid?).to be true
|
38
|
-
expect(subject.
|
38
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/0000-00ss")
|
39
39
|
expect(subject.doi).to eq("10.5438/0000-00ss")
|
40
40
|
expect(subject.b_url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
41
41
|
expect(subject.type).to eq("BlogPosting")
|
@@ -46,7 +46,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
46
46
|
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
47
47
|
expect(subject.errors.size).to eq(2)
|
48
48
|
expect(subject.errors.first).to eq("43:0: ERROR: Element '{http://datacite.org/schema/kernel-4}publisher': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'.")
|
49
|
-
expect(subject.
|
49
|
+
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1196821")
|
50
50
|
expect(subject.doi).to eq("10.5281/zenodo.1196821")
|
51
51
|
expect(subject.b_url).to eq("https://zenodo.org/record/1196821")
|
52
52
|
expect(subject.type).to eq("Dataset")
|
@@ -59,7 +59,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
59
59
|
input = "https://doi.pangaea.de/10.1594/PANGAEA.836178"
|
60
60
|
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
61
61
|
expect(subject.valid?).to be true
|
62
|
-
expect(subject.
|
62
|
+
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.836178")
|
63
63
|
expect(subject.doi).to eq("10.1594/pangaea.836178")
|
64
64
|
expect(subject.b_url).to eq("https://doi.pangaea.de/10.1594/PANGAEA.836178")
|
65
65
|
expect(subject.type).to eq("Dataset")
|
@@ -73,7 +73,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
73
73
|
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
74
74
|
subject.id = "https://doi.org/10.3334/ornldaac/1418"
|
75
75
|
expect(subject.valid?).to be true
|
76
|
-
expect(subject.
|
76
|
+
expect(subject.identifier).to eq("https://doi.org/10.3334/ornldaac/1418")
|
77
77
|
expect(subject.doi).to eq("10.3334/ornldaac/1418")
|
78
78
|
expect(subject.b_url).to eq("https://doi.org/10.3334/ornldaac/1418")
|
79
79
|
expect(subject.type).to eq("DataSet")
|
@@ -86,7 +86,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
86
86
|
input = "https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/GAOC03"
|
87
87
|
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
88
88
|
expect(subject.valid?).to be true
|
89
|
-
expect(subject.
|
89
|
+
expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/gaoc03")
|
90
90
|
expect(subject.doi).to eq("10.7910/dvn/gaoc03")
|
91
91
|
expect(subject.type).to eq("Dataset")
|
92
92
|
expect(subject.title).to eq("The National Labor Force : SAKERNAS, 2008")
|
@@ -100,7 +100,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
100
100
|
input = fixture_path + 'schema_org.json'
|
101
101
|
subject = Bolognese::Metadata.new(input: input)
|
102
102
|
|
103
|
-
expect(subject.
|
103
|
+
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
104
104
|
expect(subject.b_url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
105
105
|
expect(subject.type).to eq("BlogPosting")
|
106
106
|
expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -98,7 +98,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
98
98
|
input = "https://doi.org/10.23640/07243.5153971"
|
99
99
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
100
100
|
expect(subject.valid?).to be true
|
101
|
-
expect(subject.
|
101
|
+
expect(subject.identifier).to eq("https://doi.org/10.23640/07243.5153971")
|
102
102
|
expect(subject.type).to eq("ScholarlyArticle")
|
103
103
|
expect(subject.additional_type).to eq("Paper")
|
104
104
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -117,7 +117,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
117
117
|
input = "https://doi.org/10.23640/07243.5153971"
|
118
118
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", doi: "10.5072/07243.5153971")
|
119
119
|
expect(subject.valid?).to be true
|
120
|
-
expect(subject.
|
120
|
+
expect(subject.identifier).to eq("https://doi.org/10.5072/07243.5153971")
|
121
121
|
expect(subject.type).to eq("ScholarlyArticle")
|
122
122
|
expect(subject.additional_type).to eq("Paper")
|
123
123
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -136,7 +136,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
136
136
|
input = "https://doi.org/10.5061/DRYAD.8515"
|
137
137
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", regenerate: true)
|
138
138
|
expect(subject.valid?).to be true
|
139
|
-
expect(subject.
|
139
|
+
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
140
140
|
expect(subject.type).to eq("Dataset")
|
141
141
|
expect(subject.additional_type).to eq("DataPackage")
|
142
142
|
expect(subject.resource_type_general).to eq("Dataset")
|
@@ -171,7 +171,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
171
171
|
input = "https://doi.org/10.4124/05F6C379-DD68-4CDB-880D-33D3E9576D52/1"
|
172
172
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
173
173
|
expect(subject.valid?).to be false
|
174
|
-
expect(subject.
|
174
|
+
expect(subject.identifier).to eq("https://doi.org/10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
175
175
|
expect(subject.doi).to eq("10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
176
176
|
expect(subject.service_provider).to eq("DataCite")
|
177
177
|
expect(subject.state).to eq("not_found")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.97
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|