commonmeta-ruby 3.5.1 → 3.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +4 -4
- data/lib/commonmeta/metadata_utils.rb +2 -0
- data/lib/commonmeta/readers/json_feed_reader.rb +13 -2
- data/lib/commonmeta/version.rb +1 -1
- data/lib/commonmeta/writers/commonmeta_writer.rb +11 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_commonmeta/with_data_citation.yml +247 -0
- data/spec/readers/json_feed_reader_spec.rb +10 -9
- data/spec/writers/commonmeta_writer_spec.rb +43 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c2acea093c17e097fef5234c724c32893b6df9bb8192fcd356bbee1321d5ad5
|
4
|
+
data.tar.gz: 9a93f805c39e517b7659d91508918bb7ad84a9270700f9662f90910fcf081f21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 570d1f410f9dd9608967697c3f3f6476cf767877441d3626eccf9993d56d551588bf2b39d514f5cfcd96043ad44f379c325334802f015445d99e19438d05f5a7
|
7
|
+
data.tar.gz: '0678f6e2adc93ac9d740654efc9b5583e525dc1496fc75d01d22be26939ac8f07fd0c00f58e635ce4a97e1344672ef162c95ddfae72f489b3db72e5a51eb028d'
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
commonmeta-ruby (3.5.
|
4
|
+
commonmeta-ruby (3.5.3)
|
5
5
|
activesupport (>= 4.2.5, < 8.0)
|
6
6
|
addressable (~> 2.8.1, < 2.8.2)
|
7
7
|
base32-url (>= 0.7.0, < 1)
|
@@ -73,7 +73,7 @@ GEM
|
|
73
73
|
feedparser (2.2.0)
|
74
74
|
logutils (>= 0.6.1)
|
75
75
|
textutils (>= 1.0.0)
|
76
|
-
ffi (1.
|
76
|
+
ffi (1.16.2)
|
77
77
|
ffi-compiler (1.0.1)
|
78
78
|
ffi (>= 1.0.0)
|
79
79
|
rake
|
@@ -179,7 +179,7 @@ GEM
|
|
179
179
|
rspec-xsd (0.1.0)
|
180
180
|
nokogiri (~> 1.6)
|
181
181
|
rspec (~> 3)
|
182
|
-
rubocop (1.56.
|
182
|
+
rubocop (1.56.4)
|
183
183
|
base64 (~> 0.1.1)
|
184
184
|
json (~> 2.3)
|
185
185
|
language_server-protocol (>= 3.17.0)
|
@@ -202,7 +202,7 @@ GEM
|
|
202
202
|
rubocop-ast (>= 0.4.0)
|
203
203
|
rubocop-rake (0.6.0)
|
204
204
|
rubocop (~> 1.0)
|
205
|
-
rubocop-rspec (2.24.
|
205
|
+
rubocop-rspec (2.24.1)
|
206
206
|
rubocop (~> 1.33)
|
207
207
|
rubocop-capybara (~> 2.17)
|
208
208
|
rubocop-factory_bot (~> 2.22)
|
@@ -22,6 +22,7 @@ require_relative 'writers/bibtex_writer'
|
|
22
22
|
require_relative 'writers/citation_writer'
|
23
23
|
require_relative 'writers/cff_writer'
|
24
24
|
require_relative 'writers/codemeta_writer'
|
25
|
+
require_relative 'writers/commonmeta_writer'
|
25
26
|
require_relative 'writers/crossref_xml_writer'
|
26
27
|
require_relative 'writers/csl_writer'
|
27
28
|
require_relative 'writers/csv_writer'
|
@@ -56,6 +57,7 @@ module Commonmeta
|
|
56
57
|
include Commonmeta::Writers::CitationWriter
|
57
58
|
include Commonmeta::Writers::CffWriter
|
58
59
|
include Commonmeta::Writers::CodemetaWriter
|
60
|
+
include Commonmeta::Writers::CommonmetaWriter
|
59
61
|
include Commonmeta::Writers::CrossrefXmlWriter
|
60
62
|
include Commonmeta::Writers::CslWriter
|
61
63
|
include Commonmeta::Writers::CsvWriter
|
@@ -129,8 +129,19 @@ module Commonmeta
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def get_funding_references(meta)
|
132
|
-
# check that relationships resolve and have type "HasAward"
|
133
|
-
|
132
|
+
# check that relationships resolve and have type "HasAward" or funding is provided by blog metadata
|
133
|
+
if funding = meta.dig("blog", "funding")
|
134
|
+
fundref = {
|
135
|
+
"funderIdentifier" => funding["funder_id"],
|
136
|
+
"funderIdentifierType" => "Crossref Funder ID",
|
137
|
+
"funderName" => funding["funder_name"],
|
138
|
+
"awardNumber" => funding["award_number"]
|
139
|
+
}
|
140
|
+
|
141
|
+
else
|
142
|
+
fundref = nil
|
143
|
+
end
|
144
|
+
Array.wrap(fundref) + Array.wrap(meta["relationships"]).reduce([]) do |sum, relationship|
|
134
145
|
begin
|
135
146
|
# funder is European Commission
|
136
147
|
if validate_prefix(relationship["url"]) == "10.3030" || URI.parse(relationship["url"]).host == "cordis.europa.eu"
|
data/lib/commonmeta/version.rb
CHANGED
@@ -0,0 +1,247 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.7554/elife.01567
|
6
|
+
body:
|
7
|
+
encoding: ASCII-8BIT
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Connection:
|
11
|
+
- close
|
12
|
+
Host:
|
13
|
+
- api.crossref.org
|
14
|
+
User-Agent:
|
15
|
+
- http.rb/5.1.1
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Sun, 01 Oct 2023 12:13:43 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json
|
25
|
+
Transfer-Encoding:
|
26
|
+
- chunked
|
27
|
+
Access-Control-Expose-Headers:
|
28
|
+
- Link
|
29
|
+
Access-Control-Allow-Headers:
|
30
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
31
|
+
Accept-Ranges, Cache-Control
|
32
|
+
Access-Control-Allow-Origin:
|
33
|
+
- "*"
|
34
|
+
Server:
|
35
|
+
- Jetty(9.4.40.v20210413)
|
36
|
+
X-Ratelimit-Limit:
|
37
|
+
- '50'
|
38
|
+
X-Ratelimit-Interval:
|
39
|
+
- 1s
|
40
|
+
X-Api-Pool:
|
41
|
+
- public
|
42
|
+
X-Rate-Limit-Limit:
|
43
|
+
- '50'
|
44
|
+
X-Rate-Limit-Interval:
|
45
|
+
- 1s
|
46
|
+
Permissions-Policy:
|
47
|
+
- interest-cohort=()
|
48
|
+
Connection:
|
49
|
+
- close
|
50
|
+
body:
|
51
|
+
encoding: UTF-8
|
52
|
+
string: '{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,7]],"date-time":"2023-09-07T18:48:27Z","timestamp":1694112507116},"reference-count":27,"publisher":"eLife
|
53
|
+
Sciences Publications, Ltd","license":[{"start":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T00:00:00Z","timestamp":1392076800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"},{"start":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T00:00:00Z","timestamp":1392076800000},"content-version":"am","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"},{"start":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T00:00:00Z","timestamp":1392076800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"},{"start":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T00:00:00Z","timestamp":1392076800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"},{"start":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T00:00:00Z","timestamp":1392076800000},"content-version":"am","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"},{"start":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T00:00:00Z","timestamp":1392076800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"}],"funder":[{"name":"SystemsX"},{"name":"EMBO
|
54
|
+
longterm post-doctoral fellowships"},{"name":"Marie Heim-Voegtlin"},{"DOI":"10.13039\/501100006390","name":"University
|
55
|
+
of Lausanne","doi-asserted-by":"crossref"},{"name":"SystemsX"},{"DOI":"10.13039\/501100003043","name":"EMBO","doi-asserted-by":"publisher"},{"DOI":"10.13039\/501100001711","name":"Swiss
|
56
|
+
National Science Foundation","doi-asserted-by":"publisher"},{"DOI":"10.13039\/501100006390","name":"University
|
57
|
+
of Lausanne","doi-asserted-by":"crossref"}],"content-domain":{"domain":["www.elifesciences.org"],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:p>Among
|
58
|
+
various advantages, their small size makes model organisms preferred subjects
|
59
|
+
of investigation. Yet, even in model systems detailed analysis of numerous
|
60
|
+
developmental processes at cellular level is severely hampered by their scale.
|
61
|
+
For instance, secondary growth of Arabidopsis hypocotyls creates a radial
|
62
|
+
pattern of highly specialized tissues that comprises several thousand cells
|
63
|
+
starting from a few dozen. This dynamic process is difficult to follow because
|
64
|
+
of its scale and because it can only be investigated invasively, precluding
|
65
|
+
comprehensive understanding of the cell proliferation, differentiation, and
|
66
|
+
patterning events involved. To overcome such limitation, we established an
|
67
|
+
automated quantitative histology approach. We acquired hypocotyl cross-sections
|
68
|
+
from tiled high-resolution images and extracted their information content
|
69
|
+
using custom high-throughput image processing and segmentation. Coupled with
|
70
|
+
automated cell type recognition through machine learning, we could establish
|
71
|
+
a cellular resolution atlas that reveals vascular morphodynamics during secondary
|
72
|
+
growth, for example equidistant phloem pole formation.<\/jats:p>","DOI":"10.7554\/elife.01567","type":"journal-article","created":{"date-parts":[[2014,2,11]],"date-time":"2014-02-11T16:29:04Z","timestamp":1392136144000},"source":"Crossref","is-referenced-by-count":31,"title":["Automated
|
73
|
+
quantitative histology reveals vascular morphodynamics during Arabidopsis
|
74
|
+
hypocotyl secondary growth"],"prefix":"10.7554","volume":"3","author":[{"given":"Martial","family":"Sankar","sequence":"first","affiliation":[{"name":"Department
|
75
|
+
of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}]},{"given":"Kaisa","family":"Nieminen","sequence":"additional","affiliation":[{"name":"Department
|
76
|
+
of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}]},{"given":"Laura","family":"Ragni","sequence":"additional","affiliation":[{"name":"Department
|
77
|
+
of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}]},{"given":"Ioannis","family":"Xenarios","sequence":"additional","affiliation":[{"name":"Vital-IT,
|
78
|
+
Swiss Institute of Bioinformatics, Lausanne, Switzerland"}]},{"given":"Christian
|
79
|
+
S","family":"Hardtke","sequence":"additional","affiliation":[{"name":"Department
|
80
|
+
of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}]}],"member":"4374","published-online":{"date-parts":[[2014,2,11]]},"reference":[{"key":"bib1","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1038\/nature02100","article-title":"APL
|
81
|
+
regulates vascular tissue identity in Arabidopsis","volume":"426","author":"Bonke","year":"2003","journal-title":"Nature"},{"key":"bib2","doi-asserted-by":"publisher","first-page":"413","DOI":"10.1534\/genetics.109.104976","article-title":"In
|
82
|
+
the beginning was the worm","volume":"182","author":"Brenner","year":"2009","journal-title":"Genetics"},{"key":"bib3","doi-asserted-by":"publisher","first-page":"594","DOI":"10.1034\/j.1399-3054.2002.1140413.x","article-title":"Secondary
|
83
|
+
xylem development in Arabidopsis: a model for wood formation","volume":"114","author":"Chaffey","year":"2002","journal-title":"Physiologia
|
84
|
+
Plantarum"},{"key":"bib4","doi-asserted-by":"publisher","first-page":"2119","DOI":"10.1162\/089976601750399335","article-title":"Training
|
85
|
+
nu-support vector classifiers: theory and algorithms","volume":"13","author":"Chang","year":"2001","journal-title":"Neural
|
86
|
+
computation"},{"key":"bib5","doi-asserted-by":"crossref","first-page":"273","DOI":"10.1007\/BF00994018","article-title":"Support-vector
|
87
|
+
Networks","volume":"20","author":"Cortes","year":"1995","journal-title":"Machine
|
88
|
+
Learning"},{"key":"bib6","doi-asserted-by":"crossref","first-page":"71","DOI":"10.1242\/dev.119.1.71","article-title":"Cellular
|
89
|
+
organisation of the Arabidopsis thaliana root","volume":"119","author":"Dolan","year":"1993","journal-title":"Development"},{"key":"bib7","doi-asserted-by":"publisher","first-page":"1097","DOI":"10.1016\/j.semcdb.2009.09.009","article-title":"Stem
|
90
|
+
cell function during plant vascular development","volume":"20","author":"Elo","year":"2009","journal-title":"Seminars
|
91
|
+
in Cell & Developmental Biology"},{"key":"bib8","doi-asserted-by":"publisher","first-page":"2224","DOI":"10.1242\/dev.091314","article-title":"WOX4
|
92
|
+
and WOX14 act downstream of the PXY receptor kinase to regulate plant vascular
|
93
|
+
proliferation independently of any role in vascular organisation","volume":"140","author":"Etchells","year":"2013","journal-title":"Development"},{"key":"bib9","doi-asserted-by":"publisher","first-page":"e1002997","DOI":"10.1371\/journal.pgen.1002997","article-title":"Plant
|
94
|
+
vascular cell division is maintained by an interaction between PXY and ethylene
|
95
|
+
signalling","volume":"8","author":"Etchells","year":"2012","journal-title":"PLOS
|
96
|
+
Genetics"},{"key":"bib10","doi-asserted-by":"publisher","first-page":"370","DOI":"10.1038\/msb.2010.25","article-title":"Clustering
|
97
|
+
phenotype populations by genome-wide RNAi and multiparametric imaging","volume":"6","author":"Fuchs","year":"2010","journal-title":"Molecular
|
98
|
+
Systems Biology"},{"key":"bib11","doi-asserted-by":"publisher","first-page":"60","DOI":"10.1016\/j.biosystems.2012.07.004","article-title":"BaSAR-A
|
99
|
+
tool in R for frequency detection","volume":"110","author":"Granqvist","year":"2012","journal-title":"Bio
|
100
|
+
Systems"},{"key":"bib12","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1016\/j.pbi.2005.11.013","article-title":"Developmental
|
101
|
+
mechanisms regulating secondary growth in woody plants","volume":"9","author":"Groover","year":"2006","journal-title":"Current
|
102
|
+
Opinion in Plant Biology"},{"key":"bib13","doi-asserted-by":"publisher","first-page":"2618","DOI":"10.1105\/tpc.110.076083","article-title":"TDIF
|
103
|
+
peptide signaling regulates vascular stem cell proliferation via the WOX4
|
104
|
+
homeobox gene in Arabidopsis","volume":"22","author":"Hirakawa","year":"2010","journal-title":"Plant
|
105
|
+
Cell"},{"key":"bib14","doi-asserted-by":"publisher","first-page":"15208","DOI":"10.1073\/pnas.0808444105","article-title":"Non-cell-autonomous
|
106
|
+
control of vascular stem cell fate by a CLE peptide\/receptor system","volume":"105","author":"Hirakawa","year":"2008","journal-title":"Proceedings
|
107
|
+
of the National Academy of Sciences of the United States of America"},{"key":"bib15","doi-asserted-by":"publisher","first-page":"263","DOI":"10.1016\/0092-8674(89)90900-8","article-title":"Arabidopsis,
|
108
|
+
a useful weed","volume":"56","author":"Meyerowitz","year":"1989","journal-title":"Cell"},{"key":"bib16","doi-asserted-by":"publisher","first-page":"1482","DOI":"10.1126\/science.1066609","article-title":"Plants
|
109
|
+
compared to animals: the broadest comparative study of development","volume":"295","author":"Meyerowitz","year":"2002","journal-title":"Science"},{"key":"bib17","doi-asserted-by":"publisher","first-page":"653","DOI":"10.1104\/pp.104.040212","article-title":"A
|
110
|
+
weed for wood? Arabidopsis as a genetic model for xylem development","volume":"135","author":"Nieminen","year":"2004","journal-title":"Plant
|
111
|
+
Physiol"},{"key":"bib18","doi-asserted-by":"publisher","first-page":"1565","DOI":"10.1038\/nbt1206-1565","article-title":"What
|
112
|
+
is a support vector machine?","volume":"24","author":"Noble","year":"2006","journal-title":"Nature
|
113
|
+
Biotechnology"},{"key":"bib19","doi-asserted-by":"publisher","first-page":"1516","DOI":"10.1073\/pnas.77.3.1516","article-title":"Classification
|
114
|
+
of cultured mammalian cells by shape analysis and pattern recognition","volume":"77","author":"Olson","year":"1980","journal-title":"Proceedings
|
115
|
+
of the National Academy of Sciences of the United States of America"},{"key":"bib20","doi-asserted-by":"publisher","first-page":"979","DOI":"10.1093\/bioinformatics\/btq046","article-title":"EBImage\u2013an
|
116
|
+
R package for image processing with applications to cellular phenotypes","volume":"26","author":"Pau","year":"2010","journal-title":"Bioinformatics"},{"key":"bib21","doi-asserted-by":"publisher","first-page":"1322","DOI":"10.1105\/tpc.111.084020","article-title":"Mobile
|
117
|
+
gibberellin directly stimulates Arabidopsis hypocotyl xylem expansion","volume":"23","author":"Ragni","year":"2011","journal-title":"Plant
|
118
|
+
Cell"},{"key":"bib22","doi-asserted-by":"publisher","article-title":"Data
|
119
|
+
from: Automated quantitative histology reveals vascular morphodynamics during
|
120
|
+
Arabidopsis hypocotyl secondary growth","author":"Sankar","year":"2014","journal-title":"Dryad
|
121
|
+
Digital Repository","DOI":"10.5061\/dryad.b835k"},{"key":"bib23","doi-asserted-by":"publisher","first-page":"458","DOI":"10.1016\/j.cub.2008.02.070","article-title":"Flowering
|
122
|
+
as a condition for xylem expansion in Arabidopsis hypocotyl and root","volume":"18","author":"Sibout","year":"2008","journal-title":"Current
|
123
|
+
Biology"},{"key":"bib24","doi-asserted-by":"publisher","first-page":"577","DOI":"10.1111\/j.1469-8137.2010.03236.x","article-title":"Evolution
|
124
|
+
of development of vascular cambia and secondary growth","volume":"186","author":"Spicer","year":"2010","journal-title":"The
|
125
|
+
New Phytologist"},{"key":"bib25","doi-asserted-by":"publisher","first-page":"659","DOI":"10.1007\/s00138-011-0345-9","article-title":"Cell
|
126
|
+
morphology classification and clutter mitigation in phase-contrast microscopy
|
127
|
+
images using machine learning","volume":"23","author":"Theriault","year":"2012","journal-title":"Machine
|
128
|
+
Vision and Applications"},{"key":"bib26","doi-asserted-by":"publisher","first-page":"439","DOI":"10.1016\/j.cell.2012.02.048","article-title":"Mechanical
|
129
|
+
stress acts via katanin to amplify differences in growth rate between adjacent
|
130
|
+
cells in Arabidopsis","volume":"149","author":"Uyttewaal","year":"2012","journal-title":"Cell"},{"key":"bib27","doi-asserted-by":"publisher","first-page":"860","DOI":"10.1038\/ncb2764","article-title":"A
|
131
|
+
screen for morphological complexity identifies regulators of switch-like transitions
|
132
|
+
between discrete cell shapes","volume":"15","author":"Yin","year":"2013","journal-title":"Nature
|
133
|
+
Cell Biology"}],"container-title":["eLife"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/cdn.elifesciences.org\/articles\/01567\/elife-01567-v1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/cdn.elifesciences.org\/articles\/01567\/elife-01567-v1.xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2022,3,26]],"date-time":"2022-03-26T09:21:50Z","timestamp":1648286510000},"score":1,"resource":{"primary":{"URL":"https:\/\/elifesciences.org\/articles\/01567"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,2,11]]},"references-count":27,"alternative-id":["10.7554\/eLife.01567"],"URL":"http:\/\/dx.doi.org\/10.7554\/elife.01567","archive":["CLOCKSS"],"relation":{"is-supplemented-by":[{"id-type":"doi","id":"10.5061\/dryad.b835k","asserted-by":"subject"}]},"ISSN":["2050-084X"],"issn-type":[{"value":"2050-084X","type":"electronic"}],"subject":["General
|
134
|
+
Immunology and Microbiology","General Biochemistry, Genetics and Molecular
|
135
|
+
Biology","General Medicine","General Neuroscience"],"published":{"date-parts":[[2014,2,11]]},"assertion":[{"value":"2013-09-20","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication
|
136
|
+
History"}},{"value":"2013-12-24","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication
|
137
|
+
History"}},{"value":"2014-02-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication
|
138
|
+
History"}}]}}'
|
139
|
+
recorded_at: Sun, 01 Oct 2023 12:13:43 GMT
|
140
|
+
- request:
|
141
|
+
method: get
|
142
|
+
uri: https://api.crossref.org/members/4374
|
143
|
+
body:
|
144
|
+
encoding: ASCII-8BIT
|
145
|
+
string: ''
|
146
|
+
headers:
|
147
|
+
Connection:
|
148
|
+
- close
|
149
|
+
Host:
|
150
|
+
- api.crossref.org
|
151
|
+
User-Agent:
|
152
|
+
- http.rb/5.1.1
|
153
|
+
response:
|
154
|
+
status:
|
155
|
+
code: 200
|
156
|
+
message: OK
|
157
|
+
headers:
|
158
|
+
Date:
|
159
|
+
- Sun, 01 Oct 2023 12:13:44 GMT
|
160
|
+
Content-Type:
|
161
|
+
- application/json
|
162
|
+
Transfer-Encoding:
|
163
|
+
- chunked
|
164
|
+
Access-Control-Expose-Headers:
|
165
|
+
- Link
|
166
|
+
Access-Control-Allow-Headers:
|
167
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
168
|
+
Accept-Ranges, Cache-Control
|
169
|
+
Access-Control-Allow-Origin:
|
170
|
+
- "*"
|
171
|
+
Server:
|
172
|
+
- Jetty(9.4.40.v20210413)
|
173
|
+
X-Ratelimit-Limit:
|
174
|
+
- '50'
|
175
|
+
X-Ratelimit-Interval:
|
176
|
+
- 1s
|
177
|
+
X-Api-Pool:
|
178
|
+
- public
|
179
|
+
X-Rate-Limit-Limit:
|
180
|
+
- '50'
|
181
|
+
X-Rate-Limit-Interval:
|
182
|
+
- 1s
|
183
|
+
Permissions-Policy:
|
184
|
+
- interest-cohort=()
|
185
|
+
Connection:
|
186
|
+
- close
|
187
|
+
body:
|
188
|
+
encoding: UTF-8
|
189
|
+
string: '{"status":"ok","message-type":"member","message-version":"1.0.0","message":{"last-status-check-time":1696117222074,"primary-name":"eLife
|
190
|
+
Sciences Publications, Ltd","counts":{"current-dois":22582,"backfile-dois":28286,"total-dois":50868},"breakdowns":{"dois-by-issued-year":[[2023,8007],[2022,7322],[2021,7253],[2020,6186],[2019,4848],[2017,4118],[2018,4058],[2016,3512],[2015,2808],[2014,1786],[2013,811],[2012,159]]},"prefixes":["10.7554"],"coverage":{"affiliations-current":0.8403152953679922,"similarity-checking-current":0.0,"descriptions-current":0.0,"ror-ids-current":0.4941989194934018,"funders-backfile":0.3052039878385067,"licenses-backfile":0.9999646468217493,"funders-current":0.2237622885484014,"affiliations-backfile":0.9898182846637913,"resource-links-backfile":0.3481227462348865,"orcids-backfile":0.8474863890263735,"update-policies-current":0.2443096271366575,"ror-ids-backfile":0.002333309764547833,"orcids-current":0.7937738021433,"similarity-checking-backfile":0.0,"references-backfile":0.3392137453157039,"descriptions-backfile":0.0,"award-numbers-backfile":0.2866082160786255,"update-policies-backfile":0.0714487732447147,"licenses-current":1.0,"award-numbers-current":0.2164555840935258,"abstracts-backfile":0.34048645973273,"resource-links-current":0.2443096271366575,"abstracts-current":0.3096271366575148,"references-current":0.2377114515986184},"prefix":[{"name":"eLife
|
191
|
+
Sciences Publications, Ltd.","value":"10.7554"}],"id":4374,"tokens":["elife","sciences","publications","ltd"],"counts-type":{"all":{"peer-review":33948,"journal-article":15366,"journal":1,"component":143802,"posted-content":1554},"backfile":{"peer-review":18437,"journal-article":9849},"current":{"peer-review":15511,"journal-article":5517,"posted-content":1554}},"coverage-type":{"all":{"peer-review":{"last-status-check-time":1696117222074,"affiliations":0.894721338517733,"abstracts":0.0,"orcids":0.7960410038882998,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.2387180393543066,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"journal-article":{"last-status-check-time":1696117222074,"affiliations":0.9795001952362358,"abstracts":0.9806716126513081,"orcids":0.8825328647663673,"licenses":0.9999349212547182,"references":0.9737732656514382,"funders":0.8906677079265912,"similarity-checking":0.0,"award-numbers":0.8456982949368737,"ror-ids":0.2031758427697514,"update-policies":0.4905635819341403,"resource-links":0.9998698425094364,"descriptions":0.0},"journal":{"last-status-check-time":1696117222074,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":0.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"component":{"last-status-check-time":1696117222074,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":4.867804342081473E-4,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"posted-content":{"last-status-check-time":1696117222074,"affiliations":0.9967824967824968,"abstracts":1.0,"orcids":0.8442728442728443,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0}},"backfile":{"peer-review":{"last-status-check-time":1696117222074,"affiliations":0.9971253457720887,"abstracts":0.0,"orcids":0.8638064761078267,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.003579758095134783,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"journal-article":{"last-status-check-time":1696117222074,"affiliations":0.9761397096151894,"abstracts":0.9778657731749416,"orcids":0.8169357295156869,"licenses":0.9998984668494263,"references":0.9742105797542898,"funders":0.8765356889024266,"similarity-checking":0.0,"award-numbers":0.8231292517006803,"ror-ids":0.0,"update-policies":0.2051984973093715,"resource-links":0.9997969336988527,"descriptions":0.0}},"current":{"peer-review":{"last-status-check-time":1696117222074,"affiliations":0.7729998065888724,"abstracts":0.0,"orcids":0.7154922313197086,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.5182128811810973,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"journal-article":{"last-status-check-time":1696117222074,"affiliations":0.9854993655972449,"abstracts":0.9856806235272793,"orcids":0.9996374841399311,"licenses":1.0,"references":0.9729925684248686,"funders":0.9158963204640203,"similarity-checking":0.0,"award-numbers":0.8859887620083379,"ror-ids":0.5658872575675186,"update-policies":1.0,"resource-links":1.0,"descriptions":0.0},"posted-content":{"last-status-check-time":1696117222074,"affiliations":0.9967824967824968,"abstracts":1.0,"orcids":0.8442728442728443,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0}}},"flags":{"deposits-abstracts-current":true,"deposits-orcids-current":true,"deposits":true,"deposits-affiliations-backfile":true,"deposits-update-policies-backfile":true,"deposits-similarity-checking-backfile":false,"deposits-award-numbers-current":true,"deposits-resource-links-current":true,"deposits-ror-ids-current":true,"deposits-articles":true,"deposits-affiliations-current":true,"deposits-funders-current":true,"deposits-references-backfile":true,"deposits-ror-ids-backfile":true,"deposits-abstracts-backfile":true,"deposits-licenses-backfile":true,"deposits-award-numbers-backfile":true,"deposits-descriptions-current":false,"deposits-references-current":true,"deposits-resource-links-backfile":true,"deposits-descriptions-backfile":false,"deposits-orcids-backfile":true,"deposits-funders-backfile":true,"deposits-update-policies-current":true,"deposits-similarity-checking-current":false,"deposits-licenses-current":true},"location":"Cambridge,
|
192
|
+
United Kingdom","names":["eLife Sciences Publications, Ltd","eLife Sciences
|
193
|
+
Publications, Ltd."]}}'
|
194
|
+
recorded_at: Sun, 01 Oct 2023 12:13:44 GMT
|
195
|
+
- request:
|
196
|
+
method: get
|
197
|
+
uri: https://doi.org/ra/10.7554
|
198
|
+
body:
|
199
|
+
encoding: ASCII-8BIT
|
200
|
+
string: ''
|
201
|
+
headers:
|
202
|
+
Connection:
|
203
|
+
- close
|
204
|
+
Host:
|
205
|
+
- doi.org
|
206
|
+
User-Agent:
|
207
|
+
- http.rb/5.1.1
|
208
|
+
response:
|
209
|
+
status:
|
210
|
+
code: 200
|
211
|
+
message: OK
|
212
|
+
headers:
|
213
|
+
Date:
|
214
|
+
- Sun, 01 Oct 2023 12:13:44 GMT
|
215
|
+
Content-Type:
|
216
|
+
- application/json;charset=UTF-8
|
217
|
+
Transfer-Encoding:
|
218
|
+
- chunked
|
219
|
+
Connection:
|
220
|
+
- close
|
221
|
+
Permissions-Policy:
|
222
|
+
- interest-cohort=(),browsing-topics=()
|
223
|
+
Cf-Cache-Status:
|
224
|
+
- DYNAMIC
|
225
|
+
Report-To:
|
226
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=nOuUPCRwnnnKgtJDByQRCMt9TJmjGB94XmwG3TO3W%2Bzw68ztcEj4g5dVxW6m3PLWhlDjR6c9PvMvScqG1znqwbAoO0TybJBz%2FTt6SYC3bn6iBeBQ5Vg6%2Fqs5OYbcAc0h7y1CMxY%3D"}],"group":"cf-nel","max_age":604800}'
|
227
|
+
Nel:
|
228
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
229
|
+
Strict-Transport-Security:
|
230
|
+
- max-age=31536000; includeSubDomains; preload
|
231
|
+
Server:
|
232
|
+
- cloudflare
|
233
|
+
Cf-Ray:
|
234
|
+
- 80f49f12dfb85c3a-AMS
|
235
|
+
Alt-Svc:
|
236
|
+
- h3=":443"; ma=86400
|
237
|
+
body:
|
238
|
+
encoding: UTF-8
|
239
|
+
string: |-
|
240
|
+
[
|
241
|
+
{
|
242
|
+
"DOI": "10.7554",
|
243
|
+
"RA": "Crossref"
|
244
|
+
}
|
245
|
+
]
|
246
|
+
recorded_at: Sun, 01 Oct 2023 12:13:44 GMT
|
247
|
+
recorded_with: VCR 6.2.0
|
@@ -95,7 +95,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
95
95
|
expect(subject.date).to eq("published" => "2013-06-25", "updated" => "2023-09-07")
|
96
96
|
expect(subject.descriptions.first["description"]).to start_with("This paper in markdown format was written by Ethan White et al.")
|
97
97
|
expect(subject.publisher).to eq("name" => "Front Matter")
|
98
|
-
expect(subject.related_identifiers).to eq([{"id"=>"https://doi.org/10.4033/iee.2013.6b.6.f", "type"=>"IsPreprintOf"}])
|
98
|
+
expect(subject.related_identifiers).to eq([{ "id" => "https://doi.org/10.4033/iee.2013.6b.6.f", "type" => "IsPreprintOf" }])
|
99
99
|
expect(subject.subjects).to eq([{ "subject" => "Computer and information sciences" },
|
100
100
|
{ "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf",
|
101
101
|
"subject" => "FOS: Computer and information sciences",
|
@@ -120,7 +120,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
120
120
|
expect(subject.date).to eq("published" => "2019-07-01", "updated" => "2023-09-07")
|
121
121
|
expect(subject.descriptions.first["description"]).to start_with("The connections between scholarly resources generated by persistent identifiers (PIDs)")
|
122
122
|
expect(subject.publisher).to eq("name" => "Front Matter")
|
123
|
-
expect(subject.funding_references).to eq([{ "awardNumber" => "777523", "funderIdentifier"=>"http://doi.org/10.13039/501100000780", "funderName" => "European Commission" }])
|
123
|
+
expect(subject.funding_references).to eq([{ "awardNumber" => "777523", "funderIdentifier" => "http://doi.org/10.13039/501100000780", "funderName" => "European Commission" }])
|
124
124
|
expect(subject.related_identifiers).to eq([{ "id" => "https://doi.org/10.5438/bv9z-dc66", "type" => "IsIdenticalTo" }])
|
125
125
|
expect(subject.subjects).to eq([{ "subject" => "Computer and information sciences" },
|
126
126
|
{ "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf",
|
@@ -140,7 +140,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
140
140
|
expect(subject.type).to eq("Article")
|
141
141
|
expect(subject.contributors.length).to eq(1)
|
142
142
|
expect(subject.contributors.first).to eq("familyName" => "Sathe", "givenName" => "Tejas S.",
|
143
|
-
|
143
|
+
"id" => "https://orcid.org/0000-0003-0449-4469", "type" => "Person", "contributorRoles" => ["Author"])
|
144
144
|
expect(subject.titles).to eq([{ "title" => "The Residency Visual Abstract" }])
|
145
145
|
expect(subject.license).to eq("id" => "CC-BY-4.0",
|
146
146
|
"url" => "https://creativecommons.org/licenses/by/4.0/legalcode")
|
@@ -165,7 +165,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
165
165
|
expect(subject.type).to eq("Article")
|
166
166
|
expect(subject.contributors.length).to eq(1)
|
167
167
|
expect(subject.contributors.first).to eq("familyName" => "Sathe", "givenName" => "Tejas S.", "type" => "Person", "contributorRoles" => ["Author"],
|
168
|
-
|
168
|
+
"id" => "https://orcid.org/0000-0003-0449-4469")
|
169
169
|
expect(subject.titles).to eq([{ "title" => "How to Build an Academic Powerhouse: Let's Study Who's Doing it" }])
|
170
170
|
expect(subject.license).to eq("id" => "CC-BY-4.0",
|
171
171
|
"url" => "https://creativecommons.org/licenses/by/4.0/legalcode")
|
@@ -238,10 +238,10 @@ describe Commonmeta::Metadata, vcr: true do
|
|
238
238
|
expect(subject.type).to eq("Article")
|
239
239
|
expect(subject.contributors.length).to eq(1)
|
240
240
|
expect(subject.contributors.first).to eq("contributorRoles" => ["Author"],
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
241
|
+
"type" => "Person",
|
242
|
+
"familyName" => "Stocker",
|
243
|
+
"givenName" => "Markus",
|
244
|
+
"id" => "https://orcid.org/0000-0001-5492-3212")
|
245
245
|
expect(subject.titles).to eq([{ "title" => "ORCID Integration Series: PANGAEA" }])
|
246
246
|
expect(subject.license).to eq("id" => "CC-BY-4.0",
|
247
247
|
"url" => "https://creativecommons.org/licenses/by/4.0/legalcode")
|
@@ -253,6 +253,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
253
253
|
"subject" => "FOS: Computer and information sciences",
|
254
254
|
"subjectScheme" => "Fields of Science and Technology (FOS)" }])
|
255
255
|
expect(subject.language).to eq("en")
|
256
|
+
expect(subject.funding_references).to eq([{ "awardNumber" => "654039", "funderIdentifier" => "https://doi.org/10.13039/501100007601", "funderIdentifierType"=>"Crossref Funder ID", "funderName" => "European Union’s Horizon 2020 research and innovation programme" }])
|
256
257
|
expect(subject.container).to eq("identifier" => "https://project-thor.eu", "identifierType" => "URL", "title" => "Project THOR", "type" => "Periodical")
|
257
258
|
end
|
258
259
|
|
@@ -364,7 +365,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
364
365
|
expect(subject.type).to eq("Article")
|
365
366
|
expect(subject.contributors.length).to eq(1)
|
366
367
|
expect(subject.contributors.first).to eq("familyName" => "Karcher", "givenName" => "Sebastian",
|
367
|
-
|
368
|
+
"id" => "https://orcid.org/0000-0001-8249-7388", "type" => "Person", "contributorRoles" => ["Author"])
|
368
369
|
expect(subject.titles).to eq([{ "title" => "Seeking Public Comment on CSL 1.0.2 Release" }])
|
369
370
|
expect(subject.license).to eq("id" => "CC-BY-4.0",
|
370
371
|
"url" => "https://creativecommons.org/licenses/by/4.0/legalcode")
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
describe Commonmeta::Metadata, vcr: true do
|
6
|
+
context "write metadata as commonmeta" do
|
7
|
+
it "with data citation" do
|
8
|
+
input = "10.7554/eLife.01567"
|
9
|
+
subject = described_class.new(input: input, from: "crossref")
|
10
|
+
json = JSON.parse(subject.commonmeta)
|
11
|
+
expect(json["id"]).to eq("https://doi.org/10.7554/elife.01567")
|
12
|
+
expect(json["type"]).to eq("JournalArticle")
|
13
|
+
expect(json["url"]).to eq("https://elifesciences.org/articles/01567")
|
14
|
+
expect(json["titles"]).to eq([{ "title" => "Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth" }])
|
15
|
+
expect(json["contributors"].length).to eq(5)
|
16
|
+
expect(json["contributors"].first).to eq("affiliation" => [{ "name" => "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland" }],
|
17
|
+
"contributorRoles" => ["Author"],
|
18
|
+
"familyName" => "Sankar",
|
19
|
+
"givenName" => "Martial",
|
20
|
+
"type" => "Person")
|
21
|
+
expect(json["container"]).to eq("identifier" => "2050-084X",
|
22
|
+
"identifierType" => "ISSN",
|
23
|
+
"title" => "eLife",
|
24
|
+
"type" => "Journal",
|
25
|
+
"volume" => "3")
|
26
|
+
expect(json["publisher"]).to eq("id" => "https://api.crossref.org/members/4374", "name" => "eLife Sciences Publications, Ltd")
|
27
|
+
expect(json["references"].length).to eq(27)
|
28
|
+
expect(json["references"].first).to eq("key" => "bib1",
|
29
|
+
"doi" => "https://doi.org/10.1038/nature02100",
|
30
|
+
"contributor" => "Bonke",
|
31
|
+
"title" => "APL regulates vascular tissue identity in Arabidopsis",
|
32
|
+
"publicationYear" => "2003",
|
33
|
+
"volume" => "426",
|
34
|
+
"firstPage" => "181",
|
35
|
+
"containerTitle" => "Nature")
|
36
|
+
expect(json["date"]).to eq("published"=>"2014-02-11", "updated"=>"2022-03-26")
|
37
|
+
expect(json["descriptions"].first["description"]).to start_with("Among various advantages,")
|
38
|
+
expect(json["license"]).to eq("id"=>"CC-BY-3.0", "url"=>"https://creativecommons.org/licenses/by/3.0/legalcode")
|
39
|
+
expect(json["provider"]).to eq("Crossref")
|
40
|
+
expect(json["files"].first).to eq("mimeType"=>"application/pdf", "url"=>"https://cdn.elifesciences.org/articles/01567/elife-01567-v1.pdf")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commonmeta-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.5.
|
4
|
+
version: 3.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -644,6 +644,7 @@ files:
|
|
644
644
|
- lib/commonmeta/writers/cff_writer.rb
|
645
645
|
- lib/commonmeta/writers/citation_writer.rb
|
646
646
|
- lib/commonmeta/writers/codemeta_writer.rb
|
647
|
+
- lib/commonmeta/writers/commonmeta_writer.rb
|
647
648
|
- lib/commonmeta/writers/crossref_xml_writer.rb
|
648
649
|
- lib/commonmeta/writers/csl_writer.rb
|
649
650
|
- lib/commonmeta/writers/csv_writer.rb
|
@@ -928,6 +929,7 @@ files:
|
|
928
929
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/software_w/version.yml
|
929
930
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml
|
930
931
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml
|
932
|
+
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_commonmeta/with_data_citation.yml
|
931
933
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml
|
932
934
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/book_oup.yml
|
933
935
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article.yml
|
@@ -1026,6 +1028,7 @@ files:
|
|
1026
1028
|
- spec/writers/cff_writer_spec.rb
|
1027
1029
|
- spec/writers/citation_writer_spec.rb
|
1028
1030
|
- spec/writers/codemeta_writer_spec.rb
|
1031
|
+
- spec/writers/commonmeta_writer_spec.rb
|
1029
1032
|
- spec/writers/crossref_xml_writer_spec.rb
|
1030
1033
|
- spec/writers/csl_writer_spec.rb
|
1031
1034
|
- spec/writers/csv_writer_spec.rb
|