I've working on a toy project to index and display a directory full of audio files, a bit like an automatically-updated Rhythmbox or Banshee. Tracker 0.7 seems like an ideal backend for this, because it can be easily queried and will manage the indexes automatically. However, I'm running into a bit of trouble when it comes to storing and extracting data -- namely, figuring out where to store and query metadata.
First, there are several missing metadata fields that would be tremendously useful -- album artist, ReplayGain, MusicBrainz identifiers, track count, sort names, etc. From the Tracker-related posts on Planet GNOME I believe that these fields needed to be added to a "nepomuk ontology". However, the NEPOMUK homepage[1] and development site[2] are tremendously unhelpful. I can't find a list of valid field names, which values are to be stored in them, or anything except a wall of vague and buzzword-laden text. The Tracker source is more informative, and there appears to be an ontology for storing ID3 information in <tracker/data/ontologies/37-nid3.ontology>. However, none of the fields defined within provide any results when I query them using "tracker-sparql". I've tried adapting the queries in Mr. Van Hoof's blog post Introduction to RDF and SPARQL[3] to query ID3 metadata, but with no success. However, even the ID3 ontology in Tracker appears to be missing several important fields (like the above mentioned). Is there any way to add these fields to one of the supported ontologies? If not, is there a "best way" to add new ontologies? Second, there seems to be a duplication of information for each file, and I do not know which fields are "correct" and which are development leftovers or deprecated. For example, to find the title of a given track, I am offered: dc:title, nie:title, and nid3:title. Which of these should be used? Which are legacy duplicates? It is a mystery. Lastly, I do not see any way to define additional fields after installation. If I were to add (for example) support for storing a per-track rating to the music player, it would have to be in an external data store rather than Tracker. Obviously, this is sub-optimal -- is there any way to define custom or per-application fields? [1] http://nepomuk.semanticdesktop.org/ [2] http://dev.nepomuk.semanticdesktop.org/ [3] http://pvanhoof.be/blog/index.php/2009/07/14/introduction-to-rdf-and-sparql _______________________________________________ tracker-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/tracker-list
