bolognese 1.0.1 → 1.0.2
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 +16 -10
- data/lib/bolognese/metadata_utils.rb +3 -11
- data/lib/bolognese/readers/bibtex_reader.rb +1 -1
- data/lib/bolognese/readers/citeproc_reader.rb +2 -2
- data/lib/bolognese/readers/codemeta_reader.rb +2 -2
- data/lib/bolognese/readers/crossref_reader.rb +2 -2
- data/lib/bolognese/readers/datacite_json_reader.rb +3 -3
- data/lib/bolognese/readers/datacite_reader.rb +3 -3
- data/lib/bolognese/readers/ris_reader.rb +1 -1
- data/lib/bolognese/readers/schema_org_reader.rb +3 -3
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/bibtex_writer.rb +1 -1
- data/lib/bolognese/writers/codemeta_writer.rb +2 -2
- data/lib/bolognese/writers/crosscite_writer.rb +3 -3
- data/lib/bolognese/writers/datacite_json_writer.rb +3 -3
- data/lib/bolognese/writers/jats_writer.rb +2 -2
- data/lib/bolognese/writers/ris_writer.rb +1 -1
- data/lib/bolognese/writers/schema_org_writer.rb +3 -3
- data/spec/readers/bibtex_reader_spec.rb +1 -1
- data/spec/readers/citeproc_reader_spec.rb +1 -1
- data/spec/readers/codemeta_reader_spec.rb +5 -5
- data/spec/readers/crossref_reader_spec.rb +9 -9
- data/spec/readers/datacite_reader_spec.rb +9 -9
- data/spec/readers/ris_reader_spec.rb +1 -1
- data/spec/readers/schema_org_reader_spec.rb +10 -10
- data/spec/writers/schema_org_writer_spec.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acbbf45161f598000d9ff25bb9377c5332eb1482830a2e2b4137aab2fcc33043
|
4
|
+
data.tar.gz: 3a6c992a04626c916ec2f579aad4f9ab303756071db6a8178499a996834416cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65dba0019f3401ae22dbd8d05da1cda01900ab0f865a3b37c8b4d7983e7d8616779e0ad7b7a123815eef252db8c5734982321bcf5cc2cc599e75a70dec436417
|
7
|
+
data.tar.gz: d856dea89a299b900acd9462cf01b2cb1c88fe0d8619cd003b6f2fb4da4e54624e86bb580db50488c7d31a256c9fbede5802b185b126c253328c714bc3dd1191
|
data/Gemfile.lock
CHANGED
@@ -153,9 +153,9 @@ module Bolognese
|
|
153
153
|
end
|
154
154
|
|
155
155
|
def insert_version(xml)
|
156
|
-
return xml unless
|
156
|
+
return xml unless version.present?
|
157
157
|
|
158
|
-
xml.version(
|
158
|
+
xml.version(version)
|
159
159
|
end
|
160
160
|
|
161
161
|
def insert_related_identifiers(xml)
|
data/lib/bolognese/metadata.rb
CHANGED
@@ -6,7 +6,13 @@ module Bolognese
|
|
6
6
|
class Metadata
|
7
7
|
include Bolognese::MetadataUtils
|
8
8
|
|
9
|
-
attr_writer :id, :provider_id, :client_id, :doi
|
9
|
+
attr_writer :id, :provider_id, :client_id, :doi, :identifier, :creator, :title, :publisher, :rights, :dates, :date_published, :date_modified,
|
10
|
+
:date_updated, :journal, :volume, :first_page, :last_page, :url, :version, :resource_type_general,
|
11
|
+
:keywords, :editor, :description, :alternate_identifiers, :language, :size,
|
12
|
+
:formats, :schema_version, :resource_type_general, :meta, :periodical,
|
13
|
+
:format, :funding_references, :style, :locale, :state, :geo_location,
|
14
|
+
:type, :additional_type, :citeproc_type, :bibtex_type, :ris_type, :content_url, :related_identifiers
|
15
|
+
|
10
16
|
|
11
17
|
def initialize(input: nil, from: nil, **options)
|
12
18
|
id = normalize_id(input, options)
|
@@ -20,7 +26,7 @@ module Bolognese
|
|
20
26
|
elsif input.present? && File.exist?(input)
|
21
27
|
ext = File.extname(input)
|
22
28
|
if %w(.bib .ris .xml .json).include?(ext)
|
23
|
-
hsh = { "
|
29
|
+
hsh = { "url" => options[:url],
|
24
30
|
"state" => options[:state],
|
25
31
|
"date_registered" => options[:date_registered],
|
26
32
|
"date_updated" => options[:date_updated],
|
@@ -34,7 +40,7 @@ module Bolognese
|
|
34
40
|
exit 1
|
35
41
|
end
|
36
42
|
else
|
37
|
-
hsh = { "
|
43
|
+
hsh = { "url" => options[:url],
|
38
44
|
"state" => options[:state],
|
39
45
|
"date_registered" => options[:date_registered],
|
40
46
|
"date_updated" => options[:date_updated],
|
@@ -57,7 +63,7 @@ module Bolognese
|
|
57
63
|
@sandbox = options[:sandbox]
|
58
64
|
|
59
65
|
# options that come from the datacite database
|
60
|
-
@
|
66
|
+
@url = hsh.to_h["url"].presence || options[:url].presence
|
61
67
|
@state = hsh.to_h["state"].presence
|
62
68
|
@date_registered = hsh.to_h["date_registered"].presence
|
63
69
|
@date_updated = hsh.to_h["date_updated"].presence
|
@@ -119,8 +125,8 @@ module Bolognese
|
|
119
125
|
@size ||= meta.fetch("size", nil)
|
120
126
|
end
|
121
127
|
|
122
|
-
def
|
123
|
-
@
|
128
|
+
def formats
|
129
|
+
@formats ||= meta.fetch("formats", nil)
|
124
130
|
end
|
125
131
|
|
126
132
|
def schema_version
|
@@ -135,12 +141,12 @@ module Bolognese
|
|
135
141
|
@related_identifiers ||= meta.fetch("related_identifiers", nil)
|
136
142
|
end
|
137
143
|
|
138
|
-
def
|
139
|
-
@
|
144
|
+
def url
|
145
|
+
@url ||= meta.fetch("url", nil)
|
140
146
|
end
|
141
147
|
|
142
|
-
def
|
143
|
-
@
|
148
|
+
def version
|
149
|
+
@version ||= meta.fetch("version", nil)
|
144
150
|
end
|
145
151
|
|
146
152
|
def publication_year
|
@@ -62,15 +62,7 @@ module Bolognese
|
|
62
62
|
include Bolognese::Writers::TurtleWriter
|
63
63
|
|
64
64
|
attr_accessor :string, :from, :sandbox, :meta, :regenerate, :issue, :contributor
|
65
|
-
|
66
|
-
attr_writer :identifier, :creator, :title, :publisher, :rights, :dates, :date_published, :date_modified,
|
67
|
-
:date_updated, :journal, :volume, :first_page, :last_page, :b_url, :b_version, :resource_type_general,
|
68
|
-
:keywords, :editor, :description, :alternate_identifiers, :language, :size,
|
69
|
-
:b_format, :schema_version, :resource_type_general, :meta, :periodical,
|
70
|
-
:format, :funding_references, :style, :locale, :state, :geo_location,
|
71
|
-
:type, :additional_type, :citeproc_type, :bibtex_type, :ris_type, :content_url, :related_identifiers
|
72
|
-
|
73
|
-
attr_reader :doc, :service_provider, :page_start, :page_end, :related_identifier, :reverse, :name_detector
|
65
|
+
attr_reader :doc, :service_provider, :page_start, :page_end, :reverse, :name_detector
|
74
66
|
|
75
67
|
# replace DOI in XML if provided in options
|
76
68
|
def raw
|
@@ -146,8 +138,8 @@ module Bolognese
|
|
146
138
|
"page" => [first_page, last_page].compact.join("-").presence,
|
147
139
|
"publisher" => publisher,
|
148
140
|
"title" => parse_attributes(title, content: "text", first: true),
|
149
|
-
"URL" =>
|
150
|
-
"version" =>
|
141
|
+
"URL" => url,
|
142
|
+
"version" => version,
|
151
143
|
"volume" => volume
|
152
144
|
}.compact.symbolize_keys
|
153
145
|
end
|
@@ -68,7 +68,7 @@ module Bolognese
|
|
68
68
|
"resource_type_general" => Metadata::SO_TO_DC_TRANSLATIONS[type],
|
69
69
|
"additional_type" => Bolognese::Utils::BIB_TO_CR_TRANSLATIONS[meta.try(:type).to_s] || meta.try(:type).to_s,
|
70
70
|
"doi" => doi,
|
71
|
-
"
|
71
|
+
"url" => meta.try(:url).to_s,
|
72
72
|
"title" => meta.try(:title).to_s,
|
73
73
|
"creator" => author,
|
74
74
|
"periodical" => periodical,
|
@@ -66,7 +66,7 @@ module Bolognese
|
|
66
66
|
"ris_type" => CP_TO_RIS_TRANSLATIONS[type] || "GEN",
|
67
67
|
"resource_type_general" => Bolognese::Utils::SO_TO_DC_TRANSLATIONS[type],
|
68
68
|
"doi" => doi_from_url(doi),
|
69
|
-
"
|
69
|
+
"url" => normalize_id(meta.fetch("URL", nil)),
|
70
70
|
"title" => meta.fetch("title", nil),
|
71
71
|
"creator" => author,
|
72
72
|
"periodical" => periodical,
|
@@ -77,7 +77,7 @@ module Bolognese
|
|
77
77
|
#{}"pagination" => meta.pages.to_s.presence,
|
78
78
|
"description" => meta.fetch("abstract", nil).present? ? { "text" => sanitize(meta.fetch("abstract")) } : nil,
|
79
79
|
#{ }"rights" => { "id" => meta.field?(:copyright) && meta.copyright.to_s.presence },
|
80
|
-
"
|
80
|
+
"version" => meta.fetch("version", nil),
|
81
81
|
"keywords" => meta.fetch("categories", nil),
|
82
82
|
"state" => state
|
83
83
|
}
|
@@ -42,7 +42,7 @@ module Bolognese
|
|
42
42
|
"resource_type_general" => Bolognese::Utils::SO_TO_DC_TRANSLATIONS[type],
|
43
43
|
"identifier" => identifier,
|
44
44
|
"doi" => validate_doi(id),
|
45
|
-
"
|
45
|
+
"url" => normalize_id(meta.fetch("codeRepository", nil)),
|
46
46
|
"title" => meta.fetch("title", nil),
|
47
47
|
"creator" => author,
|
48
48
|
"editor" => editor,
|
@@ -53,7 +53,7 @@ module Bolognese
|
|
53
53
|
"date_modified" => meta.fetch("dateModified", nil),
|
54
54
|
"description" => meta.fetch("description", nil).present? ? { "text" => sanitize(meta.fetch("description")) } : nil,
|
55
55
|
"rights" => { "id" => meta.fetch("license", nil) },
|
56
|
-
"
|
56
|
+
"version" => meta.fetch("version", nil),
|
57
57
|
"keywords" => meta.fetch("tags", nil),
|
58
58
|
"state" => state
|
59
59
|
}
|
@@ -97,7 +97,7 @@ module Bolognese
|
|
97
97
|
"ris_type" => Bolognese::Utils::CR_TO_RIS_TRANSLATIONS[additional_type] || "JOUR",
|
98
98
|
"resource_type_general" => Bolognese::Utils::SO_TO_DC_TRANSLATIONS[type],
|
99
99
|
"doi" => doi,
|
100
|
-
"
|
100
|
+
"url" => bibliographic_metadata.dig("doi_data", "resource"),
|
101
101
|
"title" => parse_attributes(bibliographic_metadata.dig("titles", "title")),
|
102
102
|
"alternate_identifiers" => crossref_alternate_identifiers(bibliographic_metadata),
|
103
103
|
"creator" => crossref_people(bibliographic_metadata, "author"),
|
@@ -115,7 +115,7 @@ module Bolognese
|
|
115
115
|
"last_page" => bibliographic_metadata.dig("pages", "last_page"),
|
116
116
|
"description" => crossref_description(bibliographic_metadata),
|
117
117
|
"rights" => crossref_license(program_metadata),
|
118
|
-
"
|
118
|
+
"version" => nil,
|
119
119
|
"keywords" => nil,
|
120
120
|
"language" => nil,
|
121
121
|
"size" => nil,
|
@@ -27,7 +27,7 @@ module Bolognese
|
|
27
27
|
"ris_type" => Bolognese::Utils::SO_TO_RIS_TRANSLATIONS[resource_type_general.to_s.dasherize] || "GEN",
|
28
28
|
"resource_type_general" => resource_type_general,
|
29
29
|
"doi" => validate_doi(meta.fetch("doi", nil)),
|
30
|
-
"
|
30
|
+
"url" => normalize_id(meta.fetch("url", nil)),
|
31
31
|
"title" => meta.fetch("title", nil),
|
32
32
|
"alternate_identifiers" => meta.fetch("alternate-identifiers", nil),
|
33
33
|
"creator" => meta.fetch("creator", nil),
|
@@ -42,11 +42,11 @@ module Bolognese
|
|
42
42
|
"date_modified" => meta.fetch("date-modified", nil),
|
43
43
|
"description" => meta.fetch("description", nil),
|
44
44
|
"rights" => meta.fetch("rights", nil),
|
45
|
-
"
|
45
|
+
"version" => meta.fetch("version", nil),
|
46
46
|
"keywords" => meta.fetch("subject", nil),
|
47
47
|
"language" => meta.fetch("language", nil),
|
48
48
|
"size" => meta.fetch("size", nil),
|
49
|
-
"
|
49
|
+
"formats" => meta.fetch("formats", nil),
|
50
50
|
"geo_location" => meta.fetch("geo-location", nil),
|
51
51
|
"schema_version" => meta.fetch("schema-version", nil),
|
52
52
|
"state" => state
|
@@ -39,7 +39,7 @@ module Bolognese
|
|
39
39
|
end.compact
|
40
40
|
|
41
41
|
{ "string" => string,
|
42
|
-
"
|
42
|
+
"url" => attributes.fetch("url", nil),
|
43
43
|
"state" => attributes.fetch("state", nil),
|
44
44
|
"date_registered" => attributes.fetch("minted", nil),
|
45
45
|
"date_updated" => attributes.fetch("updated", nil),
|
@@ -174,12 +174,12 @@ module Bolognese
|
|
174
174
|
"date_modified" => datacite_date(dates, "Updated"),
|
175
175
|
"description" => description,
|
176
176
|
"rights" => rights,
|
177
|
-
"
|
177
|
+
"version" => meta.fetch("version", nil),
|
178
178
|
"keywords" => keywords,
|
179
179
|
"language" => meta.fetch("language", nil),
|
180
180
|
"geo_location" => geo_location,
|
181
181
|
"related_identifiers" => related_identifiers,
|
182
|
-
"
|
182
|
+
"formats" => formats,
|
183
183
|
"size" => sizes,
|
184
184
|
"schema_version" => schema_version,
|
185
185
|
"state" => state
|
@@ -67,7 +67,7 @@ module Bolognese
|
|
67
67
|
"ris_type" => ris_type,
|
68
68
|
"resource_type_general" => Metadata::SO_TO_DC_TRANSLATIONS[type],
|
69
69
|
"doi" => doi,
|
70
|
-
"
|
70
|
+
"url" => meta.fetch("UR", nil),
|
71
71
|
"title" => meta.fetch("T1", nil),
|
72
72
|
"creator" => get_authors(author),
|
73
73
|
"publisher" => meta.fetch("PB", "(:unav)"),
|
@@ -123,10 +123,10 @@ module Bolognese
|
|
123
123
|
"doi" => validate_doi(id),
|
124
124
|
"identifier" => identifier,
|
125
125
|
"alternate_identifiers" => alternate_identifiers,
|
126
|
-
"
|
126
|
+
"url" => normalize_id(meta.fetch("url", nil)),
|
127
127
|
"content_url" => Array.wrap(meta.fetch("contentUrl", nil)).unwrap,
|
128
128
|
"size" => meta.fetch("contenSize", nil),
|
129
|
-
"
|
129
|
+
"formats" => Array.wrap(meta.fetch("encodingFormat", nil) || meta.fetch("fileFormat", nil)).unwrap,
|
130
130
|
"title" => meta.fetch("name", nil),
|
131
131
|
"creator" => author,
|
132
132
|
"editor" => editor,
|
@@ -139,7 +139,7 @@ module Bolognese
|
|
139
139
|
"date_modified" => meta.fetch("dateModified", nil),
|
140
140
|
"description" => meta.fetch("description", nil).present? ? { "text" => sanitize(meta.fetch("description")) } : nil,
|
141
141
|
"rights" => rights,
|
142
|
-
"
|
142
|
+
"version" => meta.fetch("version", nil),
|
143
143
|
"keywords" => meta.fetch("keywords", nil).to_s.split(", "),
|
144
144
|
"state" => state,
|
145
145
|
"schema_version" => meta.fetch("schemaVersion", nil),
|
data/lib/bolognese/version.rb
CHANGED
@@ -10,7 +10,7 @@ module Bolognese
|
|
10
10
|
bibtex_type: bibtex_type.presence || "misc",
|
11
11
|
bibtex_key: identifier,
|
12
12
|
doi: doi,
|
13
|
-
url:
|
13
|
+
url: url,
|
14
14
|
author: authors_as_string(creator),
|
15
15
|
keywords: keywords.present? ? Array.wrap(keywords).map { |k| parse_attributes(k, content: "text", first: true) }.join(", ") : nil,
|
16
16
|
language: language,
|
@@ -11,11 +11,11 @@ module Bolognese
|
|
11
11
|
"@type" => type,
|
12
12
|
"@id" => identifier,
|
13
13
|
"identifier" => identifier,
|
14
|
-
"codeRepository" =>
|
14
|
+
"codeRepository" => url,
|
15
15
|
"title" => title,
|
16
16
|
"agents" => creator,
|
17
17
|
"description" => parse_attributes(description, content: "text", first: true),
|
18
|
-
"version" =>
|
18
|
+
"version" => version,
|
19
19
|
"tags" => keywords.to_s.split(", ").presence,
|
20
20
|
"datePublished" => date_published,
|
21
21
|
"dateModified" => date_modified,
|
@@ -7,7 +7,7 @@ module Bolognese
|
|
7
7
|
hsh = {
|
8
8
|
"id" => identifier,
|
9
9
|
"doi" => doi,
|
10
|
-
"url" =>
|
10
|
+
"url" => url,
|
11
11
|
"type" => type,
|
12
12
|
"additional_type" => additional_type,
|
13
13
|
"citeproc_type" => citeproc_type,
|
@@ -27,8 +27,8 @@ module Bolognese
|
|
27
27
|
"language" => language,
|
28
28
|
"alternate_identifiers" => alternate_identifiers,
|
29
29
|
"size" => size,
|
30
|
-
"
|
31
|
-
"version" =>
|
30
|
+
"formats" => formats,
|
31
|
+
"version" => version,
|
32
32
|
"rights" => rights,
|
33
33
|
"description" => description,
|
34
34
|
"volume" => volume,
|
@@ -7,7 +7,7 @@ module Bolognese
|
|
7
7
|
hsh = {
|
8
8
|
"id" => identifier,
|
9
9
|
"doi" => doi,
|
10
|
-
"url" =>
|
10
|
+
"url" => url,
|
11
11
|
"creator" => creator,
|
12
12
|
"title" => title,
|
13
13
|
"publisher" => publisher,
|
@@ -24,8 +24,8 @@ module Bolognese
|
|
24
24
|
"alternate-identifiers" => alternate_identifiers,
|
25
25
|
"related-identifiers" => related_identifiers,
|
26
26
|
"size" => size,
|
27
|
-
"
|
28
|
-
"version" =>
|
27
|
+
"formats" => formats,
|
28
|
+
"version" => version,
|
29
29
|
"rights" => rights,
|
30
30
|
"description" => description,
|
31
31
|
"geo-location" => geo_location,
|
@@ -22,7 +22,7 @@ module Bolognese
|
|
22
22
|
insert_issue(xml) if issue.present?
|
23
23
|
insert_fpage(xml) if first_page.present?
|
24
24
|
insert_lpage(xml) if last_page.present?
|
25
|
-
insert_version(xml) if
|
25
|
+
insert_version(xml) if version.present?
|
26
26
|
insert_pub_id(xml)
|
27
27
|
end
|
28
28
|
|
@@ -112,7 +112,7 @@ module Bolognese
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def insert_version(xml)
|
115
|
-
xml.version(
|
115
|
+
xml.version(version)
|
116
116
|
end
|
117
117
|
|
118
118
|
def insert_pub_id(xml)
|
@@ -10,7 +10,7 @@ module Bolognese
|
|
10
10
|
"T2" => periodical && periodical["title"],
|
11
11
|
"AU" => to_ris(creator),
|
12
12
|
"DO" => doi,
|
13
|
-
"UR" =>
|
13
|
+
"UR" => url,
|
14
14
|
"AB" => parse_attributes(description, content: "text", first: true),
|
15
15
|
"KW" => Array.wrap(keywords).map { |k| parse_attributes(k, content: "text", first: true) }.presence,
|
16
16
|
"PY" => publication_year,
|
@@ -8,18 +8,18 @@ module Bolognese
|
|
8
8
|
"@type" => type,
|
9
9
|
"@id" => identifier,
|
10
10
|
"identifier" => to_schema_org_identifier(identifier, alternate_identifiers: alternate_identifiers),
|
11
|
-
"url" =>
|
11
|
+
"url" => url,
|
12
12
|
"additionalType" => additional_type,
|
13
13
|
"name" => parse_attributes(title, content: "text", first: true),
|
14
14
|
"author" => to_schema_org(creator),
|
15
15
|
"editor" => to_schema_org(editor),
|
16
16
|
"description" => parse_attributes(description, content: "text", first: true),
|
17
17
|
"license" => Array.wrap(rights).map { |l| l["id"] }.compact.unwrap,
|
18
|
-
"version" =>
|
18
|
+
"version" => version,
|
19
19
|
"keywords" => keywords.present? ? Array.wrap(keywords).map { |k| parse_attributes(k, content: "text", first: true) }.join(", ") : nil,
|
20
20
|
"inLanguage" => language,
|
21
21
|
"contentSize" => size,
|
22
|
-
"encodingFormat" =>
|
22
|
+
"encodingFormat" => formats,
|
23
23
|
"dateCreated" => Array.wrap(dates).find { |d| d["type"] == "Created" }.to_h.fetch("__content__", nil),
|
24
24
|
"datePublished" => date_published,
|
25
25
|
"dateModified" => date_modified,
|
@@ -30,7 +30,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
30
30
|
expect(subject.valid?).to be true
|
31
31
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
32
32
|
expect(subject.type).to eq("ScholarlyArticle")
|
33
|
-
expect(subject.
|
33
|
+
expect(subject.url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
34
34
|
expect(subject.resource_type_general).to eq("Text")
|
35
35
|
expect(subject.creator.length).to eq(5)
|
36
36
|
expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Martial Sankar", "givenName"=>"Martial", "familyName"=>"Sankar")
|
@@ -17,7 +17,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
17
17
|
it "BlogPosting" do
|
18
18
|
expect(subject.valid?).to be true
|
19
19
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
20
|
-
expect(subject.
|
20
|
+
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
21
21
|
expect(subject.type).to eq("BlogPosting")
|
22
22
|
expect(subject.resource_type_general).to eq("Text")
|
23
23
|
expect(subject.creator).to eq("type"=>"Person", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -19,7 +19,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
19
19
|
it "maremma" do
|
20
20
|
expect(subject.valid?).to be true
|
21
21
|
expect(subject.identifier).to eq("https://doi.org/10.5438/qeg0-3gm3")
|
22
|
-
expect(subject.
|
22
|
+
expect(subject.url).to eq("https://github.com/datacite/maremma")
|
23
23
|
expect(subject.type).to eq("SoftwareSourceCode")
|
24
24
|
expect(subject.creator).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
25
25
|
expect(subject.title).to eq("Maremma: a Ruby library for simplified network calls")
|
@@ -35,7 +35,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
35
35
|
input = fixture_path + 'codemeta.json'
|
36
36
|
subject = Bolognese::Metadata.new(input: input)
|
37
37
|
expect(subject.identifier).to eq("https://doi.org/10.5063/f1m61h5x")
|
38
|
-
expect(subject.
|
38
|
+
expect(subject.url).to eq("https://github.com/DataONEorg/rdataone")
|
39
39
|
expect(subject.type).to eq("SoftwareSourceCode")
|
40
40
|
expect(subject.creator).to eq( [{"type"=>"Person",
|
41
41
|
"id"=>"http://orcid.org/0000-0003-0077-4738",
|
@@ -51,7 +51,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
51
51
|
expect(subject.title).to eq("R Interface to the DataONE REST API")
|
52
52
|
expect(subject.description["text"]).to start_with("Provides read and write access to data and metadata")
|
53
53
|
expect(subject.keywords).to eq(["data sharing", "data repository", "DataONE"])
|
54
|
-
expect(subject.
|
54
|
+
expect(subject.version).to eq("2.0.0")
|
55
55
|
expect(subject.dates).to eq("2016-05-27")
|
56
56
|
expect(subject.date_published).to eq("2016-05-27")
|
57
57
|
expect(subject.date_modified).to eq("2016-05-27")
|
@@ -63,7 +63,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
63
63
|
subject = Bolognese::Metadata.new(input: input)
|
64
64
|
expect(subject.valid?).to be true
|
65
65
|
expect(subject.identifier).to eq("https://doi.org/10.5438/qeg0-3gm3")
|
66
|
-
expect(subject.
|
66
|
+
expect(subject.url).to eq("https://github.com/datacite/maremma")
|
67
67
|
expect(subject.type).to eq("SoftwareSourceCode")
|
68
68
|
expect(subject.creator).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-0077-4738", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
69
69
|
expect(subject.title).to eq("Maremma: a Ruby library for simplified network calls")
|
@@ -80,7 +80,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
80
80
|
subject = Bolognese::Metadata.new(input: input)
|
81
81
|
expect(subject.valid?).to be true
|
82
82
|
expect(subject.identifier).to eq("https://doi.org/10.5438/wr0x-e194")
|
83
|
-
expect(subject.
|
83
|
+
expect(subject.url).to eq("https://github.com/datacite/metadata-reports")
|
84
84
|
expect(subject.type).to eq("SoftwareSourceCode")
|
85
85
|
expect(subject.creator.size).to eq(4)
|
86
86
|
expect(subject.creator.last).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-8135-3489", "name"=>"Lars Holm Nielsen", "givenName"=>"Lars Holm", "familyName"=>"Nielsen")
|
@@ -20,7 +20,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
20
20
|
expect(subject.valid?).to be true
|
21
21
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
22
22
|
expect(subject.type).to eq("ScholarlyArticle")
|
23
|
-
expect(subject.
|
23
|
+
expect(subject.url).to eq("https://elifesciences.org/articles/01567")
|
24
24
|
expect(subject.additional_type).to eq("JournalArticle")
|
25
25
|
expect(subject.bibtex_type).to eq("article")
|
26
26
|
expect(subject.ris_type).to eq("JOUR")
|
@@ -55,7 +55,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
55
55
|
subject = Bolognese::Metadata.new(input: input)
|
56
56
|
expect(subject.valid?).to be true
|
57
57
|
expect(subject.identifier).to eq(input)
|
58
|
-
expect(subject.
|
58
|
+
expect(subject.url).to eq("http://dx.plos.org/10.1371/journal.pone.0000030")
|
59
59
|
expect(subject.type).to eq("ScholarlyArticle")
|
60
60
|
expect(subject.additional_type).to eq("JournalArticle")
|
61
61
|
expect(subject.bibtex_type).to eq("article")
|
@@ -83,7 +83,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
83
83
|
subject = Bolognese::Metadata.new(input: input)
|
84
84
|
expect(subject.valid?).to be true
|
85
85
|
expect(subject.identifier).to eq(input)
|
86
|
-
expect(subject.
|
86
|
+
expect(subject.url).to eq("http://biorxiv.org/lookup/doi/10.1101/097196")
|
87
87
|
expect(subject.type).to eq("ScholarlyArticle")
|
88
88
|
expect(subject.additional_type).to eq("PostedContent")
|
89
89
|
expect(subject.bibtex_type).to eq("article")
|
@@ -106,7 +106,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
106
106
|
subject = Bolognese::Metadata.new(input: input)
|
107
107
|
expect(subject.valid?).to be true
|
108
108
|
expect(subject.identifier).to eq("https://doi.org/10.1890/0012-9658(2006)87%5B2832:tiopma%5D2.0.co;2")
|
109
|
-
expect(subject.
|
109
|
+
expect(subject.url).to eq("http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2")
|
110
110
|
expect(subject.type).to eq("ScholarlyArticle")
|
111
111
|
expect(subject.additional_type).to eq("JournalArticle")
|
112
112
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -129,7 +129,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
129
129
|
subject = Bolognese::Metadata.new(input: input)
|
130
130
|
expect(subject.valid?).to be true
|
131
131
|
expect(subject.identifier).to eq("https://doi.org/10.1155/2012/291294")
|
132
|
-
expect(subject.
|
132
|
+
expect(subject.url).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
|
133
133
|
expect(subject.type).to eq("ScholarlyArticle")
|
134
134
|
expect(subject.additional_type).to eq("JournalArticle")
|
135
135
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -153,7 +153,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
153
153
|
subject = Bolognese::Metadata.new(input: input)
|
154
154
|
expect(subject.valid?).to be true
|
155
155
|
expect(subject.identifier).to eq(input)
|
156
|
-
expect(subject.
|
156
|
+
expect(subject.url).to eq("http://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
|
157
157
|
expect(subject.type).to eq("ScholarlyArticle")
|
158
158
|
expect(subject.additional_type).to eq("JournalArticle")
|
159
159
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -172,7 +172,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
172
172
|
subject = Bolognese::Metadata.new(input: input)
|
173
173
|
expect(subject.valid?).to be true
|
174
174
|
expect(subject.identifier).to eq("https://doi.org/10.2210/pdb4hhb/pdb")
|
175
|
-
expect(subject.
|
175
|
+
expect(subject.url).to eq("ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/hh/pdb4hhb.ent.gz")
|
176
176
|
expect(subject.type).to eq("ScholarlyArticle")
|
177
177
|
expect(subject.additional_type).to eq("SaComponent")
|
178
178
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -195,7 +195,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
195
195
|
subject = Bolognese::Metadata.new(input: input)
|
196
196
|
expect(subject.valid?).to be true
|
197
197
|
expect(subject.identifier).to eq("https://doi.org/10.1007/978-3-662-46370-3_13")
|
198
|
-
expect(subject.
|
198
|
+
expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-662-46370-3_13")
|
199
199
|
expect(subject.type).to eq("Chapter")
|
200
200
|
expect(subject.additional_type).to eq("BookChapter")
|
201
201
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -216,7 +216,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
216
216
|
subject = Bolognese::Metadata.new(input: input)
|
217
217
|
expect(subject.valid?).to be true
|
218
218
|
expect(subject.identifier).to eq(input)
|
219
|
-
expect(subject.
|
219
|
+
expect(subject.url).to eq("http://doi.wiley.com/10.1111/nph.14619")
|
220
220
|
expect(subject.type).to eq("ScholarlyArticle")
|
221
221
|
expect(subject.additional_type).to eq("JournalArticle")
|
222
222
|
expect(subject.resource_type_general).to eq("Text")
|
@@ -19,7 +19,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
19
19
|
it "Dataset" do
|
20
20
|
expect(subject.valid?).to be true
|
21
21
|
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
22
|
-
expect(subject.
|
22
|
+
expect(subject.url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
23
23
|
expect(subject.type).to eq("Dataset")
|
24
24
|
expect(subject.additional_type).to eq("DataPackage")
|
25
25
|
expect(subject.resource_type_general).to eq("Dataset")
|
@@ -441,7 +441,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
441
441
|
expect(subject.alternate_identifiers).to eq("type"=>"ISBN", "name"=>"937-0-4523-12357-6")
|
442
442
|
expect(subject.date_published).to eq("2010")
|
443
443
|
expect(subject.size).to eq("256 pages")
|
444
|
-
expect(subject.
|
444
|
+
expect(subject.formats).to eq("pdf")
|
445
445
|
expect(subject.content_url).to eq("https://example.org/report.pdf")
|
446
446
|
expect(subject.publication_year).to eq(2010)
|
447
447
|
expect(subject.related_identifiers.length).to eq(1)
|
@@ -568,7 +568,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
568
568
|
"givenName"=>"Henk",
|
569
569
|
"familyName"=>"Eskes"}])
|
570
570
|
expect(subject.title).to eq("Multi-Sensor Reanalysis (MSR) of total ozone, version 2")
|
571
|
-
expect(subject.
|
571
|
+
expect(subject.version).to eq("2")
|
572
572
|
expect(subject.date_published).to eq("2015")
|
573
573
|
expect(subject.publisher).to eq("Royal Netherlands Meteorological Institute (KNMI)")
|
574
574
|
expect(subject.service_provider).to eq("DataCite")
|
@@ -682,7 +682,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
682
682
|
expect(subject.valid?).to be true
|
683
683
|
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
684
684
|
expect(subject.doi).to eq("10.5061/dryad.8515")
|
685
|
-
expect(subject.
|
685
|
+
expect(subject.url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
686
686
|
expect(subject.type).to eq("Dataset")
|
687
687
|
expect(subject.title).to eq("A new malaria agent in African hominids.")
|
688
688
|
end
|
@@ -692,7 +692,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
692
692
|
expect(subject.valid?).to be true
|
693
693
|
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
694
694
|
expect(subject.doi).to eq("10.5061/dryad.8515")
|
695
|
-
expect(subject.
|
695
|
+
expect(subject.url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
696
696
|
expect(subject.type).to eq("Dataset")
|
697
697
|
expect(subject.title).to eq("Data from: A new malaria agent in African hominids.")
|
698
698
|
expect(subject.state).to eq("registered")
|
@@ -716,13 +716,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
716
716
|
|
717
717
|
it "GTEx dataset" do
|
718
718
|
input = fixture_path + 'gtex.xml'
|
719
|
-
|
719
|
+
url = "https://ors.datacite.org/doi:/10.25491/9hx8-ke93"
|
720
720
|
content_url = "https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz"
|
721
|
-
subject = Bolognese::Metadata.new(input: input, from: 'datacite',
|
721
|
+
subject = Bolognese::Metadata.new(input: input, from: 'datacite', url: url, content_url: content_url)
|
722
722
|
|
723
723
|
expect(subject.valid?).to be true
|
724
724
|
expect(subject.identifier).to eq("https://doi.org/10.25491/9hx8-ke93")
|
725
|
-
expect(subject.
|
725
|
+
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.25491/9hx8-ke93")
|
726
726
|
expect(subject.content_url).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz")
|
727
727
|
expect(subject.type).to eq("Dataset")
|
728
728
|
expect(subject.additional_type).to eq("DroNc-seq data")
|
@@ -732,7 +732,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
732
732
|
expect(subject.date_published).to eq("2017")
|
733
733
|
expect(subject.related_identifiers.length).to eq(4)
|
734
734
|
expect(subject.related_identifiers.last).to eq("id"=>"https://www.ebi.ac.uk/miriam/main/datatypes/MIR:00000663", "related_identifier_type"=>"URL", "relation_type"=>"IsPartOf")
|
735
|
-
expect(subject.
|
735
|
+
expect(subject.formats).to eq("application/tar")
|
736
736
|
expect(subject.size).to eq("15.7M")
|
737
737
|
expect(subject.periodical).to eq("id"=>"https://www.ebi.ac.uk/miriam/main/datatypes/MIR:00000663", "title"=>"GTEx", "type"=>"DataCatalog")
|
738
738
|
expect(subject.publisher).to eq("GTEx")
|
@@ -30,7 +30,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
30
30
|
expect(subject.valid?).to be true
|
31
31
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
32
32
|
expect(subject.type).to eq("ScholarlyArticle")
|
33
|
-
expect(subject.
|
33
|
+
expect(subject.url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
34
34
|
expect(subject.resource_type_general).to eq("Text")
|
35
35
|
expect(subject.creator.length).to eq(5)
|
36
36
|
expect(subject.creator.first).to eq("type"=>"Person",
|
@@ -20,7 +20,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
20
20
|
it "BlogPosting" do
|
21
21
|
expect(subject.valid?).to be true
|
22
22
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
23
|
-
expect(subject.
|
23
|
+
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
24
24
|
expect(subject.type).to eq("BlogPosting")
|
25
25
|
expect(subject.creator).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
26
26
|
expect(subject.title).to eq("Eating your own Dog Food")
|
@@ -38,7 +38,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
38
38
|
expect(subject.valid?).to be true
|
39
39
|
expect(subject.identifier).to eq("https://doi.org/10.5438/0000-00ss")
|
40
40
|
expect(subject.doi).to eq("10.5438/0000-00ss")
|
41
|
-
expect(subject.
|
41
|
+
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
42
42
|
expect(subject.type).to eq("BlogPosting")
|
43
43
|
end
|
44
44
|
|
@@ -49,7 +49,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
49
49
|
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'.")
|
50
50
|
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1196821")
|
51
51
|
expect(subject.doi).to eq("10.5281/zenodo.1196821")
|
52
|
-
expect(subject.
|
52
|
+
expect(subject.url).to eq("https://zenodo.org/record/1196821")
|
53
53
|
expect(subject.type).to eq("Dataset")
|
54
54
|
expect(subject.title).to eq("PsPM-SC4B: SCR, ECG, EMG, PSR and respiration measurements in a delay fear conditioning task with auditory CS and electrical US")
|
55
55
|
expect(subject.creator.size).to eq(6)
|
@@ -62,7 +62,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
62
62
|
expect(subject.valid?).to be true
|
63
63
|
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.836178")
|
64
64
|
expect(subject.doi).to eq("10.1594/pangaea.836178")
|
65
|
-
expect(subject.
|
65
|
+
expect(subject.url).to eq("https://doi.pangaea.de/10.1594/PANGAEA.836178")
|
66
66
|
expect(subject.type).to eq("Dataset")
|
67
67
|
expect(subject.title).to eq("Hydrological and meteorological investigations in a lake near Kangerlussuaq, west Greenland")
|
68
68
|
expect(subject.creator.size).to eq(8)
|
@@ -77,7 +77,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
77
77
|
# #expect(subject.errors).to be true
|
78
78
|
# expect(subject.identifier).to eq("https://doi.org/10.3334/ornldaac/1418")
|
79
79
|
# expect(subject.doi).to eq("10.3334/ornldaac/1418")
|
80
|
-
# expect(subject.
|
80
|
+
# expect(subject.url).to eq("https://doi.org/10.3334/ornldaac/1418")
|
81
81
|
# expect(subject.type).to eq("DataSet")
|
82
82
|
# expect(subject.title).to eq("AirMOSS: L2/3 Volumetric Soil Moisture Profiles Derived From Radar, 2012-2015")
|
83
83
|
# expect(subject.creator.size).to eq(8)
|
@@ -116,7 +116,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
116
116
|
subject = Bolognese::Metadata.new(input: input)
|
117
117
|
expect(subject.valid?).to be true
|
118
118
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
119
|
-
expect(subject.
|
119
|
+
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
120
120
|
expect(subject.type).to eq("BlogPosting")
|
121
121
|
expect(subject.creator).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
122
122
|
expect(subject.title).to eq("Eating your own Dog Food")
|
@@ -136,13 +136,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
136
136
|
expect(subject.valid?).to be true
|
137
137
|
expect(subject.identifier).to eq("https://doi.org/10.25491/d50j-3083")
|
138
138
|
expect(subject.alternate_identifiers).to eq("name"=>"687610993", "type"=>"md5")
|
139
|
-
expect(subject.
|
139
|
+
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.25491/d50j-3083")
|
140
140
|
expect(subject.content_url).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz")
|
141
141
|
expect(subject.type).to eq("Dataset")
|
142
142
|
expect(subject.additional_type).to eq("Gene expression matrices")
|
143
143
|
expect(subject.creator).to eq("name"=>"The GTEx Consortium", "type"=>"Organization")
|
144
144
|
expect(subject.title).to eq("Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery")
|
145
|
-
expect(subject.
|
145
|
+
expect(subject.version).to eq("v7")
|
146
146
|
expect(subject.keywords).to eq(["gtex", "annotation", "phenotype", "gene regulation", "transcriptomics"])
|
147
147
|
expect(subject.date_published).to eq("2017")
|
148
148
|
expect(subject.periodical).to eq("title"=>"GTEx", "type"=>"DataCatalog")
|
@@ -158,7 +158,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
158
158
|
expect(subject.valid?).to be true
|
159
159
|
expect(subject.identifier).to eq("https://doi.org/10.23725/8na3-9s47")
|
160
160
|
expect(subject.alternate_identifiers).to eq([{"name"=>"3b33f6b9338fccab0901b7d317577ea3", "type"=>"md5"}, {"name"=>"ark:/99999/fk41CrU4eszeLUDe", "type"=>"minid"}, {"name"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7", "type"=>"dataguid"}])
|
161
|
-
expect(subject.
|
161
|
+
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/8na3-9s47")
|
162
162
|
expect(subject.content_url).to eq(["s3://cgp-commons-public/topmed_open_access/197bc047-e917-55ed-852d-d563cdbc50e4/NWD165827.recab.cram", "gs://topmed-irc-share/public/NWD165827.recab.cram"])
|
163
163
|
expect(subject.type).to eq("Dataset")
|
164
164
|
expect(subject.additional_type).to eq("CRAM file")
|
@@ -211,7 +211,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
211
211
|
expect(subject.valid?).to be true
|
212
212
|
expect(subject.identifier).to eq("https://doi.org/10.23725/7jg3-v803")
|
213
213
|
expect(subject.alternate_identifiers).to eq([{"name"=>"ark:/99999/fk4E1n6n1YHKxPk", "type"=>"minid"}, {"name"=>"dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d", "type"=>"dataguid"}, {"name"=>"f9e72bdf25bf4b4f0e581d9218fec2eb", "type"=>"md5"}])
|
214
|
-
expect(subject.
|
214
|
+
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/7jg3-v803")
|
215
215
|
expect(subject.content_url).to eq(["s3://cgp-commons-public/topmed_open_access/44a8837b-4456-5709-b56b-54e23000f13a/NWD100953.recab.cram","gs://topmed-irc-share/public/NWD100953.recab.cram","dos://dos.commons.ucsc-cgp.org/01b048d0-e128-4cb0-94e9-b2d2cab7563d?version=2018-05-26T133719.491772Z"])
|
216
216
|
expect(subject.type).to eq("Dataset")
|
217
217
|
expect(subject.additional_type).to eq("CRAM file")
|
@@ -119,9 +119,9 @@ describe Bolognese::Metadata, vcr: true do
|
|
119
119
|
|
120
120
|
it "author is organization" do
|
121
121
|
input = fixture_path + 'gtex.xml'
|
122
|
-
|
122
|
+
url = "https://ors.datacite.org/doi:/10.25491/9hx8-ke93"
|
123
123
|
content_url = "https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz"
|
124
|
-
subject = Bolognese::Metadata.new(input: input,
|
124
|
+
subject = Bolognese::Metadata.new(input: input, url: url, content_url: content_url, from: "datacite")
|
125
125
|
json = JSON.parse(subject.schema_org)
|
126
126
|
expect(json["@id"]).to eq("https://doi.org/10.25491/9hx8-ke93")
|
127
127
|
expect(json["author"]).to eq("@type"=>"Organization", "name"=>"The GTEx Consortium")
|