-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.Rmd
More file actions
123 lines (99 loc) · 3.25 KB
/
Copy pathREADME.Rmd
File metadata and controls
123 lines (99 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
output: github_document
editor_options:
markdown:
wrap: 72
---
# scholid
[](https://github.com/Thomas-Rauter/scholid/actions/workflows/R-CMD-check.yaml)
[](https://app.codecov.io/gh/Thomas-Rauter/scholid)
[](https://CRAN.R-project.org/package=scholid)
[](https://CRAN.R-project.org/package=scholid)
[](https://CRAN.R-project.org/package=scholid)
`scholid` provides lightweight, dependency-free utilities for working with
scholarly identifiers in R. The package is designed as a small, well-tested
foundation that can be safely reused by other packages and data workflows.
It supports twenty identifier types — see Scope and `scholid_types()`.
See the full documentation at the
[scholid website](https://thomas-rauter.github.io/scholid/).
For online lookup, conversion, metadata retrieval, and linked identifier
discovery, see
[`scholidonline`](https://thomas-rauter.github.io/scholidonline/).
## Installation
Install the released version from CRAN:
```{r install, eval = FALSE}
install.packages("scholid")
```
## Scope
The package focuses on common identifier systems used in scholarly
communication:
- DOI
- arXiv
- ADS bibcode
- OpenAlex
- Software Heritage (SWHID)
- ARK
- ISNI
- ORCID iD
- ROR
- RRID
- UniProt
- RefSeq
- SRA
- GEO
- BioProject
- Genome assembly (GCA/GCF)
- ISBN
- ISSN
- PubMed Central (PMCID)
- PubMed (PMID)
## Interface
User-available functions:
| Function | Purpose |
|---------|---------|
| `scholid_types()` | List supported scholarly identifier types |
| `is_scholid(x, type)` | Test whether values conform to a given identifier type |
| `normalize_scholid(x, type)` | Normalize identifiers to canonical form |
| `extract_scholid(text, type)` | Extract identifiers of a given type from free text |
| `classify_scholid(x)` | Guess the identifier type of each input value |
| `detect_scholid_type(x)` | Detect identifier types from canonical or wrapped input values |
## Examples
```{r example, eval = TRUE}
# list supported scholarly identifier types
scholid::scholid_types()
# test whether values match a given identifier type
scholid::is_scholid(
x = "10.1000/182",
type = "doi"
)
# normalize identifiers to canonical form
scholid::normalize_scholid(
x = "https://doi.org/10.1000/182",
type = "doi"
)
# extract identifiers of a given type from free text
scholid::extract_scholid(
text = "See https://doi.org/10.1000/182 for details.",
type = "doi"
)
# classify the identifier type of each input value
scholid::classify_scholid(
x = c(
"10.1000/182",
"0000-0002-1825-0097",
"not an id"
)
)
# detect identifier types from canonical or wrapped input values
scholid::detect_scholid_type(
x = c(
"https://doi.org/10.1000/182",
"ORCID: 0000-0002-1825-0097",
"arXiv:2101.00001",
"not an id"
)
)
```
For more detailed usage patterns check out the **Get started** vignette.
## License
MIT