Difference between revisions of "Relationships"

From MusicBrainz Wiki
((Imported from MoinMoin))
m
 
(53 intermediate revisions by 9 users not shown)
Line 1: Line 1:
=Advanced Relationships Documentation=
+
Relationships are a way to represent all the different ways in which [[MusicBrainz Entity|entities]] are connected to each other and to URLs outside MusicBrainz. To know more about how to add them, see [[How to Add Relationships]].
  
'''Status:''' ''This page is work in progress''
+
* [[recording:271051c3-1a4c-4612-8c6e-2a5400e37b56|The Rockafeller Skank]] by Fatboy Slim includes a sample from the Just Brothers song [[recording:0ad2aa31-cf5f-4ef4-93d8-4568d404323b|Sliced Tomato]].
 +
* [[artist:85994c53-062f-462e-95fd-3a521dd1fcd2|Paul Di'Anno]] was a member of [[artist:ca891d65-d9b0-4258-89f7-e6ba29d83767|Iron Maiden]] from 1977 until 1981.
 +
* The Metallica album [[release:5997cf87-5225-4830-9edf-358638a24905|St. Anger]] was produced by [[artist:4f0730d0-fd52-4818-8a5d-f3f69ce8f378|Bob Rock]] & [[artist:65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab|Metallica]].
 +
* [[artist:486067ad-56d6-48b5-957b-d6cfe3e1af73|Perfume]] have an official site at http://www.perfume-web.jp/.
  
==Introduction==
+
==Relationship types==
  
Advanced Relationships is a way to represent all the "miscellaneous" relationships between [[Artist]]s, [[Release]]s and [[Track]]s that are stored in the [[MusicBrainz Database|MusicBrainzDatabase]]. For example:
+
There are a huge number of different relationship types. The lists (organised per types of entities they connect) can be checked at the [[mb:relationships|relationship type table]].
* The song [http://musicbrainz.org/track/271051c3-1a4c-4612-8c6e-2a5400e37b56.html Rockafella Skank] by Fatboy Slim includes a sample from the Just Brothers song [http://musicbrainz.org/track/0ad2aa31-cf5f-4ef4-93d8-4568d404323b.html Sliced Tomato].
 
* [http://musicbrainz.org/showrel.html?type=artist&id=46550 Paul Di'Anno] was a member of [http://musicbrainz.org/showrel.html?type=artist&id=10042 Iron Maiden] from 1977 until 1981.
 
* The Metallica album [http://musicbrainz.org/album/5997cf87-5225-4830-9edf-358638a24905.html St. Anger] was produced by [http://musicbrainz.org/artist/4f0730d0-fd52-4818-8a5d-f3f69ce8f378.html Bob Rock] & [http://musicbrainz.org/artist/65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab.html Metallica].  
 
  
All of this information is stored in a single table in the database, and there is a single user interface for adding new information.  In this way, [[MusicBrainz]] has a fairly simple way to deal with extremely complicated data.
+
==Guidelines==
  
==Getting Started==
+
Please see the [[Style/Relationships|general guidelines for relationships]], the [[Style/Relationships/URLs|guidelines for URLs]], and also the documentation for the specific relationship type you're using, accessible from the  [[mb:relationships|relationship type table]].
  
There is a tutorial at [[How To Make Relationships|HowToMakeRelationships]].  
+
==Credits==
 +
Credits allow indicating that, for example, songwriting was credited to an artist's legal name, and not his main (performance) name.
  
==Advanced Relationship Types==
+
==Attributes==
 +
Relationships can have attributes which modify the relationship. There is a [[mb:relationship-attributes|list of all attributes]], but the attributes which are available, and how they should be used, depends on the relationship type, so see the documentation for the relationship you want to use for more information.
  
Each relationship entered by a user belongs to one [[Advanced Relationship Type|AdvancedRelationshipType]].  These types define:
+
===Dates===
* Which entities will be related (artists, albums, tracks, etc)
 
* What [[Advanced Relationship Attribute|AdvancedRelationshipAttribute]]s go along with the relationship
 
* The [[Link Phrase|LinkPhrase]]s of the relationships, which describe how to write the relationship information in English sentences.
 
  
For example, the advanced relationship type "[[Performer Relationship Type|PerformerRelationshipType]]" can be used to link an artist (for example, [http://musicbrainz.org/artist/618b6900-0618-4f1e-b835-bccb17f84294.html Eric Clapton]) to a track on which they performed (for example, [http://musicbrainz.org/track/64d0220a-0587-43c9-b7e3-809e8c06542b.html Runaway Train]).  The definition of [[Performer Relationship Type|PerformerRelationshipType]] allows an optional attribute to specify the instrument he played ([[Instrument Relationship Attribute|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".  
+
Some relationships have two date fields, a begin date and an end date, to store the period of time during which the relationship applied. The date can be the year, the year and the month or the full date. It is optional, so it can also be left blank. As with other attributes, see the documentation for the relationship types you are using.
  
These [[Advanced Relationship Type|AdvancedRelationshipType]]s 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 [[Advanced Relationship Type|AdvancedRelationshipType]]s is limited to selected users, called [[Relationship Editor|RelationshipEditor]]s.  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 [[MusicBrainz Database|MusicBrainzDatabase]].
+
[[Category:Documentation]] [[Category:WikiDocs Page]] [[Category:Relationships]]
 
 
A list of all of the relationship types defined so far is kept at [[Advanced Relationship Type|AdvancedRelationshipType]]<code><nowiki></nowiki></code>s.  That page also links to documentation for each individual type.
 
 
 
==ArtistRoleInheritance==
 
 
 
There are now multiple levels at which an artist's role on a song can be recorded: you can relate the artist to the song, to the album, or to the band that recorded the song.  So it's now non-trivial to figure out the full list of people who should be credited for any given track.  The page [[Artist Role Inheritance|ArtistRoleInheritance]] goes into the implications of this in some depth.
 
 
 
[[Category:To Be Reviewed]] [[Category:Advanced Relationships]]
 

Latest revision as of 12:53, 2 June 2015

Relationships are a way to represent all the different ways in which entities are connected to each other and to URLs outside MusicBrainz. To know more about how to add them, see How to Add Relationships.

Relationship types

There are a huge number of different relationship types. The lists (organised per types of entities they connect) can be checked at the relationship type table.

Guidelines

Please see the general guidelines for relationships, the guidelines for URLs, and also the documentation for the specific relationship type you're using, accessible from the relationship type table.

Credits

Credits allow indicating that, for example, songwriting was credited to an artist's legal name, and not his main (performance) name.

Attributes

Relationships can have attributes which modify the relationship. There is a list of all attributes, but the attributes which are available, and how they should be used, depends on the relationship type, so see the documentation for the relationship you want to use for more information.

Dates

Some relationships have two date fields, a begin date and an end date, to store the period of time during which the relationship applied. The date can be the year, the year and the month or the full date. It is optional, so it can also be left blank. As with other attributes, see the documentation for the relationship types you are using.