Uploaded image for project: 'MusicBrainz Server'
  1. MusicBrainz Server
  2. MBS-7205

Link types should track assumed cardinality




      Discussed at the chicago meetup, one weakness of our current AR system is that we assume/imply that all relationships tend to appear the same number of times for both entities. This isn't true – for example, an artist (in general) tends to have many more performances than a recording has performing artists. Or, similarly, the artist-work composer link. Or, in fact, integral rels such as the recording-work performance relationship, which in most cases a given work will have more than one performance (or, at least, can), and a given recording is only one (or a small number) of works.

      Therefore, we propose/intend to track the cardinality of link types: for each of the two endpoints, whether it is typically one or a few rels, or many/unboundedly many. Most such things are simply a product of which entities are at their ends: artist-work and artist-recording rels are likely to be 1:many from the recording or work to the artist.

      One use of this information, and the reason this is in the web service category, is tracking when a relationship can accurately be considered "core" data: for an artist, the list of their works and recordings is not as important as, say, the list of members, but for a work or recording, the composer or performer rels are fairly important. Part of our /ws/3 plans include using this information to control which relationships appear under which entities.


          Issue Links



              • Assignee:
                ianmcorvidae Ian McEwen
                ianmcorvidae Ian McEwen
              • Votes:
                1 Vote for this issue
                0 Start watching this issue


                • Due:


                  Version Package
                  Schema change, 2014-05-13