The Nepomuk Situation

Vishesh Handa me at
Mon May 7 07:18:00 BST 2012

On Mon, May 7, 2012 at 5:03 AM, Albert Astals Cid <aacid at> wrote:

> El Dijous, 3 de maig de 2012, a les 00:32:37, Vishesh Handa va escriure:
> > Hey everyone!
> >
> > snip
> >
> > The second solution is -
> > * nepomuk-core installs the headers in nepomuk2
> > * the library already has a different name, so there are no clashes over
> > there
> > * kde-runtime/nepomuk is removed
> > * nepomuk-core is added as a dependency of kde-runtime
> >
> > The problem with the second solution is that all applications using
> Nepomuk
> > will also need to depend on nepomuk-core. So far the list includes -
> > Dolphin, KDE-pim and Telepathy (kinda)
> Why is this needed? Can't they continue using the old APIs?

Short answer: No

Long Answer:

The original Nepomuk APIs that are present in kdelibs are synchronous. They
basically provide a glorified cache over the Nepomuk data which is stored
in virtuoso. Applications which push large amounts of information into
Nepomuk (Feeders) do not need to know anything about the data already
present in Nepomuk, they just need to push large quantities of data as fast
as they can.

Using the synchronous kdelibs APIs makes this very hard. Additionally, the
asynchronous API for pushing data provides has in-built duplicate detection
and merging. That's something that was *very hard* to implement. It seems
like an overkill for the clients to implement something like that on their

kde-pim and Telepathy use these new asynchronous APIs. So does Trueg's TV
Naming Application.

Secondly, the APIs in kdelibs did not provide any mechanism for monitoring
changes in resources. We've now finally implemented a good method of
monitoring changes that does not tax the entire system. Dolphin uses this
new ResourceWatcher API to monitor for changes in tags and ratings.

And finally, the new APIs provide a method for properly merging resources.
A couple of miscellaneous applications are using this - Nepomuk Tag manager.

Btw, when I say "new APIs", I mean introduced in kde-runtime 4.7. So they
are about a year old.

> Cheers,
>  Albert
> >
> > What do you guys think?
> >
> > [1]
> > [2]
> >
> > rvice/

Vishesh Handa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the kde-core-devel mailing list