2011-01-29 1 views
1

파이썬 -Freebase 모듈의 mqlread()을 사용하고 있습니다. 다음 쿼리 사용 :Freebase API를 사용할 때 mqlread()에서 커서를 가져 오는 방법은 무엇입니까?

query = [{ 
    "cursor": True, 
    "id":  None, 
    "type": "/games/game", 
    "mid": None, 
}] 

결과는 100 개이지만 결과에는 "커서"가 포함되지 않습니다. 수동으로 쿼리를 실행하면

{ "code": "/api/status/ok", "cursor": "eNqFj8FqwzAQRD-mF4sisrtaaaWlhP6H8MHYNTUEW8hpKP36KjgU2kvnMoeZ4THjR923qhKS07wpAvR5VZbYBIL9sE76FDGAs-yCA_FISprL_nWUt5tC383L59ukh9llH_TvpL7Y7rYUdZ4CN9iRITB6vTwnAhriCAwAgXGO8Etkz48dicnvy3ptTGO6OwgsBwIfwJNeHpDWowgh_URO63-M0Z7vM0neGZNL3RrihBKFU_uZS2l3sT-9cpIBaRrnOE8JhaAhQL4B9ZFRmg==", "result": [ 

{ 
    "id": "/en/cities_and_knights_of_catan", 
    "mid": "/m/02hq3", 
    "type": "/games/game" 
}, 
.... 

"커서"가 포함되어 있습니다. 그러나의 결과 :

freebase.mqlread(query, extended=True) 

반환 것 "코드"와 "커서"을 제거합니다

[{u'type': u'/games/game', u'id': u'/en/cities_and_knights_of_catan'}, ... 

합니다. "커서"는 어떻게 얻을 수 있습니까?

답변

1

Freebase-Python 모듈에는 실제로 커서를 처리하는 메소드가 포함되어 있습니다. mqlreaditer (query, extended = true)를 호출하면 반복 할 수있는 파이썬 생성기가 반환됩니다. 배후에서 Freebase 모듈은 커서를 쿼리하고 추적하여 "false"커서에 도달 할 때까지 결과를 반환합니다.

매우 간단합니다!

0

MQL 봉투 매개 변수에 대한 지원이 실수로 Freebase Python 라이브러리의 1.0.8 릴리스에서 삭제되었습니다.

MQL 확장이 필요하지 않은 경우 extended=True 매개 변수를 삭제하고 mqlreaditer(query)을 사용할 수 있습니다.

MQL 확장 (또는 기타 봉투 매개 변수)이 필요한 경우 누군가가 문제를 해결하고 새 릴리스를 수행 할 때까지 1.0.6으로 폴백해야합니다.

sudo easy_install freebase==1.0.6