132 lines
3.3 KiB
Factor
132 lines
3.3 KiB
Factor
USING: strings calendar sequences kernel math ;
|
|
IN: musicbrainz.entities
|
|
|
|
SINGLETONS:
|
|
person group orchestra choir character other
|
|
album single ep broadcast
|
|
compilation soundtrack spokenword interview audiobook audio-drama live remix dj-mix mixtape/street
|
|
male female
|
|
country subdivision county municipality city district island
|
|
search-hint artist-name
|
|
official promotional bootleg pseudo-release
|
|
normal high low
|
|
;
|
|
|
|
UNION: primary-release-group-type
|
|
album single ep broadcast other ;
|
|
|
|
UNION: secondary-release-group-type
|
|
compilation soundtrack spokenword interview audiobook audio-drama live remix dj-mix mixtape/street ;
|
|
|
|
UNION: artist-type
|
|
person group orchestra choir character other ;
|
|
|
|
UNION: area-type
|
|
country subdivision county municipality city district island ;
|
|
|
|
UNION: alias-type search-hint artist-name ;
|
|
|
|
UNION: artist-gender
|
|
male female ;
|
|
|
|
UNION: release-status
|
|
official promotional bootleg pseudo-release ;
|
|
|
|
UNION: release-quality
|
|
normal high low ;
|
|
|
|
TUPLE: entity
|
|
{ mbid string } ;
|
|
|
|
TUPLE: alias
|
|
{ name string }
|
|
{ sort-name string }
|
|
{ type maybe{ alias-type } }
|
|
{ locale maybe{ string } } ;
|
|
|
|
TUPLE: life-span
|
|
{ begin timestamp }
|
|
{ end maybe{ timestamp } }
|
|
{ ended? maybe{ boolean } } ;
|
|
|
|
TUPLE: area < entity
|
|
{ name string }
|
|
{ type maybe{ area-type } }
|
|
{ sort-name maybe{ string } }
|
|
{ iso-codes maybe{ sequence } }
|
|
{ begin-date maybe{ timestamp } } ;
|
|
|
|
TUPLE: artist < entity
|
|
{ name string }
|
|
{ sort-name string }
|
|
{ disambiguation maybe{ string } }
|
|
{ life-span maybe{ life-span } }
|
|
{ country maybe{ string } }
|
|
{ isnis maybe{ sequence } }
|
|
{ type maybe{ artist-type } }
|
|
{ gender maybe{ artist-gender } }
|
|
{ area maybe{ area } }
|
|
{ aliases maybe{ sequence } }
|
|
{ begin-area maybe{ area } } ;
|
|
|
|
TUPLE: text-representation
|
|
{ language string }
|
|
{ script string } ;
|
|
|
|
TUPLE: cover-art-archive
|
|
{ artwork? boolean }
|
|
{ count number }
|
|
{ front? boolean }
|
|
{ back? boolean } ;
|
|
|
|
TUPLE: release-event
|
|
{ date timestamp }
|
|
{ area maybe{ area } } ;
|
|
|
|
TUPLE: release < entity
|
|
{ title string }
|
|
{ status maybe{ release-status } }
|
|
{ quality maybe{ release-quality } }
|
|
{ disambiguation maybe{ string } }
|
|
{ date maybe{ timestamp } }
|
|
{ country maybe{ string } }
|
|
{ text-representation maybe{ text-representation } }
|
|
{ barcode maybe{ string } }
|
|
{ asin maybe{ string } }
|
|
{ release-events maybe{ sequence } }
|
|
{ packaging maybe{ string } }
|
|
{ mediums maybe{ sequence } }
|
|
{ artist maybe{ artist } }
|
|
{ label-info maybe{ sequence } }
|
|
{ cover-art-archive maybe{ cover-art-archive } } ;
|
|
|
|
TUPLE: collection < entity
|
|
{ name string }
|
|
{ editor string }
|
|
{ releases maybe{ sequence } } ;
|
|
|
|
TUPLE: recording < entity
|
|
{ title string }
|
|
{ length integer }
|
|
{ artist artist } ;
|
|
|
|
TUPLE: track < entity
|
|
{ position integer }
|
|
{ number integer }
|
|
{ length integer }
|
|
{ recording recording } ;
|
|
|
|
TUPLE: medium
|
|
{ position integer }
|
|
{ number integer }
|
|
{ format string }
|
|
{ dics sequence }
|
|
{ tracks sequence } ;
|
|
|
|
TUPLE: label < entity
|
|
{ type string }
|
|
{ name string }
|
|
{ sort-name maybe{ string } }
|
|
{ disambiguation maybe{ string } }
|
|
{ aliases maybe{ sequence } } ;
|