Advanced Relationship Type

From MusicBrainz Wiki
Revision as of 23:22, 9 December 2009 by BrianSchweitzer (talk | contribs) (Classes: Add cataloguer)

Template:DocumentationHeader

Description

Each relationship entered by a user belongs to one AdvancedRelationshipType. These types define:

  • Which entities will be related (artists, releases, labels, tracks, etc)
  • What AdvancedRelationshipAttributes go along with the relationship
  • The LinkPhrases of the relationships, which describe how to write the relationship information in English sentences.

For example, the advanced relationship type "PerformerRelationshipType" can be used to link an artist (for example, Eric Clapton) to a track on which they performed (for example, Runaway Train). The definition of PerformerRelationshipType allows an optional attribute to specify the instrument he played (InstrumentRelationshipAttribute), so you can say if he played guitar. The definition also says how to construct an English sentence out of this data, so that the website can display the words "Runaway Train was performed by Eric Clapton".

These AdvancedRelationshipTypes are themselves simply entries in another database table. This means that new ones can be defined, old ones deleted, and existing ones modified through a relatively simple user-interface which does not require hacking the database internals. Since this data is much more important than any other individual entries, editing of AdvancedRelationshipTypes is limited to selected users, called RelationshipEditors. There are more relationship editors than developers, and the process of adding a new relationship type is much simpler than adding a new database table, so this is a very fast way to expand and improve the MusicBrainzDatabase.

This page lists all available types of AdvancedRelationships and how they are organized in classes or families. It links to pages that explain the usage of the respective relationship types.

Note that some of these types might still be proposals, this will be stated on their respective page. There is also some good but slightly historical information about AdvancedRelationshipTypeDevelopment.

Each relationship type is represented by a URI in the webservices API. This URI is "http://musicbrainz.org/ns/rel-1.0#" suffixed with the name of the relationship with whitespace removed, and converted to CamelCase. For example "amazon asin" becomes "http://musicbrainz.org/ns/rel-1.0#AmazonAsin".

Looking to add a new relationship type for AR?

Suggested additions or changes to AdvancedRelationshipTypes are listed as ProposedAdvancedRelationshipTypes (formerly AdvancedRelationshipTypeProposals) and discussed on the StyleMailingList.

Existing Types of Relationships

All official relationship types

View all types at Category:Relationship Type.

Classes

Relationship types are grouped into thematic Advanced Relationship Classes. These are explained here. All types that belong to one class are explained on the class page. There is also a complete list of relationship types further below.

Performance Relationship Class
This denotes all artists who played on a specific performance of a work. This means that they actually produced some new audio material, e.g. who sung or played some instrument. Remixing existing audio material or engineering the audio signal is not covered by this class.
Alternative Version Relationship Class
This describes relationships between related works, e.g. works that are the same, remastered from another, a cover from another, etc.
Remix Relationship Class
This denotes al artistic activity where existing recordings are used to create (remix) something new. You can specify who remixed what material on what work. This does not refer to mix engineers in studios etc.
Cataloguer Relationship Type
This relationship is used to link an artist to a person who has compiled a catalogue of that artist's works.
Composition Relationship Class
This denotes all artists who created some aspect of the general work, i.e. not a specific performance of it but the lyrics, the score or the arrangement.
Production Relationship Class
This denotes all people and institutions that were involved in the production on the work, but did not play music: the manager, cover designer, audio mix engineer, etc. but not actual performers or remixers.
Musical Association Relationship Class
This describes who was a member of which group, who collaborated with whom, etc.
Personal Association Relationship Class
This describes family relationships and liasons between artists that are in the database anyway.
Affiliate Relationship Class
These are links to records in affiliate databases
Discography Relationship Class
These are links to discographic resources
Get Music Relationship Class
These are links to sites where you can download and/or buy the music. Note that these must be legal, or MusicBrainz will run into trouble!
Other Databases Relationship Class
These are links to other databases about the artists, the music etc.

Families

The following table shows all possible relationship combinations:

Artist Release Label Track
Artist ArtistArtistRelationship - - -
Release ReleaseArtistRelationship ReleaseReleaseRelationship - -
Label LabelArtistRelationship LabelReleaseRelationship LabelLabelRelationship -
Track ArtistTrackRelationship ReleaseTrackRelationship LabelTrackRelationship TrackTrackRelationship
URL ArtistUrlRelationship ReleaseUrlRelationship LabelUrlRelationship TrackUrlRelationship

Alternatively take a look at the definition trees on the MusicBrainz server. You must be a RelationshipEditor to change these definitions.

Artist Release Label Track
Artist Artist—Artist - - -
Release Release—Artist Release—Release - -
Label Artist-Label Release—Label Label-Label -
Track Artist—Track Release—Track Label—Track Track—Track
URL Artist—URL Release—URL Label—URL Track—URL

Template:AdvancedRelationshipFooter