commonmeta-ruby 3.0.1 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +59 -59
- data/Gemfile.lock +1 -4
- data/README.md +293 -91
- data/commonmeta.gemspec +0 -2
- data/lib/commonmeta/author_utils.rb +1 -1
- data/lib/commonmeta/metadata.rb +2 -2
- data/lib/commonmeta/readers/cff_reader.rb +1 -1
- data/lib/commonmeta/schema_utils.rb +5 -7
- data/lib/commonmeta/utils.rb +8 -5
- data/lib/commonmeta/version.rb +1 -1
- data/lib/commonmeta.rb +0 -1
- data/resources/{commonmeta_v0.9.json → commonmeta_v0.9.1.json} +18 -8
- data/spec/utils_spec.rb +3 -2
- metadata +3 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a70c0df50b2df7309d1d0186f26bee70a258261c71b5c48f7874dfaaac70efc6
|
4
|
+
data.tar.gz: e612605bc58868dd138ad411a6fe0b51e9140f13055cd4ab537201ba885c29a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b8e7a6209e21f136ef26e30f4f2ce4295b65893f629104a1956c8fa2a936119bfd3f09d1d76c6c76c971529e575db3c162c5c703965d5785e632a72966cc180
|
7
|
+
data.tar.gz: 2f244277ad908343de1762267c7ed86083eacd63d3fa3f698a9fb87f60dde9a89de20ec66d12c123d0f6537190d0431659fe791aa1b48f56dbc18843806b43c9
|
data/CHANGELOG.md
CHANGED
@@ -1,123 +1,123 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [v3.0.1](https://github.com/front-matter/commonmeta-ruby/tree/v3.0.1) (2023-03-20)
|
4
4
|
|
5
|
-
[Full Changelog](https://github.com/front-matter/
|
5
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.9.0...v3.0.1)
|
6
6
|
|
7
7
|
**Merged pull requests:**
|
8
8
|
|
9
|
-
- Bump rack from 2.2.5 to 2.2.6.2 [\#21](https://github.com/front-matter/
|
10
|
-
- Bump activesupport from 7.0.4 to 7.0.4.1 [\#20](https://github.com/front-matter/
|
9
|
+
- Bump rack from 2.2.5 to 2.2.6.2 [\#21](https://github.com/front-matter/commonmeta-ruby/pull/21) ([dependabot[bot]](https://github.com/apps/dependabot))
|
10
|
+
- Bump activesupport from 7.0.4 to 7.0.4.1 [\#20](https://github.com/front-matter/commonmeta-ruby/pull/20) ([dependabot[bot]](https://github.com/apps/dependabot))
|
11
11
|
|
12
|
-
## [v2.9.0](https://github.com/front-matter/
|
12
|
+
## [v2.9.0](https://github.com/front-matter/commonmeta-ruby/tree/v2.9.0) (2022-11-23)
|
13
13
|
|
14
|
-
[Full Changelog](https://github.com/front-matter/
|
14
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.8.2...v2.9.0)
|
15
15
|
|
16
|
-
## [v2.8.2](https://github.com/front-matter/
|
16
|
+
## [v2.8.2](https://github.com/front-matter/commonmeta-ruby/tree/v2.8.2) (2022-11-23)
|
17
17
|
|
18
|
-
[Full Changelog](https://github.com/front-matter/
|
18
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.8.0...v2.8.2)
|
19
19
|
|
20
|
-
## [v2.8.0](https://github.com/front-matter/
|
20
|
+
## [v2.8.0](https://github.com/front-matter/commonmeta-ruby/tree/v2.8.0) (2022-11-22)
|
21
21
|
|
22
|
-
[Full Changelog](https://github.com/front-matter/
|
22
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.6.5...v2.8.0)
|
23
23
|
|
24
|
-
## [v2.6.5](https://github.com/front-matter/
|
24
|
+
## [v2.6.5](https://github.com/front-matter/commonmeta-ruby/tree/v2.6.5) (2022-10-04)
|
25
25
|
|
26
|
-
[Full Changelog](https://github.com/front-matter/
|
26
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.6.4...v2.6.5)
|
27
27
|
|
28
|
-
## [v2.6.4](https://github.com/front-matter/
|
28
|
+
## [v2.6.4](https://github.com/front-matter/commonmeta-ruby/tree/v2.6.4) (2022-10-04)
|
29
29
|
|
30
|
-
[Full Changelog](https://github.com/front-matter/
|
30
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.6.3...v2.6.4)
|
31
31
|
|
32
|
-
## [v2.6.3](https://github.com/front-matter/
|
32
|
+
## [v2.6.3](https://github.com/front-matter/commonmeta-ruby/tree/v2.6.3) (2022-10-04)
|
33
33
|
|
34
|
-
[Full Changelog](https://github.com/front-matter/
|
34
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.5.1...v2.6.3)
|
35
35
|
|
36
|
-
## [v2.5.1](https://github.com/front-matter/
|
36
|
+
## [v2.5.1](https://github.com/front-matter/commonmeta-ruby/tree/v2.5.1) (2022-09-18)
|
37
37
|
|
38
|
-
[Full Changelog](https://github.com/front-matter/
|
38
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.5.0...v2.5.1)
|
39
39
|
|
40
|
-
## [v2.5.0](https://github.com/front-matter/
|
40
|
+
## [v2.5.0](https://github.com/front-matter/commonmeta-ruby/tree/v2.5.0) (2022-09-18)
|
41
41
|
|
42
|
-
[Full Changelog](https://github.com/front-matter/
|
42
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.4.2...v2.5.0)
|
43
43
|
|
44
44
|
**Fixed bugs:**
|
45
45
|
|
46
|
-
- Incomplete URL substring sanitization [\#12](https://github.com/front-matter/
|
47
|
-
- Incomplete URL substring sanitization [\#11](https://github.com/front-matter/
|
48
|
-
- Incomplete URL substring sanitization [\#10](https://github.com/front-matter/
|
46
|
+
- Incomplete URL substring sanitization [\#12](https://github.com/front-matter/commonmeta-ruby/issues/12)
|
47
|
+
- Incomplete URL substring sanitization [\#11](https://github.com/front-matter/commonmeta-ruby/issues/11)
|
48
|
+
- Incomplete URL substring sanitization [\#10](https://github.com/front-matter/commonmeta-ruby/issues/10)
|
49
49
|
|
50
|
-
## [v2.4.2](https://github.com/front-matter/
|
50
|
+
## [v2.4.2](https://github.com/front-matter/commonmeta-ruby/tree/v2.4.2) (2022-08-24)
|
51
51
|
|
52
|
-
[Full Changelog](https://github.com/front-matter/
|
52
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.4.1...v2.4.2)
|
53
53
|
|
54
|
-
## [v2.4.1](https://github.com/front-matter/
|
54
|
+
## [v2.4.1](https://github.com/front-matter/commonmeta-ruby/tree/v2.4.1) (2022-08-24)
|
55
55
|
|
56
|
-
[Full Changelog](https://github.com/front-matter/
|
56
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.4...v2.4.1)
|
57
57
|
|
58
|
-
## [v2.4](https://github.com/front-matter/
|
58
|
+
## [v2.4](https://github.com/front-matter/commonmeta-ruby/tree/v2.4) (2022-08-24)
|
59
59
|
|
60
|
-
[Full Changelog](https://github.com/front-matter/
|
60
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.3.1...v2.4)
|
61
61
|
|
62
|
-
## [v2.3.1](https://github.com/front-matter/
|
62
|
+
## [v2.3.1](https://github.com/front-matter/commonmeta-ruby/tree/v2.3.1) (2022-08-14)
|
63
63
|
|
64
|
-
[Full Changelog](https://github.com/front-matter/
|
64
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v.2.3...v2.3.1)
|
65
65
|
|
66
|
-
## [v.2.3](https://github.com/front-matter/
|
66
|
+
## [v.2.3](https://github.com/front-matter/commonmeta-ruby/tree/v.2.3) (2022-06-19)
|
67
67
|
|
68
|
-
[Full Changelog](https://github.com/front-matter/
|
68
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.9...v.2.3)
|
69
69
|
|
70
|
-
## [v2.2.9](https://github.com/front-matter/
|
70
|
+
## [v2.2.9](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.9) (2022-06-19)
|
71
71
|
|
72
|
-
[Full Changelog](https://github.com/front-matter/
|
72
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.7...v2.2.9)
|
73
73
|
|
74
|
-
## [v2.2.7](https://github.com/front-matter/
|
74
|
+
## [v2.2.7](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.7) (2021-12-23)
|
75
75
|
|
76
|
-
[Full Changelog](https://github.com/front-matter/
|
76
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.6...v2.2.7)
|
77
77
|
|
78
|
-
## [v2.2.6](https://github.com/front-matter/
|
78
|
+
## [v2.2.6](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.6) (2021-12-23)
|
79
79
|
|
80
|
-
[Full Changelog](https://github.com/front-matter/
|
80
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.5...v2.2.6)
|
81
81
|
|
82
|
-
## [v2.2.5](https://github.com/front-matter/
|
82
|
+
## [v2.2.5](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.5) (2021-12-09)
|
83
83
|
|
84
|
-
[Full Changelog](https://github.com/front-matter/
|
84
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.4...v2.2.5)
|
85
85
|
|
86
|
-
## [v2.2.4](https://github.com/front-matter/
|
86
|
+
## [v2.2.4](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.4) (2021-12-09)
|
87
87
|
|
88
|
-
[Full Changelog](https://github.com/front-matter/
|
88
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.3...v2.2.4)
|
89
89
|
|
90
|
-
## [v2.2.3](https://github.com/front-matter/
|
90
|
+
## [v2.2.3](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.3) (2021-12-08)
|
91
91
|
|
92
|
-
[Full Changelog](https://github.com/front-matter/
|
92
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/v2.2.2...v2.2.3)
|
93
93
|
|
94
|
-
## [v2.2.2](https://github.com/front-matter/
|
94
|
+
## [v2.2.2](https://github.com/front-matter/commonmeta-ruby/tree/v2.2.2) (2021-12-08)
|
95
95
|
|
96
|
-
[Full Changelog](https://github.com/front-matter/
|
96
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/2.2.1...v2.2.2)
|
97
97
|
|
98
|
-
## [2.2.1](https://github.com/front-matter/
|
98
|
+
## [2.2.1](https://github.com/front-matter/commonmeta-ruby/tree/2.2.1) (2021-12-07)
|
99
99
|
|
100
|
-
[Full Changelog](https://github.com/front-matter/
|
100
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/2.2...2.2.1)
|
101
101
|
|
102
|
-
## [2.2](https://github.com/front-matter/
|
102
|
+
## [2.2](https://github.com/front-matter/commonmeta-ruby/tree/2.2) (2021-12-07)
|
103
103
|
|
104
|
-
[Full Changelog](https://github.com/front-matter/
|
104
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/2.1...2.2)
|
105
105
|
|
106
|
-
## [2.1](https://github.com/front-matter/
|
106
|
+
## [2.1](https://github.com/front-matter/commonmeta-ruby/tree/2.1) (2021-12-07)
|
107
107
|
|
108
|
-
[Full Changelog](https://github.com/front-matter/
|
108
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/2.0.2...2.1)
|
109
109
|
|
110
|
-
## [2.0.2](https://github.com/front-matter/
|
110
|
+
## [2.0.2](https://github.com/front-matter/commonmeta-ruby/tree/2.0.2) (2021-12-06)
|
111
111
|
|
112
|
-
[Full Changelog](https://github.com/front-matter/
|
112
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/2.0.1...2.0.2)
|
113
113
|
|
114
|
-
## [2.0.1](https://github.com/front-matter/
|
114
|
+
## [2.0.1](https://github.com/front-matter/commonmeta-ruby/tree/2.0.1) (2021-12-06)
|
115
115
|
|
116
|
-
[Full Changelog](https://github.com/front-matter/
|
116
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/2.0...2.0.1)
|
117
117
|
|
118
|
-
## [2.0](https://github.com/front-matter/
|
118
|
+
## [2.0](https://github.com/front-matter/commonmeta-ruby/tree/2.0) (2021-12-06)
|
119
119
|
|
120
|
-
[Full Changelog](https://github.com/front-matter/
|
120
|
+
[Full Changelog](https://github.com/front-matter/commonmeta-ruby/compare/d1adb0353c9b3abd0b8f64fed5e0970cf03b537c...2.0)
|
121
121
|
|
122
122
|
|
123
123
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
commonmeta-ruby (3.0.
|
4
|
+
commonmeta-ruby (3.0.3)
|
5
5
|
activesupport (>= 4.2.5, < 8.0)
|
6
6
|
base32-url (>= 0.5.0, < 1)
|
7
7
|
bibtex-ruby (~> 6.0)
|
@@ -12,14 +12,12 @@ PATH
|
|
12
12
|
edtf (~> 3.0, >= 3.0.4)
|
13
13
|
gender_detector (~> 2.0)
|
14
14
|
http (~> 5.1, >= 5.1.1)
|
15
|
-
iso8601 (~> 0.9.1)
|
16
15
|
json-ld-preloaded (~> 3.2, >= 3.2.2)
|
17
16
|
json_schemer (~> 0.2.23)
|
18
17
|
jsonlint (~> 0.3.0)
|
19
18
|
loofah (~> 2.19)
|
20
19
|
namae (~> 1.0)
|
21
20
|
postrank-uri (~> 1.1)
|
22
|
-
public_suffix (~> 4.0, >= 4.0.7)
|
23
21
|
rdf-rdfxml (~> 3.2)
|
24
22
|
rdf-turtle (~> 3.2)
|
25
23
|
thor (~> 1.1, >= 1.1.0)
|
@@ -91,7 +89,6 @@ GEM
|
|
91
89
|
http-form_data (2.3.0)
|
92
90
|
i18n (1.12.0)
|
93
91
|
concurrent-ruby (~> 1.0)
|
94
|
-
iso8601 (0.9.1)
|
95
92
|
json (2.6.3)
|
96
93
|
json-canonicalization (0.3.1)
|
97
94
|
json-ld (3.2.3)
|
data/README.md
CHANGED
@@ -303,102 +303,304 @@ commonmeta https://doi.org/10.7554/elife.01567
|
|
303
303
|
|
304
304
|
Convert Crossref to DataCite:
|
305
305
|
|
306
|
-
```
|
306
|
+
```sh
|
307
307
|
commonmeta https://doi.org/10.7554/elife.01567 -t datacite
|
308
308
|
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
309
|
+
{
|
310
|
+
"id": "https://doi.org/10.7554/elife.01567",
|
311
|
+
"doi": "10.7554/elife.01567",
|
312
|
+
"url": "https://elifesciences.org/articles/01567",
|
313
|
+
"types": {
|
314
|
+
"resourceTypeGeneral": "JournalArticle",
|
315
|
+
"bibtex": "article",
|
316
|
+
"citeproc": "article-journal",
|
317
|
+
"ris": "JOUR",
|
318
|
+
"schemaOrg": "ScholarlyArticle"
|
319
|
+
},
|
320
|
+
"creators": [
|
321
|
+
{
|
322
|
+
"name": "Sankar, Martial",
|
323
|
+
"nameType": "Personal",
|
324
|
+
"givenName": "Martial",
|
325
|
+
"familyName": "Sankar",
|
326
|
+
"affiliation": [
|
327
|
+
{
|
328
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
329
|
+
}
|
330
|
+
]
|
331
|
+
},
|
332
|
+
{
|
333
|
+
"name": "Nieminen, Kaisa",
|
334
|
+
"nameType": "Personal",
|
335
|
+
"givenName": "Kaisa",
|
336
|
+
"familyName": "Nieminen",
|
337
|
+
"affiliation": [
|
338
|
+
{
|
339
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
340
|
+
}
|
341
|
+
]
|
342
|
+
},
|
343
|
+
{
|
344
|
+
"name": "Ragni, Laura",
|
345
|
+
"nameType": "Personal",
|
346
|
+
"givenName": "Laura",
|
347
|
+
"familyName": "Ragni",
|
348
|
+
"affiliation": [
|
349
|
+
{
|
350
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
351
|
+
}
|
352
|
+
]
|
353
|
+
},
|
354
|
+
{
|
355
|
+
"name": "Xenarios, Ioannis",
|
356
|
+
"nameType": "Personal",
|
357
|
+
"givenName": "Ioannis",
|
358
|
+
"familyName": "Xenarios",
|
359
|
+
"affiliation": [
|
360
|
+
{
|
361
|
+
"name": "Vital-IT, Swiss Institute of Bioinformatics, Lausanne, Switzerland"
|
362
|
+
}
|
363
|
+
]
|
364
|
+
},
|
365
|
+
{
|
366
|
+
"name": "Hardtke, Christian S",
|
367
|
+
"nameType": "Personal",
|
368
|
+
"givenName": "Christian S",
|
369
|
+
"familyName": "Hardtke",
|
370
|
+
"affiliation": [
|
371
|
+
{
|
372
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
373
|
+
}
|
374
|
+
]
|
375
|
+
}
|
376
|
+
],
|
377
|
+
"titles": [
|
378
|
+
{
|
379
|
+
"title": "Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
380
|
+
}
|
381
|
+
],
|
382
|
+
"publisher": "eLife Sciences Publications, Ltd",
|
383
|
+
"container": {
|
384
|
+
"type": "Journal",
|
385
|
+
"title": "eLife",
|
386
|
+
"identifier": "2050-084X",
|
387
|
+
"identifierType": "ISSN",
|
388
|
+
"volume": "3"
|
389
|
+
},
|
390
|
+
"subjects": [
|
391
|
+
|
392
|
+
],
|
393
|
+
"contributors": [
|
394
|
+
|
395
|
+
],
|
396
|
+
"dates": [
|
397
|
+
{
|
398
|
+
"date": "2014-02-11",
|
399
|
+
"dateType": "Issued"
|
400
|
+
},
|
401
|
+
{
|
402
|
+
"date": "2022-03-26",
|
403
|
+
"dateType": "Updated"
|
404
|
+
}
|
405
|
+
],
|
406
|
+
"alternateIdentifiers": [
|
407
|
+
|
408
|
+
],
|
409
|
+
"rightsList": [
|
410
|
+
{
|
411
|
+
"rightsIdentifier": "cc-by-3.0",
|
412
|
+
"rightsUri": "https://creativecommons.org/licenses/by/3.0/legalcode",
|
413
|
+
"rights": "Creative Commons Attribution 3.0 Unported",
|
414
|
+
"rightsIdentifierScheme": "SPDX",
|
415
|
+
"schemeUri": "https://spdx.org/licenses/"
|
416
|
+
}
|
417
|
+
],
|
418
|
+
"descriptions": [
|
419
|
+
{
|
420
|
+
"description": "Among various advantages, their small size makes model organisms preferred subjects of investigation. Yet, even in model systems detailed analysis of numerous developmental processes at cellular level is severely hampered by their scale. For instance, secondary growth of Arabidopsis hypocotyls creates a radial pattern of highly specialized tissues that comprises several thousand cells starting from a few dozen. This dynamic process is difficult to follow because of its scale and because it can only be investigated invasively, precluding comprehensive understanding of the cell proliferation, differentiation, and patterning events involved. To overcome such limitation, we established an automated quantitative histology approach. We acquired hypocotyl cross-sections from tiled high-resolution images and extracted their information content using custom high-throughput image processing and segmentation. Coupled with automated cell type recognition through machine learning, we could establish a cellular resolution atlas that reveals vascular morphodynamics during secondary growth, for example equidistant phloem pole formation.",
|
421
|
+
"descriptionType": "Abstract"
|
422
|
+
}
|
423
|
+
],
|
424
|
+
"fundingReferences": [
|
425
|
+
{
|
426
|
+
"funderName": "SystemsX"
|
427
|
+
},
|
428
|
+
{
|
429
|
+
"funderName": "EMBO longterm post-doctoral fellowships"
|
430
|
+
},
|
431
|
+
{
|
432
|
+
"funderName": "Marie Heim-Voegtlin"
|
433
|
+
},
|
434
|
+
{
|
435
|
+
"funderName": "University of Lausanne",
|
436
|
+
"funderIdentifier": "https://doi.org/10.13039/501100006390",
|
437
|
+
"funderIdentifierType": "Crossref Funder ID"
|
438
|
+
},
|
439
|
+
{
|
440
|
+
"funderName": "SystemsX"
|
441
|
+
},
|
442
|
+
{
|
443
|
+
"funderName": "EMBO",
|
444
|
+
"funderIdentifier": "https://doi.org/10.13039/501100003043",
|
445
|
+
"funderIdentifierType": "Crossref Funder ID"
|
446
|
+
},
|
447
|
+
{
|
448
|
+
"funderName": "Swiss National Science Foundation",
|
449
|
+
"funderIdentifier": "https://doi.org/10.13039/501100001711",
|
450
|
+
"funderIdentifierType": "Crossref Funder ID"
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"funderName": "University of Lausanne",
|
454
|
+
"funderIdentifier": "https://doi.org/10.13039/501100006390",
|
455
|
+
"funderIdentifierType": "Crossref Funder ID"
|
456
|
+
}
|
457
|
+
],
|
458
|
+
"relatedIdentifiers": [
|
459
|
+
{
|
460
|
+
"relatedIdentifier": "https://doi.org/10.1038/nature02100",
|
461
|
+
"relatedIdentifierType": "DOI",
|
462
|
+
"relationType": "References"
|
463
|
+
},
|
464
|
+
{
|
465
|
+
"relatedIdentifier": "https://doi.org/10.1534/genetics.109.104976",
|
466
|
+
"relatedIdentifierType": "DOI",
|
467
|
+
"relationType": "References"
|
468
|
+
},
|
469
|
+
{
|
470
|
+
"relatedIdentifier": "https://doi.org/10.1034/j.1399-3054.2002.1140413.x",
|
471
|
+
"relatedIdentifierType": "DOI",
|
472
|
+
"relationType": "References"
|
473
|
+
},
|
474
|
+
{
|
475
|
+
"relatedIdentifier": "https://doi.org/10.1162/089976601750399335",
|
476
|
+
"relatedIdentifierType": "DOI",
|
477
|
+
"relationType": "References"
|
478
|
+
},
|
479
|
+
{
|
480
|
+
"relatedIdentifier": "https://doi.org/10.1007/bf00994018",
|
481
|
+
"relatedIdentifierType": "DOI",
|
482
|
+
"relationType": "References"
|
483
|
+
},
|
484
|
+
{
|
485
|
+
"relatedIdentifier": "https://doi.org/10.1242/dev.119.1.71",
|
486
|
+
"relatedIdentifierType": "DOI",
|
487
|
+
"relationType": "References"
|
488
|
+
},
|
489
|
+
{
|
490
|
+
"relatedIdentifier": "https://doi.org/10.1016/j.semcdb.2009.09.009",
|
491
|
+
"relatedIdentifierType": "DOI",
|
492
|
+
"relationType": "References"
|
493
|
+
},
|
494
|
+
{
|
495
|
+
"relatedIdentifier": "https://doi.org/10.1242/dev.091314",
|
496
|
+
"relatedIdentifierType": "DOI",
|
497
|
+
"relationType": "References"
|
498
|
+
},
|
499
|
+
{
|
500
|
+
"relatedIdentifier": "https://doi.org/10.1371/journal.pgen.1002997",
|
501
|
+
"relatedIdentifierType": "DOI",
|
502
|
+
"relationType": "References"
|
503
|
+
},
|
504
|
+
{
|
505
|
+
"relatedIdentifier": "https://doi.org/10.1038/msb.2010.25",
|
506
|
+
"relatedIdentifierType": "DOI",
|
507
|
+
"relationType": "References"
|
508
|
+
},
|
509
|
+
{
|
510
|
+
"relatedIdentifier": "https://doi.org/10.1016/j.biosystems.2012.07.004",
|
511
|
+
"relatedIdentifierType": "DOI",
|
512
|
+
"relationType": "References"
|
513
|
+
},
|
514
|
+
{
|
515
|
+
"relatedIdentifier": "https://doi.org/10.1016/j.pbi.2005.11.013",
|
516
|
+
"relatedIdentifierType": "DOI",
|
517
|
+
"relationType": "References"
|
518
|
+
},
|
519
|
+
{
|
520
|
+
"relatedIdentifier": "https://doi.org/10.1105/tpc.110.076083",
|
521
|
+
"relatedIdentifierType": "DOI",
|
522
|
+
"relationType": "References"
|
523
|
+
},
|
524
|
+
{
|
525
|
+
"relatedIdentifier": "https://doi.org/10.1073/pnas.0808444105",
|
526
|
+
"relatedIdentifierType": "DOI",
|
527
|
+
"relationType": "References"
|
528
|
+
},
|
529
|
+
{
|
530
|
+
"relatedIdentifier": "https://doi.org/10.1016/0092-8674(89)90900-8",
|
531
|
+
"relatedIdentifierType": "DOI",
|
532
|
+
"relationType": "References"
|
533
|
+
},
|
534
|
+
{
|
535
|
+
"relatedIdentifier": "https://doi.org/10.1126/science.1066609",
|
536
|
+
"relatedIdentifierType": "DOI",
|
537
|
+
"relationType": "References"
|
538
|
+
},
|
539
|
+
{
|
540
|
+
"relatedIdentifier": "https://doi.org/10.1104/pp.104.040212",
|
541
|
+
"relatedIdentifierType": "DOI",
|
542
|
+
"relationType": "References"
|
543
|
+
},
|
544
|
+
{
|
545
|
+
"relatedIdentifier": "https://doi.org/10.1038/nbt1206-1565",
|
546
|
+
"relatedIdentifierType": "DOI",
|
547
|
+
"relationType": "References"
|
548
|
+
},
|
549
|
+
{
|
550
|
+
"relatedIdentifier": "https://doi.org/10.1073/pnas.77.3.1516",
|
551
|
+
"relatedIdentifierType": "DOI",
|
552
|
+
"relationType": "References"
|
553
|
+
},
|
554
|
+
{
|
555
|
+
"relatedIdentifier": "https://doi.org/10.1093/bioinformatics/btq046",
|
556
|
+
"relatedIdentifierType": "DOI",
|
557
|
+
"relationType": "References"
|
558
|
+
},
|
559
|
+
{
|
560
|
+
"relatedIdentifier": "https://doi.org/10.1105/tpc.111.084020",
|
561
|
+
"relatedIdentifierType": "DOI",
|
562
|
+
"relationType": "References"
|
563
|
+
},
|
564
|
+
{
|
565
|
+
"relatedIdentifier": "https://doi.org/10.5061/dryad.b835k",
|
566
|
+
"relatedIdentifierType": "DOI",
|
567
|
+
"relationType": "References"
|
568
|
+
},
|
569
|
+
{
|
570
|
+
"relatedIdentifier": "https://doi.org/10.1016/j.cub.2008.02.070",
|
571
|
+
"relatedIdentifierType": "DOI",
|
572
|
+
"relationType": "References"
|
573
|
+
},
|
574
|
+
{
|
575
|
+
"relatedIdentifier": "https://doi.org/10.1111/j.1469-8137.2010.03236.x",
|
576
|
+
"relatedIdentifierType": "DOI",
|
577
|
+
"relationType": "References"
|
578
|
+
},
|
579
|
+
{
|
580
|
+
"relatedIdentifier": "https://doi.org/10.1007/s00138-011-0345-9",
|
581
|
+
"relatedIdentifierType": "DOI",
|
582
|
+
"relationType": "References"
|
583
|
+
},
|
584
|
+
{
|
585
|
+
"relatedIdentifier": "https://doi.org/10.1016/j.cell.2012.02.048",
|
586
|
+
"relatedIdentifierType": "DOI",
|
587
|
+
"relationType": "References"
|
588
|
+
},
|
589
|
+
{
|
590
|
+
"relatedIdentifier": "https://doi.org/10.1038/ncb2764",
|
591
|
+
"relatedIdentifierType": "DOI",
|
592
|
+
"relationType": "References"
|
593
|
+
}
|
594
|
+
],
|
595
|
+
"schemaVersion": "http://datacite.org/schema/kernel-4",
|
596
|
+
"agency": "Crossref",
|
597
|
+
"state": "findable"
|
598
|
+
}
|
397
599
|
```
|
398
600
|
|
399
601
|
Convert Crossref to BibTeX:
|
400
602
|
|
401
|
-
```
|
603
|
+
```sh
|
402
604
|
commonmeta https://doi.org/10.7554/elife.01567 -t bibtex
|
403
605
|
|
404
606
|
@article{https://doi.org/10.7554/elife.01567,
|
@@ -413,7 +615,7 @@ commonmeta https://doi.org/10.7554/elife.01567 -t bibtex
|
|
413
615
|
|
414
616
|
|
415
617
|
|
416
|
-
Convert DataCite
|
618
|
+
Convert DataCite to schema.org/JSON-LD:
|
417
619
|
|
418
620
|
```sh
|
419
621
|
commonmeta 10.5061/DRYAD.8515
|
data/commonmeta.gemspec
CHANGED
@@ -28,14 +28,12 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.add_dependency 'edtf', '~> 3.0', '>= 3.0.4'
|
29
29
|
s.add_dependency 'gender_detector', '~> 2.0'
|
30
30
|
s.add_dependency 'http', '~> 5.1', '>= 5.1.1'
|
31
|
-
s.add_dependency 'iso8601', '~> 0.9.1'
|
32
31
|
s.add_dependency 'json-ld-preloaded', '~> 3.2', '>= 3.2.2'
|
33
32
|
s.add_dependency 'jsonlint', '~> 0.3.0'
|
34
33
|
s.add_dependency 'json_schemer', '~> 0.2.23'
|
35
34
|
s.add_dependency 'loofah', '~> 2.19'
|
36
35
|
s.add_dependency 'namae', '~> 1.0'
|
37
36
|
s.add_dependency 'postrank-uri', '~> 1.1'
|
38
|
-
s.add_dependency 'public_suffix', '~> 4.0', '>= 4.0.7'
|
39
37
|
s.add_dependency 'rdf-rdfxml', '~> 3.2'
|
40
38
|
s.add_dependency 'rdf-turtle', '~> 3.2'
|
41
39
|
s.add_dependency 'thor', '~> 1.1', '>= 1.1.0'
|
data/lib/commonmeta/metadata.rb
CHANGED
@@ -157,9 +157,9 @@ module Commonmeta
|
|
157
157
|
end
|
158
158
|
|
159
159
|
# Catch errors in the reader
|
160
|
-
# Then validate against JSON schema for
|
160
|
+
# Then validate against JSON schema for Commonmeta
|
161
161
|
def errors
|
162
|
-
meta.fetch('errors', nil) || json_schema_errors
|
162
|
+
meta.fetch('errors', nil) || json_schema_errors
|
163
163
|
end
|
164
164
|
|
165
165
|
def descriptions
|
@@ -32,7 +32,7 @@ module Commonmeta
|
|
32
32
|
id = normalize_id(options[:doi] || meta.fetch('doi',
|
33
33
|
nil) || Array.wrap(meta.fetch('identifiers', nil)).find do |i|
|
34
34
|
i['type'] == 'doi'
|
35
|
-
end.fetch('value', nil))
|
35
|
+
end.to_h.fetch('value', nil))
|
36
36
|
url = normalize_id(meta.fetch('repository-code', nil))
|
37
37
|
creators = cff_creators(Array.wrap(meta.fetch('authors', nil)))
|
38
38
|
|
@@ -1,16 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "json_schemer"
|
4
|
+
require "pathname"
|
5
5
|
|
6
6
|
module Commonmeta
|
7
7
|
module SchemaUtils
|
8
|
-
|
9
|
-
|
10
|
-
COMMONMETA = schema = File.read(File.expand_path('../../resources/commonmeta_v0.9.json',
|
11
|
-
__dir__))
|
8
|
+
COMMONMETA = File.read(File.expand_path("../../resources/commonmeta_v0.9.1.json",
|
9
|
+
__dir__))
|
12
10
|
|
13
|
-
def json_schema_errors
|
11
|
+
def json_schema_errors
|
14
12
|
schemer = JSONSchemer.schema(COMMONMETA)
|
15
13
|
errors = schemer.validate(meta).to_a
|
16
14
|
errors.map { |err| JSONSchemer::Errors.pretty err }.presence
|
data/lib/commonmeta/utils.rb
CHANGED
@@ -1053,10 +1053,10 @@ module Commonmeta
|
|
1053
1053
|
end
|
1054
1054
|
|
1055
1055
|
# parsing of incomplete iso8601 timestamps such as 2015-04 is broken
|
1056
|
-
# in standard library
|
1056
|
+
# in standard library, so we use the edtf gem
|
1057
1057
|
# return nil if invalid iso8601 timestamp
|
1058
1058
|
def get_datetime_from_iso8601(iso8601_time)
|
1059
|
-
|
1059
|
+
Date.edtf(iso8601_time).to_time.utc
|
1060
1060
|
rescue StandardError
|
1061
1061
|
nil
|
1062
1062
|
end
|
@@ -1337,9 +1337,12 @@ module Commonmeta
|
|
1337
1337
|
end
|
1338
1338
|
|
1339
1339
|
def encode_doi(prefix)
|
1340
|
-
|
1341
|
-
suffix
|
1342
|
-
|
1340
|
+
# DOI suffix is a generated from a random number, encoded in base32
|
1341
|
+
# suffix has 8 digits plus two checksum digits. With base32 there are
|
1342
|
+
# 32 possible digits, so 8 digits gives 32^8 possible combinations
|
1343
|
+
random_int = SecureRandom.random_number(32**7..(32**8) - 1)
|
1344
|
+
suffix = Base32::URL.encode(random_int, checksum: true)
|
1345
|
+
str = "#{suffix[0, 5]}-#{suffix[5, 10]}"
|
1343
1346
|
"https://doi.org/#{prefix}/#{str}"
|
1344
1347
|
end
|
1345
1348
|
|
data/lib/commonmeta/version.rb
CHANGED
data/lib/commonmeta.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
3
|
-
"$id": "https://commonmeta.org/commonmeta_v0.9.json",
|
4
|
-
"title": "Commonmeta v0.9",
|
3
|
+
"$id": "https://commonmeta.org/commonmeta_v0.9.1.json",
|
4
|
+
"title": "Commonmeta v0.9.1",
|
5
5
|
"description": "JSON representation of the Commonmeta schema.",
|
6
6
|
"additionalProperties": false,
|
7
7
|
"definitions": {
|
@@ -17,11 +17,21 @@
|
|
17
17
|
},
|
18
18
|
"uniqueItems": true
|
19
19
|
},
|
20
|
+
"latitude": {
|
21
|
+
"type": "number",
|
22
|
+
"minimum": -90,
|
23
|
+
"maximum": 90
|
24
|
+
},
|
25
|
+
"longitude": {
|
26
|
+
"type": "number",
|
27
|
+
"minimum": -180,
|
28
|
+
"maximum": 180
|
29
|
+
},
|
20
30
|
"geoLocationPoint": {
|
21
31
|
"type": "object",
|
22
32
|
"properties": {
|
23
|
-
"pointLongitude": { "
|
24
|
-
"pointLatitude": { "
|
33
|
+
"pointLongitude": { "$ref": "#/definitions/longitude" },
|
34
|
+
"pointLatitude": { "$ref": "#/definitions/latitude" }
|
25
35
|
},
|
26
36
|
"required": ["pointLongitude", "pointLatitude"]
|
27
37
|
}
|
@@ -318,10 +328,10 @@
|
|
318
328
|
"geoLocationBox": {
|
319
329
|
"type": "object",
|
320
330
|
"properties": {
|
321
|
-
"westBoundLongitude": { "
|
322
|
-
"eastBoundLongitude": { "
|
323
|
-
"southBoundLatitude": { "
|
324
|
-
"northBoundLatitude": { "
|
331
|
+
"westBoundLongitude": { "$ref": "#/definitions/longitude" },
|
332
|
+
"eastBoundLongitude": { "$ref": "#/definitions/longitude" },
|
333
|
+
"southBoundLatitude": { "$ref": "#/definitions/latitude" },
|
334
|
+
"northBoundLatitude": { "$ref": "#/definitions/latitude" }
|
325
335
|
},
|
326
336
|
"required": [
|
327
337
|
"westBoundLongitude",
|
data/spec/utils_spec.rb
CHANGED
@@ -612,8 +612,9 @@ describe Commonmeta::Metadata, vcr: true do
|
|
612
612
|
it 'encode doi' do
|
613
613
|
prefix = '10.53731'
|
614
614
|
response = subject.encode_doi(prefix)
|
615
|
-
|
616
|
-
expect(response
|
615
|
+
puts response
|
616
|
+
expect(response).to match(%r{#{prefix}/[a-z0-9]+})
|
617
|
+
expect(response.length).to eq(36)
|
617
618
|
end
|
618
619
|
|
619
620
|
it 'decode doi' do
|
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.0.
|
4
|
+
version: 3.0.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-03-
|
11
|
+
date: 2023-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -186,20 +186,6 @@ dependencies:
|
|
186
186
|
- - ">="
|
187
187
|
- !ruby/object:Gem::Version
|
188
188
|
version: 5.1.1
|
189
|
-
- !ruby/object:Gem::Dependency
|
190
|
-
name: iso8601
|
191
|
-
requirement: !ruby/object:Gem::Requirement
|
192
|
-
requirements:
|
193
|
-
- - "~>"
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version: 0.9.1
|
196
|
-
type: :runtime
|
197
|
-
prerelease: false
|
198
|
-
version_requirements: !ruby/object:Gem::Requirement
|
199
|
-
requirements:
|
200
|
-
- - "~>"
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
version: 0.9.1
|
203
189
|
- !ruby/object:Gem::Dependency
|
204
190
|
name: json-ld-preloaded
|
205
191
|
requirement: !ruby/object:Gem::Requirement
|
@@ -290,26 +276,6 @@ dependencies:
|
|
290
276
|
- - "~>"
|
291
277
|
- !ruby/object:Gem::Version
|
292
278
|
version: '1.1'
|
293
|
-
- !ruby/object:Gem::Dependency
|
294
|
-
name: public_suffix
|
295
|
-
requirement: !ruby/object:Gem::Requirement
|
296
|
-
requirements:
|
297
|
-
- - "~>"
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '4.0'
|
300
|
-
- - ">="
|
301
|
-
- !ruby/object:Gem::Version
|
302
|
-
version: 4.0.7
|
303
|
-
type: :runtime
|
304
|
-
prerelease: false
|
305
|
-
version_requirements: !ruby/object:Gem::Requirement
|
306
|
-
requirements:
|
307
|
-
- - "~>"
|
308
|
-
- !ruby/object:Gem::Version
|
309
|
-
version: '4.0'
|
310
|
-
- - ">="
|
311
|
-
- !ruby/object:Gem::Version
|
312
|
-
version: 4.0.7
|
313
279
|
- !ruby/object:Gem::Dependency
|
314
280
|
name: rdf-rdfxml
|
315
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -654,7 +620,7 @@ files:
|
|
654
620
|
- lib/commonmeta/xml_converter.rb
|
655
621
|
- resources/2008/09/xsd.xsl
|
656
622
|
- resources/cff.json
|
657
|
-
- resources/commonmeta_v0.9.json
|
623
|
+
- resources/commonmeta_v0.9.1.json
|
658
624
|
- resources/crossref/AccessIndicators.xsd
|
659
625
|
- resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd
|
660
626
|
- resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd
|