Логическое ИЛИ в Microsoft Academic Graph с синтаксисом JSON
Я пытаюсь выполнить поиск в Microsoft Academic Graph, используя логическое условие ИЛИ. В частности, я хочу использовать OR, чтобы указать два разных возможных значения для некоторого поля, например, два возможных имени автора в поле автора.
Документация по синтаксису поиска JSON предполагает использование логического оператора 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"
}
}
}
}
Но он просто возвращает результаты второго автора. Любая помощь о том, как правильно отформатировать мой поиск будет принята с благодарностью!
1 ответ
Если вы используете 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={ВАШ-КЛЮЧ}