使用Freebase MQL的非唯一查询读取google api

wai*_*ani 4 freebase google-api mql

看来我只能用新的freebase MQL读api做独特的查询(即在查询中包含一个实体id):

以下搜索id和type:

https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"id":"/en/bob_dylan","type":"/people/person"}
Run Code Online (Sandbox Code Playgroud)

并成功返回:

{
"result": {
"type": "/people/person", 
"id": "/en/bob_dylan", 
"name": "Bob Dylan"
}
}
Run Code Online (Sandbox Code Playgroud)

以下搜索仅使用类型:

https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"type":"/people/person"}
Run Code Online (Sandbox Code Playgroud)

要么

https://www.googleapis.com/freebase/v1/mqlread?query={"name":[],"type":"/people/person"}
Run Code Online (Sandbox Code Playgroud)

并返回以下错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "badRequest",
    "message": "Unique query may have at most one result. Got 100"
   }
  ],
  "code": 400,
  "message": "Unique query may have at most one result. Got 100"
 }
}
Run Code Online (Sandbox Code Playgroud)

我希望它能够返回一个人名列表

Cla*_*ino 6

您必须在[]中包装查询,如下例所示:

https://www.googleapis.com/freebase/v1/mqlread?query=[{"name":[],"type":"/people/person"}]
Run Code Online (Sandbox Code Playgroud)