-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
orcid_peer_reviews() not getting journal name? #52
Comments
For peer reviews, the journal name (or publisher name, or organisation, etc) is going to be found in the group data. https://pub.orcid.org/v2.1/0000-0001-7678-8656/peer-review/220419 -> peer-review:review-group-idissn:1939-2222</peer-review:review-group-id> The peer review won't necessarily be grouped by the publisher or journal name -- review groups can be as specific or general as the review posting party desires. Generally the convening organisation will also be the party which has organised the review, which could be e.g. the journal or publisher. However I notice for Publons that they list this as Publons -- we'll be following up with them on that. Another example posted by AGU (GEMS) which has AGU listed as the convening party: https://pub.orcid.org/v2.1/0000-0002-7363-4552/peer-review/146242 |
thanks @alainna for that, that's what we needed id = "0000-0001-7678-8656"
x = orcid_peer_reviews(id, put_code = "220419")[[1]]
rcrossref::cr_journals(strsplit(x$`review-group-id`, ":")[[1]][[2]])$data$title
#> [1] "Journal of Experimental Psychology General" |
Just a note not all group IDs are required to be ISSNs.
|
Thanks @rcpeters - well i guess we can try to detect if it's an ISSN, and if so, we can try to grab the journal name |
@gorkang does this solultion #52 (comment) work for you? I don't think we want to integrate |
Thanks @sckott for checking back on this. Yes, looking for the journal name using issn works, although it is very slow, so it adds ~15s for each researcher I have (see code below).
Taking those extra 15s for each researcher feels particularly wasteful as the the journal name is in the ORCID website (but for some reason not in the ORCID data): Any idea to make it faster would be greatly appreciated. Thanks! |
@gorkang just took another look at this. i can't replicate your function above because the object I just added a dataset of issn's and journal titles gathered from crossref, i need to work out a process for updating it, or letting users do so, but is much faster. e..,g, system.time({
id = "0000-0001-7678-8656"
x = orcid_peer_reviews(id, put_code = "220419")[[1]]
issn <- strsplit(x$`review-group-id`, ":")[[1]][[2]]
rcrossref::cr_journals(issn)$data$title
})
user system elapsed
0.071 0.003 0.774
system.time({
id = "0000-0001-7678-8656"
x = orcid_peer_reviews(id, put_code = "220419")[[1]]
issn <- strsplit(x$`review-group-id`, ":")[[1]][[2]]
issn_title[[issn]]
})
user system elapsed
0.010 0.001 0.102 |
Thanks @sckott for taking another look at this. The new method does work better, but fails when the issn is not in issn_title.rda (btw, I had to download it manually. Maybe it does not load with the package?) So, to solve the first point, I created a function to get the title with the best available method:
In the specific case I am trying, there are 6 out of 20 issn not present in issn_title.rda. The time it takes goes down from ~31 to ~17 seconds. Please, see the full code below. I adapted the get_orcid_reviews() function so you can select the "method" (new or old). Sorry for leaving df_orcid_names in the previous code. Now it should work.
Thanks! |
sorry for the long delay in responding @gorkang - its not clear from your last reply if you are happy with changes, or there's still some improvements we can make? |
No problem @sckott . Last time I checked, there were two problems:
Cheers. |
I'm not having that problem. just removed rorcid then reinstalled from github, loaded rorcid and issn_title is there in the session. will keep thinking about what the problem could be |
Regarding the first issue: If an ISSN exists, it works great. If it does not exist, gives an error:
With a function such as the following, we can avoid the error:
Regarding the second issue. After uninstalling using the gui it wasn't working, but using the remove.packages() function worked:
Also, a final comment, for a single researcher with 20 review records (6 not in the issn_title file) it takes about 10s to fetch the journal titles. It is much better than the ~30s it used to take, but hopefully, there is still some room for improvement. Thanks! |
thanks - i'll take another look at the issn issue.
we'll continue to look for performance improvements 👍 |
note: still no ISSNs in the Crossref API /journals route, so can't work on update flow for the issn titles dataset |
make script for updating in inst/ignore/issn_title_collect.R
closing for now - added the script for updating the issn_title dataset in inst/ignore/issn_title_collect.R |
I am trying to get the peer review activity from ORCID profiles using orcid_peer_reviews(). Everything seems to work fine, but I cannot find the journal names of the reviews.
For example, to get the following review from an ORCID profile...
I use the code below, but the closest I can get to the journal name is through the publons website URL. I can't see it in the general orcid_peer_reviews(id) or the orcid_peer_reviews(id, pur_code) calls.
Below the session details.
The text was updated successfully, but these errors were encountered: