I would like to ask if there would be an interest (and use cases) to develop a package to wrap Elsevier’sSciencedirect.com and Scopus database? (They divided their API into search, retrieval and metadata; link)
The reason is that I have searched for anything related to accessing Sciencedirect & Scopus database in R, but could not find anything which would provide me a direct access to (at least) some of their API. The closest was CITAN below, but it is rather used for post-processing of data (please correct me if I am wrong).
hi @dmpe Good question! What are their authentication requirements? I believe I’ve tried the same web services, and found them to be too much trouble - would be hard to support as I believe they require API key auth as well as checking IP addresses requests come from, only allowing subscribing institutions to access. Is that wrong? I hope so
I haven’t used CITAN, but from the DESCRIPTION file https://github.com/Rexamine/CITAN/blob/master/DESCRIPTION it does appear the package doesn’t have any dependencies for making http requests, i.e., accessing these web services.
Thanks for reply. Yes, indeed, they require an API Key which I had no problem to register, even with my non-university email. So the API Key itself should not be a problem.
There are quotas, naturally , and for some APIs you will need to contact them to give you an access (yet, I don’t think it requires ) See Elsevier Developer Portal
"Furthermore, full API access is only granted to clients that run within the networks of organizations with Sciencedirect and/or Scopus subscriptions.
Yeeh, but (at least here in Germany) almost every university has access to it. So - in the case I would develop it (not yet, I must finish rbitly) - it should not be a problem too.
What however is a complication is their return format, which although is a JSON, it is this http://json-ld.org/ which (I) has no active libraries except for the Javascript one (I am mean this says a lot to me about the format) and
(II) there are no direct packages in R for it (jsonlite will not work, or be rather limited at best)
Hi @dmpe - Okay, they require api key, but don’t they also check IP addresses? Or has that changed? That;s the part that makes it hard since users have to be on campus that has access or be on a VPN off campus.
In terms of JSON-LD, right, there is no library specifically for handling JSON-LD, but in my experience you can still parse JSON-LD using jsonlite.
If you do go with XML i’d suggest the xml2 library as it’s lighter weight than XML package - it only parses XML (you can’t create XML), but that’s fine for your use case I think.
Yeeh, I have checked that with my university IP address and indeed they have different developer content based on which email and IP address you use. When registering with my university email, I have access to more documentation e.g. on text mining. Yet, still need to contact my “librarian” to give me a special API key only for text mining which differs from the one you normally get.
Thanks for clarification. I imagine when you are at an IP address that doesn’t have subscription (e.g., at home) you only get open access content for text mining, which I imagine is quite small for this publisher.
I don’t know…I already put something on github https://github.com/dmpe/ElsevierR. Very hackerish, but just by looking on one data frame from the first function - it would be quite a lot of work to make it usable. But even with json-ld I think it should be possible. That is by using jsonlite.
Looking very briefly at their xml, this would be a bit harder (a lot of parsing, I believe).
Hard to judge at this stage. But through next 2-3 weeks it will be very hard to me to do anything in regard to it (have university work to do). Thus, if you (or anybody) begin something, I will try to contribute to it later.
I don’t have any plans to work on this - I’ll check in on your project down the road.
I want to keep alm focused as an R client for Lagotto (API: http://alm.plos.org/docs/api) - which is an open source app to collect and serve article level metrics data