AdvancedRelationshipType

Types of AdvancedRelationships

Description

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

For example, the advanced relationship type "PerformerRelationshipType" can be used to link an artist (for example, [Artist]Eric Clapton) to a track on which they performed (for example, [Track]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.

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

Classes

Relationship types are grouped into thematic AdvancedRelationshipClasses. 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.

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

[WWW] Artist—Artist

-

-

-

Release

[WWW] Release—Artist

[WWW] Release—Release

-

-

Label

[WWW] Artist-Label

[WWW] Release—Label

[WWW] Label-Label

-

Track

[WWW] Artist—Track

[WWW] Release—Track

[WWW] Label—Track

[WWW] Track—Track

URL

[WWW] Artist—URL

[WWW] Release—URL

[WWW] Label—URL

[WWW] Track—URL

All official relationship types

The following is an automatically generated list of all AdvancedRelationshipTypes:

(FullSearch macro disabled)


CategoryAdvancedRelationships

last edited 2008-03-26 13:40:36 by murdos

MusicBrainz web site  *  Support / Contact