Re: [Tracker] [WIP] Application support: man pages, Tomboy, & Liferea



Eyal Oren wrote:
On 12/07/06/12/06 21:37 +0000, Jamie McCracken wrote:
<extraction>
        <Entity uri="/home/jamie/music/moonlight.ogg">
                <metadata name="Audio.Title">Moonlight Sonata</metadata>
                <metadata name="Audio.Artist">Beethoven</metadata>
        </entity>

        <Entity uri="/home/jamie/music/moonlight.ogg">
                <metadata name="Audio.Title">Moonlight Sonata</metadata>
                <metadata name="Audio.Artist">Beethoven</metadata>
        </entity>
</extraction>
just that you know, this format is exactly RDF! So instead of reinventing the wheel, maybe we want to just use the RDF format for storing these extracted metadata?

RDF has several serialisations. In RDF/XML your data would look like:
<tracker:Entity rdf:about="file:///home/jamie/music/moonlight.ogg">
        <audio:title>Moonlight Sonata</audio:title>
        <audio:artist>Beethoven</audio:title>
</tracker:Entity>

In turtle format it would be:
<file:///home/jamie/music/moonlight.ogg> rdf:type tracker:Entity .
<file:///home/jamie/music/moonlight.ogg> audio:title "Moonlight Sonata" .
<file:///home/jamie/music/moonlight.ogg> audio:artist "Beethoven" .

Advantages of RDF is that extending and adding 'fields' to your data is trivial, and you don't need to reinvent an xml grammar. Plus exchanging and merging data (e.g. from various extractors) is trivial. So one extractor could maybe do title/artist while another does last-modified-date.

There are several standard RDF parsers available, Redland [1] is well known, stable, fast, and lightweight. And it's in C ;-)

If I understood this discussion correctly, RDF would be quite easy to use here as data container. You're of course free to use any vocabulary you want (instead of e.g. tracker:Entity and audio:title), those were just examples.


yeah I will be restructuring the DB this weekend for the next release so I may as well try and follow the rdf standard as much as possible (although with our custom metadata)


--
Mr Jamie McCracken
http://jamiemcc.livejournal.com/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]