我尝试使用逻辑OR条件在Microsoft Academic Graph上运行搜索。具体来说,我想使用OR为某些字段指定两个不同的可能值,例如作者字段中的两个可能的作者名称。
JSON搜索语法上的documentation表明可以使用逻辑OR运算符,我只是无法弄清楚如何实现它。
我尝试使用以下搜索来实现此目的:
{
"path": "/paper/AuthorIDs/author",
"paper": {
"type": "Paper",
"NormalizedTitle": "graph engine",
"select": ["OriginalTitle", "PublishDate", "CitationCount", "AuthorIDs", "JournalID", "DOI"]
},
"author": {
"select": ["Name"],
"return": {
"type": "Author",
"or":{
"Name": "bin shao",
"Name": "haixun wang"
}
}
}
}
但它只返回第二作者的结果。任何有关如何正确格式化我的搜索的帮助将不胜感激!
答案 0 :(得分:0)
如果您使用 API,expr
字段的格式应如下所示:
Or(Composite(AA.AuN='{AUTHOR-NAME-1}'), Composite(AA.AuN='{AUTHOR-NAME-2}'))
示例:
https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?&expr=Or(Composite(AA.AuN=%27bin%20shao%27),%20Composite(AA.AuN=%27haixun%20wang%27))&count=10&attributes=AA.AuN,AA.AuId,DOI,Ti,VFN,Y&orderby=Y:desc&subscription-key={YOUR-KEY}