commonmeta-ruby 3.5.2 → 3.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/lib/commonmeta/cli.rb +7 -1
- data/lib/commonmeta/metadata_utils.rb +2 -0
- data/lib/commonmeta/readers/json_feed_reader.rb +11 -0
- data/lib/commonmeta/version.rb +1 -1
- data/lib/commonmeta/writers/commonmeta_writer.rb +11 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/by_blog_post_id.yml +132 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/not_found.yml +49 -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 +12 -0
- data/spec/writers/commonmeta_writer_spec.rb +43 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c42c11b4ae0ee7743906d829813c5686e64359da51743c886b96dce34935556e
|
4
|
+
data.tar.gz: 2ab7d6c4fce7c9d33fb546a002cbad7c1220a8576cd2e73eb2341b39259eae9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f95088f184873a000063b3ea5bbc426723c3782d33b98956d07eeac152ba24c0445ad491b85b95aa7369df8c4705d867780d18d7ac92225839ef7133e8d7ee6e
|
7
|
+
data.tar.gz: 5e836d35579afa5921c4e342b6d66f2b5059b5f8165194d1508e45b9c92060f1ac67bdbffd87477650c1bc48f8defd10daeea19a42ca5b52c3590162ddffab94
|
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.4)
|
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)
|
@@ -232,7 +232,7 @@ GEM
|
|
232
232
|
unf_ext
|
233
233
|
unf_ext (0.0.8.2)
|
234
234
|
unicode-display_width (2.4.2)
|
235
|
-
unicode-types (1.
|
235
|
+
unicode-types (1.9.0)
|
236
236
|
uuidtools (2.2.0)
|
237
237
|
vcr (6.2.0)
|
238
238
|
webmock (3.19.1)
|
data/lib/commonmeta/cli.rb
CHANGED
@@ -26,7 +26,7 @@ module Commonmeta
|
|
26
26
|
|
27
27
|
desc "", "convert metadata"
|
28
28
|
method_option :from, aliases: "-f"
|
29
|
-
method_option :to, aliases: "-t", default: "
|
29
|
+
method_option :to, aliases: "-t", default: "commonmeta"
|
30
30
|
method_option :regenerate, type: :boolean, force: false
|
31
31
|
method_option :style, aliases: "-s", default: "apa"
|
32
32
|
method_option :locale, aliases: "-l", default: "en-US"
|
@@ -115,6 +115,12 @@ module Commonmeta
|
|
115
115
|
puts get_json_feed_by_blog(id)
|
116
116
|
end
|
117
117
|
|
118
|
+
desc "", "json_feed_blog_id"
|
119
|
+
|
120
|
+
def json_feed_blog_id(id)
|
121
|
+
puts get_json_feed_blog_id(id)
|
122
|
+
end
|
123
|
+
|
118
124
|
desc "", "update_ghost_post"
|
119
125
|
|
120
126
|
def update_ghost_post(id)
|
@@ -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
|
@@ -198,6 +198,17 @@ module Commonmeta
|
|
198
198
|
blog["items"].map { |item| item["id"] }.first
|
199
199
|
end
|
200
200
|
|
201
|
+
def get_json_feed_blog_id(id)
|
202
|
+
# get JSON Feed item by id and return blog id
|
203
|
+
|
204
|
+
url = json_feed_item_by_id_url(id)
|
205
|
+
response = HTTP.get(url)
|
206
|
+
return nil unless response.status.success?
|
207
|
+
|
208
|
+
post = JSON.parse(response.body.to_s)
|
209
|
+
post.to_h.dig("blog", "slug")
|
210
|
+
end
|
211
|
+
|
201
212
|
def get_doi_prefix_by_blog_id(blog_id)
|
202
213
|
# for generating a random DOI.
|
203
214
|
|
data/lib/commonmeta/version.rb
CHANGED
@@ -0,0 +1,132 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://rogue-scholar.org/api/posts/1898d2d7-4d87-4487-96c4-3073cf99e9a5
|
6
|
+
body:
|
7
|
+
encoding: ASCII-8BIT
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Connection:
|
11
|
+
- close
|
12
|
+
Host:
|
13
|
+
- rogue-scholar.org
|
14
|
+
User-Agent:
|
15
|
+
- http.rb/5.1.1
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Age:
|
22
|
+
- '0'
|
23
|
+
Cache-Control:
|
24
|
+
- public, max-age=0, must-revalidate
|
25
|
+
Content-Length:
|
26
|
+
- '8651'
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Date:
|
30
|
+
- Sun, 01 Oct 2023 12:54:48 GMT
|
31
|
+
Etag:
|
32
|
+
- '"cgg0qca1si6o1"'
|
33
|
+
Server:
|
34
|
+
- Vercel
|
35
|
+
Strict-Transport-Security:
|
36
|
+
- max-age=63072000
|
37
|
+
X-Matched-Path:
|
38
|
+
- "/api/posts/[[...params]]"
|
39
|
+
X-Vercel-Cache:
|
40
|
+
- MISS
|
41
|
+
X-Vercel-Id:
|
42
|
+
- fra1::iad1::chhkb-1696164887801-9f1569e3d50b
|
43
|
+
Connection:
|
44
|
+
- close
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"id":"1898d2d7-4d87-4487-96c4-3073cf99e9a5","doi":"https://doi.org/10.59350/63055-a8604","url":"http://sfmatheson.blogspot.com/2023/01/quintessence-of-dust-2023-restart-why.html","archive_url":null,"title":"Quintessence
|
48
|
+
of Dust 2023 restart: the why","summary":"It''s early January 2023, a little
|
49
|
+
before sunset in Tucson. Live image below, showing the glorious Santa Catalina
|
50
|
+
mountains (the snow on the upper reaches is more apparent earlier in the day)
|
51
|
+
and my dinner preparations (shrimp and veggies on the grill).I''ve decided
|
52
|
+
to start writing here at <i>Quintessence of Dust</i>, after another long hiatus.","content_html":"It''s
|
53
|
+
early January 2023, a little before sunset in Tucson. Live image below, showing
|
54
|
+
the glorious Santa Catalina mountains (the snow on the upper reaches is more
|
55
|
+
apparent earlier in the day) and my dinner preparations (shrimp and veggies
|
56
|
+
on the grill).<div><a href=\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghgBx9BU21qMDFnLxgHmnsl6TQVfb3QCwOXrC1zcXq7WH9gN8E0TcH3pTslRBG6O8mb5gcuF9JVtDlJ2je6dFcfyzKE4OD38-ftr66nBxddo892_NkyuevrrX65ndSbwmXMaLh3F5yiqU1QIj8JtA8FLkKOcHOEVwVafz0rzh7PejbFzp3XT25nQxc/s4032/Jan%207.jpg\"><img
|
57
|
+
height=\"320\" src=\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghgBx9BU21qMDFnLxgHmnsl6TQVfb3QCwOXrC1zcXq7WH9gN8E0TcH3pTslRBG6O8mb5gcuF9JVtDlJ2je6dFcfyzKE4OD38-ftr66nBxddo892_NkyuevrrX65ndSbwmXMaLh3F5yiqU1QIj8JtA8FLkKOcHOEVwVafz0rzh7PejbFzp3XT25nQxc/s320/Jan%207.jpg\"
|
58
|
+
width=\"240\" /></a></div><br /><div><div>I''ve decided to start writing here
|
59
|
+
at <i>Quintessence of Dust</i>, after another long hiatus. Here are some of
|
60
|
+
my reasons.</div><div><br /></div><div>1. I like to write, and I have things
|
61
|
+
to say, and I self-identify as an author. For eight years, I have co-organized
|
62
|
+
and taught in the <a href=\"https://meetings.cshl.edu/courses.aspx?course=C-WRITE&year=23\"
|
63
|
+
target=\"_blank\">Scientific Writing Retreat at Cold Spring Harbor Laboratory</a>.
|
64
|
+
I''m a writer and I need to write, if only for myself.</div><div><br /></div><div>2.
|
65
|
+
I have an idea for a book, along with some introductory work (but no sample
|
66
|
+
chapters yet) and writing here will help me develop those thoughts. The idea
|
67
|
+
is over twelve years old and has never faded away, which I take to mean that
|
68
|
+
I need to get it out of my system somehow.</div><div><br /></div><div>3. I
|
69
|
+
have other ideas kicking around in my head and most of them are worth writing
|
70
|
+
about. I have one new intellectual passion that is totally worth writing about:
|
71
|
+
<a href=\"https://skyislandalliance.org/the-sky-islands/\" target=\"_blank\">the
|
72
|
+
Sky Islands</a> that nearly surround us here in Tucson.</div><div><br /></div><div>4.
|
73
|
+
I have an exciting new job with great new people at <a href=\"https://plos.org/\"
|
74
|
+
target=\"_blank\">an organization</a> that''s all in for <a href=\"https://plos.org/open-science/\"
|
75
|
+
target=\"_blank\">open science</a>. I recently turned over the tens digit
|
76
|
+
on my age-o-meter. My kids will very soon be all out of college. (One is about
|
77
|
+
to start a postdoc!) All of this led, predictably, to a spasm of reflection
|
78
|
+
on projects and vision. One clear result is that I''m feeling more inspired.<span><a
|
79
|
+
name=\"more\"></a></span></div><div><br /></div><div>5. The demise of Twitter
|
80
|
+
has led to a lot of <a href=\"https://www.theatlantic.com/technology/archive/2022/11/twitter-facebook-social-media-decline/672074/\"
|
81
|
+
target=\"_blank\">useful commentary</a> about the nature of social media.
|
82
|
+
I left Facebook two years ago and all but left Twitter two months ago. I''m
|
83
|
+
on a <a href=\"https://fediscience.org/explore\" target=\"_blank\">good server
|
84
|
+
at Mastodon</a> and I like it; maybe microblogging there can satisfy my desire
|
85
|
+
for conversation and connection. But <a href=\"https://www.theverge.com/23513418/bring-back-personal-blogging\"
|
86
|
+
target=\"_blank\">this recent piece</a> at <i>The Verge</i> by <a href=\"https://moniquejudge.com/\"
|
87
|
+
target=\"_blank\">Monique Judge</a> convinced me that blogging could (again)
|
88
|
+
have a place in the future.</div><div><br /><div>Here''s her summary, emphasis
|
89
|
+
mine:</div><div><blockquote>At the end of the day, we don’t know what is going
|
90
|
+
to happen next with Twitter or any of these platforms. We don’t know what
|
91
|
+
changes <a href=\"https://www.techtarget.com/whatis/definition/Web-30\" target=\"_blank\">Web
|
92
|
+
3.0</a> is going to bring to the internet. We do know that <b>we will all
|
93
|
+
still be here, wanting to share our thoughts, talk about anything and everything,
|
94
|
+
and commune with our people</b>. Personal blogging is the simplest and fastest
|
95
|
+
way to do all of that. </blockquote></div><div>That''s what I want! A place
|
96
|
+
to write, and (if I''m lucky) a place to discuss and \"commune\" with people.
|
97
|
+
That used to happen a lot at <i>Quintessence of Dust</i>.<span></span></div></div></div><div><br
|
98
|
+
/></div><div>Okay, but why here? This blog is over 15 years old and was started
|
99
|
+
when I was a Christian believer. <a href=\"https://sfmatheson.blogspot.com/2007/08/kicking-off-my-blog.html\"
|
100
|
+
target=\"_blank\">Its founding themes</a> were anchored in a desire to help
|
101
|
+
Christians understand and enjoy biology, to help them shake free of misinformation
|
102
|
+
and dishonesty. It has twice languished through long hiatuses and was <a href=\"https://sfmatheson.blogspot.com/p/about.html\"
|
103
|
+
target=\"_blank\">remodeled</a> back in 2017 a few years after I deconverted.
|
104
|
+
Maybe it''s time to start anew? I think not, for many of those same reasons:
|
105
|
+
I''m still a biologist who loves science, still worried about misinformation,
|
106
|
+
and still rooted in the power of scientific explanation. I''m still a bardolator
|
107
|
+
and a Red Sox fan. <a href=\"https://sfmatheson.blogspot.com/p/about.html\">I''m
|
108
|
+
still me</a>, and <i>Quintessence of Dust</i> is still my blog. The new <a
|
109
|
+
href=\"https://sfmatheson.blogspot.com/p/about.html\" target=\"_blank\">About
|
110
|
+
page</a> is slightly remodeled from 2017, and hints at the next post, which
|
111
|
+
will outline some new goals and ongoing projects.</div><div><br /></div><div>A
|
112
|
+
final note on inspiration, from Imani Perry, writing in her newsletter (<a
|
113
|
+
href=\"https://newsletters.theatlantic.com/unsettled-territory/\" target=\"_blank\">Unsettled
|
114
|
+
Territory</a>) at <i>The Atlantic</i>. The piece is \"<a href=\"https://newsletters.theatlantic.com/unsettled-territory/63af3facace609003751bacc/becoming-writer-habit-journalism/\"
|
115
|
+
target=\"_blank\">Writing is a Democratic Art</a>.\" It''s for subscribers
|
116
|
+
only but here is her challenge:</div><div><blockquote>Thinking and writing
|
117
|
+
at a faster pace stretched me and gave me greater confidence. Sometimes I
|
118
|
+
changed my mind about what I’d written a day later. But that was okay; a newsletter
|
119
|
+
is a moment in time. Writing it each week gave me a lovely rhythm in what
|
120
|
+
has otherwise been a difficult and disorienting season in history. Feeling
|
121
|
+
stuck can get you stuck. But writing can, and should, inspire deeds.</blockquote></div>","published_at":1673233380,"updated_at":1680470227,"indexed_at":1689006804,"authors":[{"url":null,"name":"Stephen
|
122
|
+
Matheson"}],"image":"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghgBx9BU21qMDFnLxgHmnsl6TQVfb3QCwOXrC1zcXq7WH9gN8E0TcH3pTslRBG6O8mb5gcuF9JVtDlJ2je6dFcfyzKE4OD38-ftr66nBxddo892_NkyuevrrX65ndSbwmXMaLh3F5yiqU1QIj8JtA8FLkKOcHOEVwVafz0rzh7PejbFzp3XT25nQxc/s320/Jan%207.jpg","tags":["Introduction"],"language":"en","reference":[],"relationships":[],"blog_id":"5764g49","blog_name":"Quintessence
|
123
|
+
of Dust","blog_slug":"sfmatheson","blog":{"id":"5764g49","title":"Quintessence
|
124
|
+
of Dust","description":"<i>Quintessence of Dust</i> explores science, society,
|
125
|
+
and human nature, focusing on genetics, development, evolution, neuroscience,
|
126
|
+
systems biology, and topics related to scientific literacy. I occasionally
|
127
|
+
discuss intelligent design, creationism, science denial, and other political/social
|
128
|
+
influences on scientific literacy. Additional topics: philosophy, baseball,
|
129
|
+
scientific culture, and Shakespeare. My main theme is <b><u>scientific explanation</u></b>.","language":"en","favicon":null,"feed_url":"http://sfmatheson.blogspot.com/feeds/posts/default","home_page_url":"http://sfmatheson.blogspot.com","user_id":"656f9875-3304-4056-935b-b29429e14222","created_at":"2023-04-18","feed_format":"application/atom+xml","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Blogger
|
130
|
+
7.00","category":"socialSciences","prefix":"10.59350","modified_at":"2023-09-11T17:46:56+00:00","version":"https://jsonfeed.org/version/1.1","current_feed_url":null,"status":"active","issn":null,"backlog":0,"authors":null,"plan":"Team","slug":"sfmatheson","use_mastodon":false,"api":false,"funding":null,"archive_prefix":null,"use_api":null,"relative_url":null,"canonical_url":null}}'
|
131
|
+
recorded_at: Sun, 01 Oct 2023 12:54:48 GMT
|
132
|
+
recorded_with: VCR 6.2.0
|
data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/not_found.yml
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://rogue-scholar.org/api/posts/2b22bbba-bcba-4072-94cc-3f88442fff55
|
6
|
+
body:
|
7
|
+
encoding: ASCII-8BIT
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Connection:
|
11
|
+
- close
|
12
|
+
Host:
|
13
|
+
- rogue-scholar.org
|
14
|
+
User-Agent:
|
15
|
+
- http.rb/5.1.1
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 404
|
19
|
+
message: Not Found
|
20
|
+
headers:
|
21
|
+
Age:
|
22
|
+
- '0'
|
23
|
+
Cache-Control:
|
24
|
+
- public, max-age=0, must-revalidate
|
25
|
+
Content-Length:
|
26
|
+
- '28'
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Date:
|
30
|
+
- Sun, 01 Oct 2023 12:54:48 GMT
|
31
|
+
Etag:
|
32
|
+
- '"jtxxi9yf69s"'
|
33
|
+
Server:
|
34
|
+
- Vercel
|
35
|
+
Strict-Transport-Security:
|
36
|
+
- max-age=63072000
|
37
|
+
X-Matched-Path:
|
38
|
+
- "/api/posts/[[...params]]"
|
39
|
+
X-Vercel-Cache:
|
40
|
+
- MISS
|
41
|
+
X-Vercel-Id:
|
42
|
+
- fra1::iad1::6plz2-1696164888551-86b03621bd39
|
43
|
+
Connection:
|
44
|
+
- close
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"message":"Post not found"}'
|
48
|
+
recorded_at: Sun, 01 Oct 2023 12:54:48 GMT
|
49
|
+
recorded_with: VCR 6.2.0
|
@@ -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
|
@@ -541,4 +541,16 @@ describe Commonmeta::Metadata, vcr: true do
|
|
541
541
|
expect(response).to eq("10.54900")
|
542
542
|
end
|
543
543
|
end
|
544
|
+
|
545
|
+
context "get blog_id for json_feed item id", vcr: true do
|
546
|
+
it "by blog post id" do
|
547
|
+
response = subject.get_json_feed_blog_id("1898d2d7-4d87-4487-96c4-3073cf99e9a5")
|
548
|
+
expect(response).to eq("sfmatheson")
|
549
|
+
end
|
550
|
+
|
551
|
+
it "not found" do
|
552
|
+
response = subject.get_doi_prefix_by_json_feed_item_id("2b22bbba-bcba-4072-94cc-3f88442fff55")
|
553
|
+
expect(response).to eq(nil)
|
554
|
+
end
|
555
|
+
end
|
544
556
|
end
|
@@ -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.4
|
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
|
@@ -810,6 +811,8 @@ files:
|
|
810
811
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite.yml
|
811
812
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite_doi_http.yml
|
812
813
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml
|
814
|
+
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/by_blog_post_id.yml
|
815
|
+
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/not_found.yml
|
813
816
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/cff-converter-python.yml
|
814
817
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff.yml
|
815
818
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff_repository_url.yml
|
@@ -928,6 +931,7 @@ files:
|
|
928
931
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/software_w/version.yml
|
929
932
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml
|
930
933
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml
|
934
|
+
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_commonmeta/with_data_citation.yml
|
931
935
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml
|
932
936
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/book_oup.yml
|
933
937
|
- spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article.yml
|
@@ -1026,6 +1030,7 @@ files:
|
|
1026
1030
|
- spec/writers/cff_writer_spec.rb
|
1027
1031
|
- spec/writers/citation_writer_spec.rb
|
1028
1032
|
- spec/writers/codemeta_writer_spec.rb
|
1033
|
+
- spec/writers/commonmeta_writer_spec.rb
|
1029
1034
|
- spec/writers/crossref_xml_writer_spec.rb
|
1030
1035
|
- spec/writers/csl_writer_spec.rb
|
1031
1036
|
- spec/writers/csv_writer_spec.rb
|