当尝试使用以下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
答案 0 :(得分:2)
并非所有实体属性都可以查询/匹配;当查询其他实体属性字段时,某些请求只能作为结果的一部分。
您可以参考Paper Entity文档,以了解哪些查询操作可用于不同的属性。例如,引用计数(CC)不支持任何匹配操作,因此“操作”列中的“无”,而日记帐名称(J.JN)支持相等运算符。
不幸的是,DOI是“扩展”属性的一部分,都不支持匹配操作。