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 identifier types including DOI, PMID, PMCID, arXiv, ORCID, OpenAlex, ROR, UniProt, and selected NCBI accessions (GEO, BioProject, RefSeq, SRA, and genome assembly).

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 provides registry-backed online operations where supported for these identifier groups:

  • Bibliographic core: DOI, PMID, PMCID, arXiv
  • Graph and people: OpenAlex, ORCID
  • Organizations: ROR
  • Life science: UniProt; NCBI accessions (GEO, BioProject, RefSeq, SRA, genome assembly)

Operations include existence checks, metadata retrieval, linked-identifier discovery, and cross-system conversion. Not every type supports every operation; use scholidonline_capabilities() to inspect what is available for a given type.

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 when exposed by the provider

Examples

# List supported scholidonline identifier types
scholidonline::scholidonline_types()
##  [1] "arxiv"      "assembly"   "bioproject" "doi"        "geo"       
##  [6] "openalex"   "orcid"      "pmcid"      "pmid"       "refseq"    
## [11] "ror"        "sra"        "uniprot"
# 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    assembly    exists   <NA>              auto, ncbi             ncbi
## 5    assembly      meta   <NA>              auto, ncbi             ncbi
## 6  bioproject    exists   <NA>              auto, ncbi             ncbi
## 7  bioproject      meta   <NA>              auto, ncbi             ncbi
## 8         doi    exists   <NA> auto, doi.org, crossref          doi.org
## 9         doi     links   <NA>          auto, crossref         crossref
## 10        doi      meta   <NA> auto, crossref, doi.org         crossref
## 11        doi   convert   pmid        auto, ncbi, epmc             ncbi
## 12        doi   convert  pmcid        auto, ncbi, epmc             ncbi
## 13        geo    exists   <NA>              auto, ncbi             ncbi
## 14        geo      meta   <NA>              auto, ncbi             ncbi
## 15   openalex    exists   <NA>          auto, openalex         openalex
## 16   openalex     links   <NA>          auto, openalex         openalex
## 17   openalex      meta   <NA>          auto, openalex         openalex
## 18   openalex   convert    doi          auto, openalex         openalex
## 19   openalex   convert   pmid          auto, openalex         openalex
## 20      orcid    exists   <NA>             auto, orcid            orcid
## 21      orcid     links   <NA>             auto, orcid            orcid
## 22      orcid      meta   <NA>             auto, orcid            orcid
## 23      pmcid    exists   <NA>        auto, ncbi, epmc             ncbi
## 24      pmcid     links   <NA>        auto, ncbi, epmc             ncbi
## 25      pmcid      meta   <NA>        auto, ncbi, epmc             ncbi
## 26      pmcid   convert   pmid        auto, ncbi, epmc             ncbi
## 27      pmcid   convert    doi        auto, ncbi, epmc             ncbi
## 28       pmid    exists   <NA>        auto, ncbi, epmc             ncbi
## 29       pmid     links   <NA>        auto, ncbi, epmc             ncbi
## 30       pmid      meta   <NA>        auto, ncbi, epmc             ncbi
## 31       pmid   convert    doi        auto, ncbi, epmc             ncbi
## 32       pmid   convert  pmcid        auto, ncbi, epmc             ncbi
## 33     refseq    exists   <NA>              auto, ncbi             ncbi
## 34     refseq      meta   <NA>              auto, ncbi             ncbi
## 35        ror    exists   <NA>               auto, ror              ror
## 36        ror      meta   <NA>               auto, ror              ror
## 37        sra    exists   <NA>              auto, ncbi             ncbi
## 38        sra      meta   <NA>              auto, ncbi             ncbi
## 39    uniprot    exists   <NA>           auto, uniprot          uniprot
## 40    uniprot      meta   <NA>           auto, uniprot          uniprot
# 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 when the provider
# exposes them. Returns an empty table when no linked identifiers are found.
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 (including types without online support here, such as ISBN, ISSN, and bibcode).

scholidonline builds on that foundation and adds online registry queries for a subset of those types.

License

MIT.

Metadata

Version

0.2.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    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-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • 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