MyNixOS website logo
Description

Resolution, Conversion, Linking and Metadata for Scholarly Identifiers.

Enables querying of scholarly identifier services to verify identifier existence, convert identifiers across systems, retrieve bibliographic metadata, and discover linked identifiers. Supports common identifier types including DOI, PMID, PMCID, arXiv, and ORCID.

scholidonline

R-CMD-check Codecov testcoverage CRANsince CRANdownloads CRANdownloads

scholidonline provides lightweight online utilities for working with scholarly identifiers in R. It builds on scholid for identifier detection and normalization, and adds minimal-dependency functions to query external registries.

See the full documentation at the scholidonline website.

Installation

Install the released version from CRAN:

install.packages("scholidonline")

Scope

The package focuses on online operations for common identifier systems used in scholarly communication:

  • DOI
  • ORCID iD
  • arXiv
  • PubMed (PMID)
  • PubMed Central (PMCID)

It provides registry-backed functionality such as:

  • Existence checks
  • Identifier conversion across systems
  • Basic metadata retrieval
  • Discovery of linked identifiers

Interface

User-available functions:

FunctionPurpose
scholidonline_types()Supported scholidonline identifier types
scholidonline_capabilities()Supported scholidonline capabilities
id_exists()Check whether identifiers exist in their registries
id_convert()Convert identifiers across systems (e.g., PMID → DOI)
id_metadata()Retrieve basic structured metadata
id_links()Discover identifiers linked to the same scholarly record

Examples

# List supported scholidonline identifier types
scholidonline::scholidonline_types()
## [1] "arxiv" "doi"   "orcid" "pmcid" "pmid"
# List scholidonline capabilities
scholidonline::scholidonline_capabilities()
##     type operation target               providers default_provider
## 1  arxiv    exists   <NA>             auto, arxiv            arxiv
## 2  arxiv     links   <NA>             auto, arxiv            arxiv
## 3  arxiv      meta   <NA>             auto, arxiv            arxiv
## 4    doi    exists   <NA> auto, doi.org, crossref          doi.org
## 5    doi     links   <NA>          auto, crossref         crossref
## 6    doi      meta   <NA> auto, crossref, doi.org         crossref
## 7    doi   convert   pmid        auto, ncbi, epmc             ncbi
## 8    doi   convert  pmcid        auto, ncbi, epmc             ncbi
## 9  orcid    exists   <NA>             auto, orcid            orcid
## 10 orcid     links   <NA>             auto, orcid            orcid
## 11 orcid      meta   <NA>             auto, orcid            orcid
## 12 pmcid    exists   <NA>        auto, ncbi, epmc             ncbi
## 13 pmcid     links   <NA>        auto, ncbi, epmc             ncbi
## 14 pmcid      meta   <NA>        auto, ncbi, epmc             ncbi
## 15 pmcid   convert   pmid        auto, ncbi, epmc             ncbi
## 16 pmcid   convert    doi        auto, ncbi, epmc             ncbi
## 17  pmid    exists   <NA>        auto, ncbi, epmc             ncbi
## 18  pmid     links   <NA>        auto, ncbi, epmc             ncbi
## 19  pmid      meta   <NA>        auto, ncbi, epmc             ncbi
## 20  pmid   convert    doi        auto, ncbi, epmc             ncbi
## 21  pmid   convert  pmcid        auto, ncbi, epmc             ncbi
# Check if an ID exists online
scholidonline::id_exists(
  "10.1000/182",
  type = "doi"
  )
## [1] TRUE
# Convert identifiers across systems
scholidonline::id_convert(
  "12345678",
  to = "doi",
  from = "pmid"
  )
## [1] "10.1234/2013/999990"
# Retrieve scholarly metadata
out <- scholidonline::id_metadata(
  "10.1038/nature12373",
  type = "doi"
  )

# Show key fields
knitr::kable(out)
inputtypeprovidertitleyearcontainerdoipmidpmcidurl
10.1038/nature12373doicrossrefNanometre-scale thermometry in a living cell2013Nature10.1038/nature12373NANAhttps://doi.org/10.1038/nature12373
# Return identifiers linked to the same scholarly record
out <- scholidonline::id_links(
  "31452104",
  provider = "epmc"
  )

knitr::kable(out)
queryquery_typelinked_typelinked_idprovider
231452104pmiddoi10.1007/978-1-4939-9752-7_10epmc

Relationship to scholid

scholid provides dependency-free utilities for detecting, normalizing, classifying, and extracting scholarly identifiers.

scholidonline builds on that foundation and adds online registry queries.

License

MIT.

Metadata

Version

0.1.1

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows