1

I've got a list of author names but I don't have Id's for any of them.

I'd like to:

  1. Query by author name and store the most probable AuId.
  2. List all papers written by a given AuId.

Is there any way to do this with the current interpret/evaluate APIs? It seems like everything is tied to a paper entity and I want to be sure I am only ever selecting and using one AuId.

Thanks.

  • Do you only have the author name? Or would you also have other details, such as the institutional affiliation or the year(s) of publications? – anpami Jan 09 '21 at 12:58
  • Thanks @anpami. I have author names and institutions, but I do not have specific publication dates. That's why I'm trying to uniquely ID authors and then grab a given author's publications. – AdoboSeasoning Jan 12 '21 at 14:37

1 Answers1

1

I am not aware of such a feature. But indirectly, you could first search for the author name (AA.AuN in the expr-field), obtain all the (unique) various author IDs (AA.AuId in the attributes field), and search for their publications.

(You could even add orderby=logprob:desc, but to be honest, I am not 100% sure what logprob does.)

So, the first step could be to search for the author name (e.g. John Smith) like this and fetch all those AA.AuId where the names (AA.AuN) seem to fit John Smith (let's just add the orderby=logprob:desc):

https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?&expr=Composite(AA.AuN=%27john%20smith%27)&count=100&attributes=AA.AuN,AA.AuId&orderby=logprob:desc&subscription-key={YOUR-KEY}

As a second step, if you have an Author ID AA.AuId (here, for example, 3038752200), use this to list their papers (ordered by year, in a descending manner orderby=Y:desc):

https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?&expr=Composite(AA.AuId=3038752200)&count=100&attributes=AA.AuN,AA.AuId,DOI,Ti,VFN,Y&orderby=Y:desc&subscription-key={YOUR-KEY}

The approach would be more promising if you had an institutional affiliation as well. Then you could change the expr field to Composite(And(AA.AuN='{AUTHOR-NAME}',AA.AfId={AFFILIATION-ID})) so as to search for all {AUTHOR-NAMES} affiliated to {AFFILIATION-ID}.

anpami
  • 760
  • 5
  • 17