【问题标题】:Musicbrainz querying artist and releaseMusicbrainz 查询艺术家并发布
【发布时间】:2015-01-20 21:08:14
【问题描述】:

我正在寻找一位艺术家和他们的专辑。所以阅读这个页面https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2 我创建了以下查询来获取迈克尔杰克逊的专辑

http://musicbrainz.org/ws/2/artist/?query=artist:michael%20jackson?inc=releases+recordings

我的理解是在 URL 的末尾添加?inc=releases+recordings,这应该返回迈克尔杰克逊的专辑,但这似乎没有返回正确的结果,或者我似乎无法缩小结果范围?然后我想使用{MBID},但在艺术家查询中再次没有返回(这就是为什么我试图在我的查询中使用inc

http://musicbrainz.org/ws/2/artist/?query=artist:michael%20jackson

任何人都可以建议我在哪里出错了吗?

【问题讨论】:

标签: web-services musicbrainz


【解决方案1】:

您没有在搜索正确的实体。你想要的是获得唱片,而不是艺术家的信息。此外,查询 fields 语法不正确(必须使用Lucene Search Syntax)。

这是您要查找的内容:

http://musicbrainz.org/ws/2/release-group/?query=artist:"michael jackson" AND primarytype:"album"

我们以release-group 实体为目标来获取专辑,搜索特定的artist 并过滤结果以将其限制为专辑。 (接受值为:专辑、单曲、EP、其他)

还有更多选项可以满足您的需求,例如您可以使用secondarytype 参数过滤专辑类型。这是仅检索实时专辑的查询:

http://musicbrainz.org/ws/2/release-group/?query=artist:"michael jackson" AND primarytype:"album" AND secondarytype="live"

这是文档: https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search

请注意,为了能够使用 MB 的 API,您需要了解它的结构,尤其是 release_group、release 和 medium 之间的关系。

【讨论】:

  • 谢谢你,只是一些澄清。你怎么知道 type:1 是用于专辑的?我找不到任何参考,看看你是怎么知道的?最后,如果我想包括 MJ 的出生日期,我认为使用“发布组”是不可能的,所以我想使用“并开始”,但没有成功,这是否意味着我必须恢复为“艺术家”?或者有没有办法包括额外的细节(对不起,但我认为我在这里遗漏了一些明显的东西)。谢谢
  • 我不记得我在哪里找到的(我可能是前段时间自己玩转储时发现的),但如果您愿意,您可以直接放入“专辑”(看起来架构从我上次使用它,所以我编辑了我的答案)。以下是可用类型和子类型的列表:musicbrainz.org/doc/Release_Group/Type nb。如果这是您要查找的查询,请不要忘记接受我的回答。谢谢!
猜你喜欢
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多