我使用的是Python-Freebase模块的mqlread()。使用以下查询:
query = [{
"cursor": True,
"id": None,
"type": "/games/game",
"mid": None,
}]这将返回100个条目,但结果不包括"cursor“。如果手动运行该查询,则会得到类似如下的结果:
{ "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'}, ...去掉了"code“和"cursor”。我怎样才能得到“光标”?
发布于 2011-02-04 10:05:09
我发现Freebase-Python模块实际上包含一个为您处理光标的方法。只需调用mqlreaditer(query,extended=true),它将返回一个Python生成器,您可以遍历该生成器。在后台,Freebase模块将查询并跟踪游标,按需返回结果,直到到达"false“游标。
非常简单!
发布于 2012-02-04 05:36:14
在Freebase Python库的1.0.8版本中,可能是意外地删除了对MQL信封参数的支持。
如果不需要MQL扩展,您可以只删除参数extended=True参数并使用mqlreaditer(query)。
如果您需要MQL扩展(或其他信封参数),则必须回退到1.0.6,直到有人修复问题并发布新版本。
sudo easy_install freebase==1.0.6https://stackoverflow.com/questions/4835141
复制相似问题