我想让多位艺术家参与指定的录音。假设我有像Pat Metheny这样的(主要)艺术家名字,并且拥有像“Bright Size Life”这样的专辑标题。我想得到其他(2)艺术家的结果(Jaco Pastorius和Bob Moses)。当我以交互方式使用时,网页会显示这两位艺术家,但是当我使用API时,响应中只有一位艺术家。
以下是我正在尝试的查询:
http://musicbrainz.org/ws/2/work/?query=bright%20size%20life
或
http://musicbrainz.org/ws/2/recording?query=Bright%20size%20life
这里只有一位艺术家的结果:
我缺少什么? Thx提前
答案 0 :(得分:1)
您当前的方法存在一些问题:
There are multiple levels at which an artist's role on a song or album can be noted: 1. If the relationship is applicable to all tracks on a release, apply it to every work or recording on the release. 2. If the relationship applies to only a few tracks, and you know which ones, apply it only to those works or recordings. 3. If you are unsure which tracks a relationship applies to, put it at release level. A basic effort to determine to which tracks the relationship is applicable is appreciated. 4. If the credit is release level, and does not apply on a track by track basis (e.g. graphic design for the album's cover), then apply the relationship to the release, not the tracks.
您在第二个屏幕截图中显示的录音是the guidelines,它没有任何关系,也没有显示的版本(所以没有关系信息可以包含在XML响应中。
this one不是search web service的替代品。这意味着并非数据库中的所有可用信息都可通过搜索Web服务获得,尽管可以通过常规服务获得(尽管使用常规信息可能需要先搜索才能获得所需内容的MusicBrainz ID)检索有关的信息。
因此,回答如何检索第一个屏幕截图(normal one)中的录制信息的问题:从标准Web服务获得的结果(单击"网站上的详情"标签,它将包含一个指向XML表示的链接,this one用于" Bright Size Life")可以更改为包括与艺术家的关系,包括https://musicbrainz.org/ws/2/recording/6cbda46a-4db9-4575-865d-5be479e30b84?inc=artist-credits+releases(artist-rels include argument对于有关系的录音,它会是什么样子)。
但是,如果您知道该版本的MusicBrainz ID并希望在一个请求中同时获得发布和录制关系,那么这可能并记录在案:
默认情况下,这些' inc =' arguments只会加载请求实体的关系。在加载版本时,您可能希望为其所有录制内容加载关系,并且还可以链接到录制内容。这对于获得完整的发布信用很有用。还有其他参数只能用于发布请求,并允许您指定要加载关系的实体:
- recording-level-rels
- work-level-rels
这意味着您可以将artist-rels
和recording-level-rels
添加到Bright Size Life版本的发布请求(如here's)中,并获取该版本的艺术家关系信息,并显示所有录制内容在它上面。