Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向Microsoft学术评估API请求添加作者从属关系_Python_Python Requests_Microsoft Academic Graph - Fatal编程技术网

Python 向Microsoft学术评估API请求添加作者从属关系

Python 向Microsoft学术评估API请求添加作者从属关系,python,python-requests,microsoft-academic-graph,Python,Python Requests,Microsoft Academic Graph,我有一个Python函数来调用MicrosoftAcademicAPI方法。该函数当前接受作者姓名并返回引用计数: import requests def get_author_CC(subscription_key, author_name): url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate' params = { "expr": f"C

我有一个Python函数来调用MicrosoftAcademicAPI方法。该函数当前接受作者姓名并返回引用计数:

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])

因为我知道我感兴趣查询的几个作者的从属关系,所以我想在请求中添加。然而,我不太明白如何去做。我试过这个:

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])

但这会返回错误,所以很明显这是不对的

举个例子,我正在关注的一位作家是劳伦斯·范德马滕,他拥有超过40000条引文,隶属于Facebook。因此,新功能仍应返回40000多个引用计数,但利用她在Facebook的事实缩小搜索范围(对于更常见的名字尤其有用)


非常感谢您的帮助。谢谢。

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

Composite(And(AA.AuN='mike smith',AA.AfN='harvard university'))