如何在 musicbrainz 上的发布浏览请求中检索记录关系

How to retrieve recording relationship on release browse request on musicbrainz

我目前正在使用以下方法从 musicbrainz 获取所需信息 浏览请求,浏览特定艺术家的发行+录音。 例如:(酷玩乐队)

http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&fmt=json&inc=recordings

我有兴趣为每个记录获取其工作 ID。 现在我尝试将 'recording-rels' 添加到包含中,但似乎只有 return 发布和录制之间的关系。 我还尝试将 'recording-level-rels' 添加到包含 here 中 它指出它应该 return 记录关系,但是当我尝试使用它时 - 我收到以下错误:

{"error":"recording-level-rels is not a valid inc parameter for the release resource."}

我是不是用错了? 澄清一下,我是在寻找你从他们的网站获得的关系,比如从 this page,每个版本都有包含 link 到 musicbrainz 作品 ID 页面的录音。

任何 help\advice 将不胜感激, 谢谢。

关于关系的 API 文档的 link 用于 MBID 查找,并且仅适用于它们。所以这在这里工作例如:

http://musicbrainz.org/ws/2/recording/7137bd5b-7f93-40c0-a780-53784a8f6c5d?inc=work-rels

但是在你做的browse query中,这个关系是查询不到的。我猜你有两个选择:

好吧,正如您所说:您正在做的是 浏览请求 ,您链接的关系仅适用于发布 查找

因此您无法通过一次请求获取此信息。 对此的简单解决方案是使用:
http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234
获取所有版本(没有录音)和每个版本:
http://musicbrainz.org/ws/2/release/bfae6df7-3ee2-4031-ac09-8dc63c6ce6ca?inc=recordings+recording-level-rels+work-rels
获取相关作品。


上述方法存在每次release需要一个request的问题。 如果你自己做一些匹配,你可以做得更好。 您可以使用以下方式获取录音列表
http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&inc=recordings
和作品:
http://musicbrainz.org/ws/2/work?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&inc=recording-rels
使用此信息,您可以将作品与发行的唱片相匹配。

或者你也可以使用
http://musicbrainz.org/ws/2/recording?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&inc=work-rels
但通常录音较多,作品较少。这意味着并非每张录音都附有作品。

注意当需要使用limit/offset获取多页结果时,此方法也需要2次以上的请求。