LWN.net Logo

Nepomuk: sharing application metadata

Nepomuk: sharing application metadata

Posted Nov 12, 2009 8:36 UTC (Thu) by spaetz (subscriber, #32870)
Parent article: Nepomuk: sharing application metadata

If I get it right, then Nepomuk tries to achieve similar things as CouchDB which is an Spache project and which Ubuntu seems to be heavily pushing now. Is that about right?

One problem I always have when I hear a talk of Nepomuk/Tracker developers is that they have evolved such a geek jargon of their own, that if you don't know what SPARQL is from the very beginning, you have a hard time understanding anything Nepomuk can do for you. An accessible description of what Nepomuk can do for a simple-minded application developer such as me, would be nice...


(Log in to post comments)

Nepomuk: sharing application metadata

Posted Nov 12, 2009 10:55 UTC (Thu) by michaeljt (subscriber, #39183) [Link]

Warning: guesses follow. It sounds to me like a database of attributes for files on the filesystem. So for example a music player opening the file Music.mp3 might save the attributes "Artist" == "Talented person" and "Track" == "Wonderful symphony". Other applications which knew about the attribute names used by the music player could ask Nepomuk what attributes the file has, and find out the artist and track name without having to delve into the file's format. (Nepomuk might also have a built-in tool that would automatically extract that information from mp3s).

I presume that this information is matched to inodes, not (only) to file names, or moving and renaming files would be a recipe for meta-data-loss...

Nepomuk: sharing application metadata

Posted Nov 12, 2009 11:35 UTC (Thu) by spaetz (subscriber, #32870) [Link]

So in essence, extended file attributes with an indexer/query system. I see.

Nepomuk: sharing application metadata

Posted Nov 12, 2009 11:54 UTC (Thu) by michaeljt (subscriber, #39183) [Link]

If my understanding is correct :) And of course, with the additional difference that the attributes are "name" "verb" "value" triples, and not just "name" "value" pairs like in my examples. Although in many cases the "verb" part will probably just be "is" or "equals".

I wonder whether Nepomuk can store this information in the filesystem for filesystems supporting extended attributes? I think BeOS did this (effectively implementing all this new stuff years ago).

Nepomuk: sharing application metadata

Posted Nov 12, 2009 16:36 UTC (Thu) by nix (subscriber, #2304) [Link]

Using EAs would work great *if* everything you wanted to collect data on
was certainly writable by you. It often isn't, and EAs don't have their
own timestamps: often you don't want your backup program backing
everything up again merely because an indexer iterated over it!

Nepomuk: sharing application metadata

Posted Nov 14, 2009 18:17 UTC (Sat) by Thalience (subscriber, #4217) [Link]

BeOS provided fast extended attributes on files, and optional kernel-maintained indexes on them. It has taken some time, but ext4 and other modern linux filesystems provide reasonable performance on ext attrs. The in-kernel indexer was nifty, but somewhat inflexible.

They also provided conventions for the names and formats of commonly used attributes. For example, the "length" attribute of audio files should be an integer number of seconds, not a string or a floating point number of minutes. I think that this was the most important aspect of making the feature usable on the desktop.

The combination of inotify/tracker (or nepomuk) could do all the same cool things (live queries etc), if people could agree to all use it the same way. Having one clearly defined api to support made it a no-brainer for 3rd party application developers.

The Be community was small enough that converging on a single standard wasn't difficult. The Be weekly newsletter would announce a convention, Be would release first-party apps that supported/expected it, and... done. 3rd party developers either got with the program, or users scorned them.

I turned off the indexer support on my gnome desktop once it became clear that the Nautilus developers were not interested in providing integration with it. Hope the KDE project does better.

Nepomuk: sharing application metadata

Posted Nov 12, 2009 14:46 UTC (Thu) by sebas (subscriber, #51660) [Link]

You can use Nepomuk for that, but it's more extensive.

You're only referring to files here, while files are just one example.
Metadata (what you're referring to as extended file attributes) can also
be attached to more abstract objects, such as a contact, for example.

Those abstract objects are described using ontologies, which is, so to
say, a standardized format for metadata for a specific object.

Also, resources (for example a file or a contact in Nepomuk) don't have to
be local, you can just in the same way attach metadata to webpages you
visited, or to a certain activity or project you're working on.

Right now, Nepomuk is already used for tagging and rating across
applications, that is "attaching a string (tag) or a score to a file",
more use cases are coming up. Mandriva is probably the most advanced in
terms of the semantic desktop, have a look at this page to find out more:
http://doc4.mandriva.org/bin/view/labs/Nepomuk-mdv2010-RC

Nepomuk: sharing application metadata

Posted Nov 12, 2009 19:50 UTC (Thu) by oak (guest, #2786) [Link]

> if you don't know what SPARQL is from the very beginning

Google on "SPARQL" tells that it's a RDF Query Language and an official
W3C Recommendation. RDF is a directed, labeled graph data format for
representing information in the Web. I agree that it's geek jargon, but
so are the other W3C standards like CSS and XHTML. :-)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds