ropensci-archive / rorcid

:warning: ARCHIVED :warning: A programmatic interface the Orcid.org API
Other
109 stars 13 forks source link

Converting Scopus IDs to DOIs #48

Closed agbarnett closed 3 years ago

agbarnett commented 6 years ago

The new code returns a lot more Scopus IDs (EIDs). Is there an easy way to convert EIDs to DOIs? Thanks.

sckott commented 6 years ago

thanks @agbarnett for the issue.

i'll have a look and get back soon with an eg.

agbarnett commented 6 years ago

adrian barnett 0000 0001 6339 0374 orcid connecting research and researchers Here's an example paper with no DOI in ORCID

sckott commented 6 years ago

if you look at the results in Crossref for that journal http://api.crossref.org/journals/0794-2184/works they only have given out 29 DOIs

if we look at those

library(rcrossref)
x <- cr_journals(issn = "0794-2184", works = TRUE, limit = 100)
unique(unname(vapply(x$data$issued, function(z) strsplit(z, "-")[[1]][1], character(1))))
#> [1] "2010" "2011" "2009"

the only ones with DOIs are form 2009, 10, and 11.

So I'm guessing that some of the cases where you're fidning a scopus ID but no DOI are from there not being any DOI to be found - whereas there's some that may have DOIs, but we just need to find them. Unfortunately, there's not a service that per se is meant for converting one DOI to another.

Can you find me some examples of external identifiers that do have a DOI, then we can look at how to get DOIs with those examples

agbarnett commented 6 years ago

Thanks, that makes sense. Here's a paper with a DOI that doesn't appear in the works data https://www.ncbi.nlm.nih.gov/pubmed/26846860 from the ORCID ID 0000-0002-0104-5679.

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   1 obs. of  20 variables:
   $ put-code                    : int 40293939
   $ type                        : chr "JOURNAL_ARTICLE"
   $ visibility                  : chr "PUBLIC"
   $ path                        : chr "/0000-0002-0104-5679/work/40293939"
...
   $ external-ids.external-id    :List of 1
    ..$ :'data.frame':  1 obs. of  4 variables:
    .. ..$ external-id-type        : chr "wosuid"
    .. ..$ external-id-value       : chr "WOS:000399956102211"
    .. ..$ external-id-url         : logi NA
    .. ..$ external-id-relationship: chr "SELF"

Perhaps it's because the paper has been entered into ORCID by "SELF", which I presume means self-entered?

I use the DOI to get the complete details on the paper. The key thing I need is the Journal, which is not in the tibble from works(orcid_id()).

sckott commented 6 years ago

Still looking into this. There's nothing really out there for doing this lookup at the moment, fiddling around, hopefully will have something soon

gorkang commented 6 years ago

@agbarnett , not sure about converting EIDs to DOIs, but for the specific case you mention, you can use the ORCID ID and the put-code to get the journal title, or the full citation:

df_works = rorcid::orcid_works("0000-0002-0104-5679", put_code = "40293939")[[1]]$works  

df_works$`journal-title`  
df_works$citation
sckott commented 3 years ago

closing. I don't think there's anything we can do in this pkg. did you end up finding a solution @agbarnett ?

agbarnett commented 3 years ago

I didn't find a solution. In the end I only included papers with a DOI available.

sckott commented 3 years ago

bummer