使用Freebase中的MID提取命名实体的名称

时间:2012-10-12 14:17:02

标签: freebase

如何从Freebase中的mids获取名称?在下面的table_row音乐/专辑表中,我们在中间提供了以下专辑名称(?)。

music|artist|name   id  origin  active_start    active_end  genre   label           home_page   acquire_webpage album   contribution    track   track_contributions concert_tours   supporting_artists|Jimmy Johnson    /m/01wz6jx              Rock music,Jazz fusion,Jazz,Folk rock                   /m/01wz6kq,/m/01wz6kx,/m/01wz6l8,/m/01wz6kj,/m/01wz6kb,/m/01wz6l2,/m/01wz6lg        /m/0fjw1yt,/m/0dt2p4t,/m/0fbpmv2,/m/0ffbzh3,/m/0f7y3jb,/m/0fgb1g1,/m/0dy5n14,/m/0fgn9xv,/m/0dzbwfr,/m/0f6hyd3,/m/0fj70dm,/m/0ff_qzm,/m/0f9_cm4,/m/0f7l2cj,/m/0fkhd4j,/m/0flf7j8,/m/0flr1z_,/m/0fl3c6q,/m/0ffp8g9,/m/0f64lc8,/m/0fgzlz2,/m/0f885wn,/m/0fktd7t,/m/0d_j0p6,/m/0dv915z,/m/0fm0 _t2

如果我像这样查询Freebase:[{ "mid": "/m/01wz6kq", "name": null }]​

然后我获得名称的“null”。我怎样才能获得这些名字?这些中介是否都指向命名实体?如果我使用这样的freebase网站:http://www.freebase.com/view/m/01wz6kq那么我获得Contributor: Jimmy Johnson Album: All Night Wrong意味着相册名称存在。 但是,如果我使用:http://api.freebase.com/api/experimental/topic/standard?id=/m/01wz6kq即TOPIC API,则信息可从文本字段中“提取”。这是这样做的吗?还是有其他更简单的方法吗?

2 个答案:

答案 0 :(得分:1)

如果您正在进行编程,则可以更好地查看此数据:浏览/检查视图:

http://www.freebase.com/inspect/m/01wz6kq

事实上,它甚至为您提供了构建查询的快捷方式。如果单击/music/recording_contribution/album属性左侧的箭头,您将获得一个预先构建的查询,您可以修改该查询以获取名称而不是ID:

{
  "id": "/m/01wz6kq",
  "/music/recording_contribution/album": {
    "name": null
  }
}​

如果您单击Query Editor中的“链接”按钮,您将获得一个{J}的回复JSON,您可以解析该名称。

当然,如果您在程序中执行此操作,则可以从插入了感兴趣ID的模板中动态构建URL。

注意:您不希望做任何引用api.freebase.com的事情,因为它很快就会消失。您应该使用googleapis.com端点。

答案 1 :(得分:0)

此实体没有/type/object/name属性

顺便说一句 如果要提取实体名称,则有一些属性:

/type/object/name
/common/topic/alias

和维基百科密钥,需要以某种方式处理(将“_”替换为空格,“&”替换为“&”,“$ 1234”替换为一些unicode符号)

相关问题