从FreebaseAPI读取时如何启用扩展MQL

2024-05-21 05:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

Freebase包含了大量的文档,但是缺少一些适用于许多场景的具体的工作代码示例。在

其中之一是如何使用eMQL服务实现(在Python中,使用Python Freebase库)查询。它是MQL服务的扩展版本。文档说明您需要“将envelope参数设置为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)

此操作失败,错误为“类型/类型/对象没有扩展的属性”。我相信这是在告诉我,我实际上并没有设置扩展属性,而是试图在错误的地方进行设置。在


Tags: 代码文档版本extended示例类型属性错误
1条回答
网友
1楼 · 发布于 2024-05-21 05:17:53

答案很简单——将信封设置(在本例中为“extended=true”)传递给mqlread函数。在

result = freebase.sandbox.mqlread(query, extended=True)

当然要注意T的大写。在

相关问题 更多 >