pybliometrics-dev / pybliometrics

Python-based API-Wrapper to access Scopus
https://pybliometrics.readthedocs.io/en/stable/
Other
410 stars 128 forks source link

Feature request: Add the FreeToRead field in the ScopusSearch function #223

Closed rreka closed 2 years ago

rreka commented 2 years ago

Thanks again for all your great work in maintaining pybliometrics, it is excellent!

I'd like to suggest the option to pull data from the FreeToRead fields from the Scopus Search API. I think this is a recent addition to the Scopus Search API, and it isn't yet in the API documentation.

The FreeToRead and FreeToReadLabel fields provide granular information on the Open Access status of the article, which is sourced from unpaywall. In the Scopus Search API, the metadata looks like this:

<openaccess>1</openaccess>
<openaccessFlag>true</openaccessFlag>
<freetoread>
  <value>all</value>
  <value>publisherfullgold</value>
  <value>repository</value>
  <value>repositoryvor</value>
  <value>repositoryam</value>
</freetoread>
<freetoreadLabel>
  <value>All Open Access</value>
  <value>Gold</value>
  <value>Green</value>
</freetoreadLabel>

Being able to pull this granular OA metadata from the search results will be very helpful in filtering results by OA type.

Thanks for your consideration!

Michael-E-Rose commented 2 years ago

Thanks for bringing this to our attention; at least for me this is news. pybliometrics strives to allow access to all of Scopus, therefore we should add this.

Which values of freetoread are possible, do you happen to know?

rreka commented 2 years ago

Thanks, Michael. I don't 100% know all the possible values of this field, and have submitted a request to Elsevier that they update their documentation for the Scopus Search API to reflect this. I can update this issue when I hear more?

rreka commented 2 years ago

This is the response from Elsevier on the field:

"free-to-read-status" attribute within the xocs:oa-article-status element, e.g.

<xocs:oa-article-status is-open-access="1" free-to-read-status="all publisherfullgold repositoryvor">
     Full
</xocs:oa-article-status>

The different values within this attribute are as follows

all = any form of OA; note that this is effectively the accumulation of all values below, if anything else is present, then all must be captured
publisherfullgold = Gold OA article in Full OA journal (e.g. PLOS One, Heliyon) at publisher site
publisherhybridgold = Gold OA article in hybrid journal at publisher site
publisherfree2read = free to read article at publisher site (e.g. promotional, Open Archive)
repository = free to read accepted or final article in external repository (e.g. PMC, HAL); note that this is effectively the accumulation of repositoryam and repositoryvor
repositoryvor = free to read final article (Version of Record=VOR) in external repository
repositoryam = free to read accepted manuscript (AM) in external repository
Michael-E-Rose commented 2 years ago

Thanks for the suggestion!