pybliometrics-dev / pybliometrics

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

Handle missing auid for collaboration #243

Closed astrochun closed 2 years ago

astrochun commented 2 years ago

Close #242

Michael-E-Rose commented 2 years ago

It seems Scopus introduced a new field for collaborations. While we're at this, let's create two new fields in the .authorgroup, namely "collaboration_instance_id" as well as "collaboration_indexed_name". Would you like to introduce them, incl. documentation? I will take care of the test.

Are there more class attributes affected by author collaborations?

astrochun commented 2 years ago

It seems Scopus introduced a new field for collaborations. While we're at this, let's create two new fields in the .authorgroup, namely "collaboration_instance_id" as well as "collaboration_indexed_name". Would you like to introduce them, incl. documentation? I will take care of the test.

Are there more class attributes affected by author collaborations?

Let me see what I can do. I suppose this is an explicit field (set as None) even if the author is an individual?

Also, I vaguely recall the tests failing for the same issue, but I could have been mistaken.

astrochun commented 2 years ago

I think the update to the authorgroup is a bit more complicated. Handling the indexed_name is tricky since there are ce:indexed-name for author and collaboration. The doc example returned the following:

ab.authorgroup
[Author(affiliation_id=60105007, dptid=None, organization='Max Planck Institute for Innovation and Competition',
              city=None, postalcode=None, addresspart=None, country='Germany', auid=57209617104, orcid=None,
              indexed_name='Rose M.E.', surname='Rose', given_name='Michael E.', collaboration_instance_id=None,
              collaboration_index_name='Rose M.E.'),
 Author(affiliation_id=60027950, dptid=110785688, organization='Carnegie Mellon University, Department of Chemical Engineering',
              city=None, postalcode=None, addresspart=None, country='United States', auid=7004212771, orcid=None,
              indexed_name='Kitchin J.R.', surname='Kitchin', given_name='John R.', collaboration_instance_id=None,
              collaboration_index_name='Kitchin J.R.')]

This is with the simplest fix in 6b1d049

Michael-E-Rose commented 2 years ago

You're right, this was a bit more complicated. In 43413a9c56858c8e905ba059a09ab5198c8a838a I found a way too include the collaboration without changing to much code and, more importantly, without changing existing fields.