4

新しい freebase MQL 読み取り API では、一意のクエリ (つまり、クエリにエンティティ ID を含む) しか実行できないようです。

次のように id と type を検索します。

https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"id":"/en/bob_dylan","type":"/people/person"}

そして正常に戻ります:

{
"result": {
"type": "/people/person", 
"id": "/en/bob_dylan", 
"name": "Bob Dylan"
}
}

以下はタイプのみで検索します。

https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"type":"/people/person"}

また

https://www.googleapis.com/freebase/v1/mqlread?query={"name":[],"type":"/people/person"}

次のエラーを返します。

{
 "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"
 }
}

人の名前のリストを返すと思っていました

4

2 に答える 2

6

次の例のように、クエリを [ ] で囲む必要があります。

https://www.googleapis.com/freebase/v1/mqlread?query=[{"name":[],"type":"/people/person"}]
于 2012-05-30T00:47:42.983 に答える
1

私も最近同様の問題に直面しました。単一の結果セットを確実に取得する最善の方法は、mql クエリで "limit:1" パラメータを使用することです。例えば:

https://www.googleapis.com/freebase/v1/mqlread?query={"type":[],"name":"india","limit":1}
于 2013-05-02T22:53:19.853 に答える