python - 使用 Freebase API 时如何从 mqlread() 获取光标?

标签 python json freebase mql

我正在使用 Python-Freebase 模块的 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'}, ...

这会删除“代码”和“光标”。我怎样才能得到“光标”?

最佳答案

我发现 Freebase-Python 模块实际上包含一个为您处理光标的方法。只需调用 mqlreaditer(query, Extended=true),这将返回一个可以迭代的 Python 生成器。 Freebase 模块将在幕后查询并跟踪光标,按需返回结果,直到到达“假”光标。

非常简单!

关于python - 使用 Freebase API 时如何从 mqlread() 获取光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835141/

相关文章:

database - Freebase:我公司的整个数据库都基于它值得吗?

python - Ack 号以确认 scapy 中的数据

python - 有什么方法可以在不使用 shell=True 的情况下使用子进程模块在 Python 中执行管道命令?

java - 震动转换器保持 key

Freebase - 如何使用 freebase-rdf-latest?

freebase - 如何正确地归因于 Freebase

python - Python 中自定义类的字符串格式

c++ - Qt Designer 生成 C++ 代码

java - Jackson 将 ISO8601 格式的日期时间反序列化为 Java8 Instant

c# - 如何在 JSON.NET 中组合/合并两个 JArray