4 ms·
> In the genre/title example, how would it be clear that title is a subclass of genre rather than the other way 'round? It's not clear and it can be the other
by wander_homer 5y ago
> In the genre/title example, how would it be clear that title is a subclass of genre rather than the other way 'round?
It's not clear and it can be the other way around. You can also ask the player to list the genre as a subclass of titles. It'll be just a less useful representation, because the first level usually holds almost as much entries as there are songs, since titles are often unique.
> And what of fusion or crossover works --- is DNA's remix of "Tom's Diner" folk-rock, a capella, or trip-hop?
It can be all of those, like I said you can have multi-value tags. Then this song would show up three times in a tree with a genre level.
- dredmorbius 5y agoDigging into method, then: more-frequently-occurring tags are presumed to be more general than less-frequently-appearing tags? Or is there no presumption of specificity / generality at all, and just an association between tags. If the latter, it's not clear to me how the tags are directed, other than in the sense of an RDF triple's subject, predicate, and object. https://en.wikipedia.org/wiki/Semantic_triple https://en.wikipedia.org/wiki/Semantic_triple
- wander_homer 5y ago> Digging into method, then: more-frequently-occurring tags are presumed to be more general than less-frequently-appearing tags? No, all tags are handled in the same way by the player. It's completely up to the user to specify the hierarchy in which tags can be browsed. The player then builds the tree dynamically. > If the latter, it's not clear to me how the tags are directed, other than in the sense of an RDF triple's subject, predicate, and object. I'm kind of lost here, since I'm failing to see where the confusion comes from. Also, I'm not a native English speaker, so I might be missing something or my explanations just aren't well enough. So let's try this again with some simple pseudo code. Tags here are nothing but key:value pairs associated to audio files. So if the user asks for the tree structure like key_3/key_4/key_1 the player can simply do the following: keys = {key_3, key_4, key_1}; tree = new Tree; for song in songs { subtree = tree for key in keys { // key here might be something like "Artist" // value here might be something like "Iron Maiden" value = song.get_key_value(key) if !subtree.has_node(value) { // if the subtree doesn't already have the "Iron Maiden" node in the current level, add it subtree.insert_node_sorted(value) } // use the "Iron Maiden" node as the new subtree subtree = subtree.get_node(value) } subtree.insert_song_sorted(song) }