Genre graph

The new genres table in the database is fantastic!

Are there any plans one day to turn it into a tree, so each genre can have parents and children? This is where the data really start to look interesting, once you can map them out… :blush:

Admittedly, it gets a bit complicated, as some genres can have multiple parents, e.g. rap rock, or hip house. (OK, so it’s not a tree after all, it’s a graph.)

It would have some practical advantages: for any subgenre that has only one parent, people would only need to tag what belongs to the more specific subgenre, and its parent could then be automatically inferred everywhere. So, for example, if everyone agreed Pink Floyd were progressive rock, and someone didn’t want that level of specificity in their collection, they could eventually set up their tagger to automatically walk up the tree to the rock parent and tag it as that instead, and it could do this even if no-one explicitly said Pink Floyd were rock generally. While that would only work for single-parent subgenres, that’s probably most of them.

It would also be really interesting to visualise, so you could see which genres are most popular not just in terms of how many artists or release groups they have, but also how many children. It could even be useful to help people explore which genres are related to ones they like, that they might not have noticed before.


At what level do you tag genre? Band? Release? Track?

A band that has been around a few decades like Pink Floyd change genres between releases.

Sub-genres are certainly a good idea. You’ll see non-fans throwing a blanket genre over something. And the deeper fans being able to go into sub-genres on a release by release level.

Plans are to make it a full entity with relationships, but that will be for another schema change.


Excellent, good to hear! Keep up the great work, all of you! :blush:

It’s a bit of a digression, but I’ve been tagging artists with what they’re most known for, then tagging specific release groups when they diverge from that. Tracks are tricky, as you can get different genre tracks on an album, but I generally don’t want them to be grouped away from each other on my music player. But that’s somewhat arbitrary on my part.

Tagging release groups instead of releases makes sense to me as good general advice, as the different releases in one group are all going to be the same genre. Which is one reason why I was looking so forward to Picard being able to recurse genre searching. It’s great now! :smile: (Even moreso than before, even.)


See the example query of Music genres query from

1 Like