GNOME Bugzilla – Bug 641248
nmm:MusicPiece should derive from nfo:Audio
Last modified: 2011-03-08 11:55:43 UTC
Created attachment 179887 [details] [review] nmm:MusicPiece should derive from nfo:Audio Currently "nmm:MusicPiece" derives from "nfo:Media". I believe the superclass should be "nfo:Audio". Also, all extractors have code like this: tracker_sparql_builder_predicate (metadata, "a"); tracker_sparql_builder_object (metadata, "nmm:MusicPiece"); tracker_sparql_builder_object (metadata, "nfo:Audio"); Both shouldn't be necessary... Ideally the type should probably be "MusicPiece" if any nmm properties (say artist) are found, and "Audio" otherwise.
Oh, another thing: There is no way to define "generic audio" -- e.g. podcasts -- so that it would be easy to search for even after this fix: * "?audio a nfo:Audio" will return video files as well. * "?audio a nmm:MusicPiece" will only return music files Maybe there should be a nmm:Audio that is a subclass of nfo:Audio and superclass of nmm:MusicPiece? Alternatively we could just give up and say MusicPiece is for all audio... that's what everyone seems to do in practice.
We could do a hierarchy like this: nfo:Media \ nfo:Audio \nmm:Audio -> To keep all the nmm properties now in nmm:MusicPiece \ nmm:MusicPiece \ nmm:Podcast \ nmm:AudioBook But i am not sure it is useful at all. The problem with Podcast and Audiobook is that are impossible to distinguish in the filesystem (they just look like regular MP3). Or the application downloading those files put them in the right category or they will be considered MusicPieces.
The intention is to use nmm:MusicPiece for the non-technical data (what the user really cares) and let nfo:Audio for the technical details (like "gain", "rearChannel"...). Making nmm:MusicPiece subclass of nfo:Audio doesn't provide any practical difference with the current design. Note that the podcast issue is independent.
Review of attachment 179887 [details] [review]: No need to change the ontology.