获得乐队成员

时间:2010-05-02 03:18:18

标签: freebase mql

如果我查看乐队'311'的Freebase页面,我会看到Chad Sexton上市。

http://www.freebase.com/view/en/311

我正在尝试查询乐队的成员:

{
            "name"  : "311",
            "/music/artist/album" : [{"name":null, "id":null, "optional": true}],
            "type|=" : ["/music/artist","/music/musical_group"],
            "/award/award_winner/awards_won" : ["award":null, "optional" => true],
            "/award/award_nominated_work/award_nominations" : ["award":null, "optional" => true],
            "/music/artist/supporting_artists":[{}]
}

我认为supports_artists会返回乐队成员名称,但数组总是空的。

但是,如果我查询与Chad Sexton相关的所有属性,我没有看到311提到。但他被列为Freebase网页信息页面的成员(这是正确的)。

{
  "*":    null,
  "name": "Chad Sexton",
  "type": "/music/artist"
}

如何获取乐队成员名称以及乐队信息?

1 个答案:

答案 0 :(得分:3)

如果您转到edit page for 311,您会看到支持艺术家属性为空。乐队成员列在Musical Group type下的页面下方。

您可以在查询中查看乐队成员,方法是将其更改为:

{
  "name":          "311",
  "/music/artist/album": [{
    "name":     null,
    "id":       null,
    "optional": true
  }],
  "type|=": [
    "/music/artist",
    "/music/musical_group"
  ],
  "/award/award_winner/awards_won": [{
    "award":    null,
    "optional": true
  }],
  "/award/award_nominated_work/award_nominations": [{
    "award":    null,
    "optional": true
  }],
  "/music/musical_group/member": [{
    "member" : {}
  }]
}​

您必须在/ music / musical_group / member中查询成员的原因是因为Musical Group MembershipCompound Value Type。它使得查询稍微复杂一些,但是为了正确地建模一个乐队的复杂关系是必要的,这个乐队可能有许多不同的成员加入,在乐队的整个生命周期中离开和转换角色。