Microsoft Cognitive Academic Knowledge API - EXPR 参数的有效性

Microsoft Cognitive Academic Knowledge API - validity of EXPR parameters

尝试使用以下 URL 查询特定 DOI 属性时:

https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?model=latest&count=10&offset=0&attributes=Id,Ti&expr=And(Composite(DOI='doi:10.1594/PANGAEA.667386'),Y=[2000,2009])&subscription-key=SUBSCRIPTION_KEY_HERE

我收到以下错误:

{"Error":{"Code":"Bad Argument","Message":"Invalid query expression\r\nParameter name: expression"}}

但是,当使用不同的属性访问时,例如期刊ID如下:

https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?expr=And(Composite(J.JId=114840262),Y=[2013,2015])&model=latest&count=10&offset=0&attributes=Id,Ti,J.JN,J.JId,Y&subscription-key=SUBSCRIPTION_KEY_HERE

效果很好!为什么 API 的行为只适用于某些属性?我做错了什么?

我看过的相关文档:
https://docs.microsoft.com/en-us/azure/cognitive-services/academic-knowledge/evaluatemethod

https://docs.microsoft.com/en-us/azure/cognitive-services/academic-knowledge/queryexpressionsyntax

并非所有实体属性都可以查询for/matched;有些只能在查询其他实体属性字段时作为结果的一部分请求。

您可以参考Paper Entity文档来了解不同属性有哪些查询操作。例如引用计数 (CC) 不支持任何匹配操作,因此 "Operations" 列中的 "none",但是期刊名称 (J.JN) 支持相等运算符。

不幸的是,DOI 是 "Extended" 属性的一部分,其中 none 支持匹配操作。