0

我有一个用于调用 Microsoft Academic API评估方法的 Python 函数。该函数当前接受作者姓名并返回引用计数:

import requests

def get_author_CC(subscription_key, author_name):
    url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate'
    params = {
        "expr": f"Composite(AA.AuN=='{author_name}')",
        "attributes": "ECC,CC",
        'count': 10000
    }
    headers = {'Ocp-Apim-Subscription-Key': subscription_key}

    r = requests.get(url, params=params, headers=headers).json().get('entities')
    
    return sum([ld.get('ECC') for ld in r])

由于我知道我有兴趣查询的几位作者的从属关系,因此我想将affiliation 参数添加到请求中。但是,我不太了解如何去做。我试过这个:

import requests

def get_author_CC(subscription_key, author_name, affiliation):
    url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate'
    params = {
        "expr": f"Composite(AA.AuN=='{author_name}', Ty==5, AfN=='{affiliation}')",
        "attributes": "ECC,CC",
        'count': 10000
    }
    headers = {'Ocp-Apim-Subscription-Key': subscription_key}

    r = requests.get(url, params=params, headers=headers).json().get('entities')
    
    return sum([ld.get('ECC') for ld in r])

但这返回了错误,所以显然这不太正确。

举个例子,我正在研究的一位作者是 laurens van der maaten,他的引用次数超过 40,000 次,隶属于 Facebook。因此,新功能仍应返回 40,000 多次引用计数,但使用她在 Facebook 的事实来缩小搜索范围(对于更常见的名字尤其有用)。

非常感谢这里的任何帮助。谢谢。

4

1 回答 1

1

查看MAG 文档中的查询表达式语法页面;他们涵盖了这个具体的例子。格式应如下所示:

Composite(And(AA.AuN='mike smith',AA.AfN='harvard university'))
于 2021-03-20T11:26:04.260 回答