tags:

views:

52

answers:

1

If I look at the Freebase page for the band '311', I see Chad Sexton listed.

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

I am trying to query for the members of a band :

{
            "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":[{}]
}

I thought supporting_artists would return the band member names, but the array is always empty.

But if I query for all properties related to Chad Sexton, I don't see 311 mentioned. But he is listed as member on the Freebase web info page (which is correct).

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

How can I grab the band member names along with the band info?

+3  A: 

If you go to the edit page for 311, you'll see that the supporting artists property is empty. The members of the band are listed further down the page under the Musical Group type.

You can view the members of the band in your query by changing it to look like this:

{
  "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" : {}
  }]
}​

The reason why you have to query for member inside of /music/musical_group/member is because Musical Group Membership is a Compound Value Type. It makes the query a little more complicated but its necessary in order to properly model the complex relationships of a band which may have many different members joining, leaving and switching roles throughout the life of the band.

narphorium