I've got a list of author names but I don't have Id's for any of them.
I'd like to:
- Query by author name and store the most probable AuId.
- 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.
I am not aware of such a feature. But indirectly, you could first search for the author name (
AA.AuNin theexpr-field), obtain all the (unique) various author IDs (AA.AuIdin theattributesfield), and search for their publications.(You could even add
orderby=logprob:desc, but to be honest, I am not 100% sure whatlogprobdoes.)So, the first step could be to search for the author name (e.g.
John Smith) like this and fetch all thoseAA.AuIdwhere the names (AA.AuN) seem to fitJohn Smith(let's just add theorderby=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 mannerorderby=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
exprfield toComposite(And(AA.AuN='{AUTHOR-NAME}',AA.AfId={AFFILIATION-ID}))so as to search for all {AUTHOR-NAMES} affiliated to {AFFILIATION-ID}.