如果我看一下“311”乐队的Freebase页面,我看到查德·塞克斯顿列了出来。
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":[{}]
}我以为supporting_artists会返回乐队成员的名字,但是数组总是空的。
但是如果我查询所有与查德·塞克斯顿相关的属性,我没有看到311被提及。但他在Freebase网站信息页面上被列为会员(这是正确的)。
{
"*": null,
"name": "Chad Sexton",
"type": "/music/artist"
}如何抓取乐队成员姓名和乐队信息?
发布于 2010-05-02 15:16:55
如果转到edit page for 311,您将看到supporting artists属性为空。乐队的成员在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 Membership是一个Compound Value Type。它使得查询变得有点复杂,但为了正确地模拟乐队的复杂关系,这是必要的,因为乐队可能在整个乐队的生命周期中有许多不同的成员加入、离开和切换角色。
https://stackoverflow.com/questions/2752327
复制相似问题