The Nepomuk Situation
Albert Astals Cid
aacid at kde.org
Mon May 7 17:23:13 BST 2012
El Dilluns, 7 de maig de 2012, a les 11:48:00, Vishesh Handa va escriure:
> On Mon, May 7, 2012 at 5:03 AM, Albert Astals Cid <aacid at kde.org> 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
> own.
>
> 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.
So you mean yes, they can, they do now and can still do it, even if using the
"old" APIs are suboptimal.
Right?
Albert
>
> > Cheers,
> >
> > Albert
> >
> > > What do you guys think?
> > >
> > > [1] https://projects.kde.org/projects/kde/kdelibs/nepomuk-core
> > > [2]
> >
> > http://trueg.wordpress.com/2011/06/08/nepomuk-2-0-and-the-data-management-
> > se>
> > > rvice/
More information about the kde-core-devel
mailing list