Freebase 不返回所有可用值

Freebase not returning all available values

我正在尝试从 Freebase 中提取巴拉克奥巴马的 link 到纽约时报主题页面(在 topic_equivalent_webpage 值中),但我的查询没有 return结果,尽管它在网页上 (http://www.freebase.com/m/02mjmr)。这是我的查询:

[{
 "id": "/en/barack_obama",
 "type": "/common/topic",
 "topic_equivalent_webpage": {
   "value": null,
   "value~=": "*nytimes*"
 }
}]

我也尝试使用以下查询提取所有 topic_equivalent_webpage 值:

[{
"id": "/en/barack_obama",
"type": "/common/topic",
"topic_equivalent_webpage": []
}]

出于某种原因,它只是 return 值之一 (http://www.worldcat.org/wcidentities/lccn-n94-112934)。

有人有什么建议吗?

注意:所有 Freebase API 将在几个月后消失。

你有三个选择:

  1. 下载 RDF 转储并过滤它。这最适合大规模下载,而不是使用 API。 属性名称和解码过程见#3.

  2. 使用主题 API 即 https://www.googleapis.com/freebase/v1/topic/en/barack_obama?filter=/common/topic/topic_equivalent_webpage

  3. Query 您想要的命名空间(即纽约时报命名空间)中的键的 MQL

[{ "id": "/en/barack_obama", "key": [{ "namespace": "/source/nytimes", "value": null }] }]

通常结果是一个标识符,它被替换到 URI 模板中,但在 NYT 的情况下,它基本上是一个完整的 URI 路径,只是附加到 http://nytimes.com/

密钥值(例如 top[=11=]2Freference[=11=]2Ftimestopics[=11=]2Fpeople[=11=]2Fo[=11=]2Fbarack_obama)将采用 MQL 密钥编码,因此需要对其进行解码,但在这种情况下,您可能可以作弊并将所有“$002F”子字符串替换为“/ ”。如果任何其他字符被编码,只需将 $dddd 替换为具有该 Unicode 代码点的字符。