Category:Relationship Type

From MusicBrainz Wiki
Jump to: navigation, search



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
  • Link phrases, which describe how to write the relationship information in basic English sentences.

For example, the 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.

There is also some good but slightly historical information about AdvancedRelationshipTypeDevelopment.

Organization of Relationship Types

Relationship Types are organized both thematically and technically. Thematic organization is accomplished through Relationship Classes, whereas Relationship Families are organized by which two types of entities are linked by a Relationship Type.

As the same Relationship Type can describe similar linkages between multiple different pairs of entities, the same Relationship Type can be organized into more than one Relationship Family.


RobertKaye and DonRedman defined the original set of relationship types; all additions, removals, and changes to the list of relationship types since then have been made by the Style Council.

How to add or change a Relationship Type

Proposals for new Relationship Types, or changes to existing Relationship Types are listed on the Proposals page and discussed on the Style Mailing List. Information on how to make such a proposal can be found on the Proposals page.


This category has only the following subcategory.

Personal tools