massimoaria / bibliometrix

An R-tool for comprehensive science mapping analysis. A package for quantitative research in scientometrics and bibliometrics.
https://www.bibliometrix.org
Other
511 stars 149 forks source link

Error in pubmed2df related to URL specification? #36

Closed eveskew closed 5 years ago

eveskew commented 5 years ago

This is my first time working with bibliometrix, but I'm stumbling over an issue with pubmed2df() that seems to suggest a broken URL specification or perhaps a problem with too many queries.

When running this code:

library(bibliometrix)
library(RISmed)

search.topic <- "movement ecology"

search.query <- EUtilsSummary(search.topic)

summary(search.query) # 3181 results as of 02.07.19

D <- EUtilsGet(search.query)

M <- pubmed2df(D)

I get the following error:

Downloading updated citations from PubMed/MedLine...

Error in readLines(the_url) : 
  cannot open the connection to 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?retmode=xml&dbfrom=pubmed&id=30718292&cmd=neighbor'
In addition: Warning message:
In readLines(the_url) :
  cannot open URL 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?retmode=xml&dbfrom=pubmed&id=30718292&cmd=neighbor': HTTP status was '429 Unknown Error'

I can navigate to that eutils URL in my web browser, but I don't know enough about what pubmed2df() is trying to do to know if that's where it should be pointing. I was also unable to replicate published vignettes using different query terms (i.e., https://rpubs.com/ronaldofsalves/414306) due to the same readLines() error.

massimoaria commented 5 years ago

The error is due to RISmed package. Maybe, PubMed has changed the web address of its API. We can only wait for an upgrade of RISmed. Please, open an issue on RISmed page.

eveskew commented 5 years ago

Thanks for getting back to me!

I gather that the RISmed package hasn't changed in quite a while (https://cran.r-project.org/web/packages/RISmed/index.html), so I guess the problem must be something related to a PubMed alteration that RISmed has not yet accounted for? Could you be any more specific as to what seems to have changed about the structure of MedLine objects generated by RISmed that means pubmed2df() can no longer correctly parse them? I think I'd need that understanding in order to open a helpful issue on the RISmed page.