2

我正在尝试检索一些 Freebase 文章的完整主题描述/摘要。我一直在使用 Freebase 主题 API,它返回这种类型的结果:http ://www.freebase.com/experimental/topic/standard?id=/en/jimi_hendrix

但我注意到描述并不完整,并以“...”结尾。有没有办法使用一些 Freebase API 来获取文章的完整描述?

Freebase 是否存储了完整的描述,还是只存储了来自 Wikipedia 的部分描述?

4

2 回答 2

7

Freebase 只存储 Wikipedia 描述的一部分,但通常比主题 API 提供的要多。

要获取与 Freebase 主题相关的 Wikipedia 简介的“完整”文本,您首先需要查询Read API以获取相关文章的列表,如下所示:

{
  "id": "/en/jimi_hendrix",
  "/common/topic/article": [{}]
}​

在查询编辑器中尝试

然后选择它返回的一篇或多篇文章,并将其 ID 输入/trans/raw API,如下所示:

http://api.freebase.com/api/trans/raw/m/043dz

您会注意到返回的文本简介有点长(1200 个字符),并且没有“...”,但最后仍被截断。

当我在网页中显示 Freebase 主题描述时,我有一些代码可以预先清理它。我通过查找换行符将它分成几段,然后如果最后一段没有以句号、感叹号或问号结尾,我就扔掉那段。维基百科简介的编写方式,您通常只需要第一段。

于 2011-02-04T23:10:55.197 回答
2

您也可以使用“ text ”扩展名直接从 MQL 获取它:

{ "id": "/en/jimi_hendrix", "/common/topic/article": [{ "text": { "maxlength": 16384, "chars": null } }] }​</p>

请注意,您需要打开 MQL 扩展才能使其工作 - 请参阅此处以获取此操作的示例。

2012 年 8 月编辑:虽然这适用于原始的 freebase.com 托管 API,但 MQL 扩展功能已从新的 googleapis.com 托管 API 中删除,因此不应再依赖此方法。

于 2011-02-16T10:14:57.180 回答