2012-05-30 2 views
4

를 읽을 API를 읽어 ID에비 독특한 쿼리가 새로운 유리 염기 MQL로 (쿼리의 개체 ID를 포함 예) 구글 API를 내가 독특한 쿼리를 할 경우에만 수 있어요 보인다

다음 검색을하고 유형 : 성공적으로

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

나는 사람들의 이름

답변

6
당신은 []에 쿼리를 포장해야

의 목록을 반환하는 데 예상을, 다음 예제와 같이 :

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

작동하지만 "이름": 단 하나의 독특한 영어 이름이있을 것이기 때문에 널 (null) : [] "이름"으로 단순화 할 수있다. 기본/lang/en 대신 모든 언어의 이름을 원하면 "name"을 사용할 수 있습니다 : [{}] –

1

나는 최근에도 비슷한 문제에 직면했다. 단일 결과 집합을 얻는 가장 좋은 방법은 mql 쿼리에서 "limit : 1"매개 변수를 사용하는 것입니다. 예를 들어 :

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