ft_cr_links: Get Crossref full text links from a DOI

Description Usage Arguments Details Value Register for the Polite Pool Examples

View source: R/ft_cr_links.R

Description

Get Crossref full text links from a DOI

Usage

1
ft_cr_links(doi, type = "all", ...)

Arguments

doi

(character) A Digital Object Identifier (DOI). required.

type

(character) One of 'xml', 'html', 'plain', 'pdf', 'unspecified', or 'all' (default). required.

...

Named parameters passed on to crul::HttpClient()

Details

Note that this function is not vectorized.

Some links returned will not in fact lead you to full text content as you would understandbly think and expect. That is, if you use the filter parameter with e.g., rcrossref::cr_works() and filter to only full text content, some links may actually give back only metadata for an article. Elsevier is perhaps the worst offender, for one because they have a lot of entries in Crossref TDM, but most of the links that are apparently full text are not in fact full text, but only metadata. You can get full text if you are part of a subscribing institution to that specific Elsever content, but otherwise, you're SOL.

Note that there are still some bugs in the data returned form CrossRef. For example, for the publisher eLife, they return a single URL with content-type application/pdf, but the URL is not for a PDF, but for both XML and PDF, and content-type can be set with that URL as either XML or PDF to get that type.

In another example, all Elsevier URLs at time of writing are have http scheme, while those don't actually work, so we have a custom fix in this function for that publisher. Anyway, expect changes...

Value

NULL if no full text links given; a list of tdmurl objects if links found. a tdmurl object is an S3 class wrapped around a simple list, with attributes for:

Register for the Polite Pool

See of 'Authentication' setion of the fulltext-package manual page

Examples

 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
## Not run: 
dois <- c("10.1245/s10434-016-5211-6",
"10.17159/2413-3108/2016/v0i55a49", "10.17159/2413-3108/2015/v0i53a455",
"10.17159/2413-3108/2006/v0i18a982", "10.1007/s10665-016-9845-y", 
"10.1016/j.ad.2015.06.020", "10.1016/j.medipa.2014.03.002")

# pdf link
ft_cr_links(doi = "10.5555/515151", "pdf")

# xml and plain text links
ft_cr_links(dois[1], "pdf")
ft_cr_links(dois[6], "xml")
ft_cr_links(dois[7], "plain")
ft_cr_links(dois[1]) # all is the default

# pdf link
ft_cr_links(doi = "10.5555/515151", "pdf")
ft_cr_links(doi = "10.3897/phytokeys.52.5250", "pdf")

# many calls, use e.g., lapply
lapply(dois[1:3], ft_cr_links)

# elsevier
## DOI that is open acccess
ft_cr_links('10.1016/j.physletb.2010.10.049')
## DOI that is not open acccess
ft_cr_links('10.1006/jeth.1993.1066')

## End(Not run)

fulltext documentation built on June 12, 2021, 9:06 a.m.