【问题标题】:Freebase not returning all available valuesFreebase 未返回所有可用值
【发布时间】:2015-03-18 10:01:48
【问题描述】:

我正在尝试从 Freebase 中提取 Barack Obama 的 NYTimes 主题页面(在 topic_equivalent_webpage 值中)的链接,但我的查询没有返回任何结果,尽管它在网页上 (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": []
}]

由于某种原因,它只返回其中一个值 (http://www.worldcat.org/wcidentities/lccn-n94-112934)。

有人有什么建议吗?

【问题讨论】:

    标签: freebase mql


    【解决方案1】:

    注意:所有 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. QueryMQL 用于您想要的命名空间(即 NY Times 命名空间)中的键

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2018-07-29
      • 1970-01-01
      • 2017-09-07
      • 2017-12-16
      相关资源
      最近更新 更多