Registrants do not register DOIs directly with the DOI Foundation, but go through RAs.

doi_ras()

get_doi_ra(x, ...)

is_doi_from_ra(x, ra = names(doi_ras()), ...)

Arguments

x

A vector created by, or convertable to doi().

...

Arguments passed on to httr::GET

config

Additional configuration settings such as http authentication (authenticate()), additional headers (add_headers()), cookies (set_cookies()) etc. See config() for full details and list of helpers.

handle

The handle to use with this request. If not supplied, will be retrieved and reused from the handle_pool() based on the scheme, hostname and port of the url. By default httr requests to the same scheme/host/port combo. This substantially reduces connection time, and ensures that cookies are maintained over multiple requests to the same host. See handle_pool() for more details.

ra

Character scalar, must be one of names(doi_ras()).

Details

Some of these RAs have their own APIs to access additional metadata.

Selected APIs with existing R wrappers include:

It's easy to confuse these more comprehensive wrappers geared towards particular RAs or services with those API wrappers included in biblids such as get_doi_handles(), because both types of API accept DOIs as inputs.

Functions

  • doi_ras: All current DOI RAs, returned as a character string, named with its short name. Taken from doi.org, where you can also learn more about areas of coverage.

  • get_doi_ra: Get DOI RA using the doi.org Which RA? service.

  • is_doi_from_ra: Test whether a DOI is registed by an RA

Warning

If you are using this in your own package, or create a lot of traffic, please set your own httr::user_agent().

Progress bar

Emits a progressr::progressor() progress bar. To enable in your session run:

progressr::handlers(global = TRUE)

See progressr documentation for details.

See also

Examples

doi_ras()
#>                                                           Airiti 
#>                                                   "Airiti, Inc." 
#>                                                             CNKI 
#>                        "China National Knowledge Infrastructure" 
#>                                                         Crossref 
#>                                                       "Crossref" 
#>                                                         DataCite 
#>                                                       "DataCite" 
#>                                                             EIDR 
#>                              "Entertainment Identifier Registry" 
#>                                                            ISTIC 
#> "The Institute of Scientific and Technical Information of China" 
#>                                                             JaLC 
#>                                              "Japan Link Center" 
#>                                                            KISTI 
#>          "Korea Institute of Science and Technology Information" 
#>                                                            mEDRA 
#>                  "Multilingual European DOI Registration Agency" 
#>                                                               OP 
#>                      "Publications Office of the European Union" 
#>                                                           Public 
#>                                   "International DOI Foundation" 
get_doi_ra(c(
  "10.6220/joq.2012.19(1).01", # Airiti
  "10.13336/j.1003-6520.hve.20160308018", # CNKI
  "10.1037/0003-066X.59.1.29", # Crossref
  "10.3207/2959859860", # DataCite, from https://www.doi.org/demos.html
  "10.5240/7290-C8AD-12BA-4F93-3B07-7", # EIDR
  "10.7666/d.y351065", # ISTIC, from https://www.doi.org/demos.html
  "10.11467/isss2003.7.1_11", # JaLC, from https://www.doi.org/demos.html
  "10.3743/KOSIM.2011.28.2.117", # KISTI, from https://www.doi.or.kr
  "10.1430/8105", # mEDRA, from from https://www.doi.org/demos.html
  "10.2777/11739", # OP, from https://op.europa.eu
  "10.1000/6" # Public, the International DOI Foundation itself
))
#>  [1] "Airiti"   "CNKI"     "Crossref" "DataCite" "EIDR"     "ISTIC"   
#>  [7] "JaLC"     "KISTI"    "mEDRA"    "OP"       "Public"  
is_doi_from_ra(x = c("10.1000/1", "10.1038/nphys1170"), ra = "Crossref")
#> [1] FALSE  TRUE