Freebase包含大量文档,但缺少一些针对许多场景的工作代码的具体示例。
其中之一是如何使用他们的eMQL服务实现(在Python中,使用Python Freebase库)查询。这是他们的MQL服务的扩展版本。文档说明你需要“将参数参数设置为extended = true”,但我无法弄清楚如何实际执行此操作(正确的语法)。
以下是我尝试使用的服务的文档:http://www.freebase.com/docs/mql_extensions/common#service
以下是我尝试使用扩展服务的代码示例:
query = {
"extended": True,
"query": [{
"id": "/en/settlers_of_catan",
"/common/topic/weblink": [{
"description": "Wikipedia",
"url": None
}]
}]
}
result = freebase.sandbox.mqlread(query)
这失败了,错误是“类型/类型/对象没有扩展属性”。我相信它告诉我,我实际上并没有设置扩展属性,而是试图在错误的位置进行。
答案 0 :(得分:2)
答案很简单 - 将信封设置(在本例中为'extended = true')传递给mqlread函数。
result = freebase.sandbox.mqlread(query, extended=True)
当然注意T中的大写字母。