Логическое ИЛИ в 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={ВАШ-КЛЮЧ}

Другие вопросы по тегам