Please review: Nepomuk Desktop Search API
Sebastian TrĂ¼g
trueg at kde.org
Tue Nov 3 10:26:20 GMT 2009
Hi everyone,
in kdebase/runtime and also in kdebase/workspace/libs we have had
libnepomukquery for quite some time now. Before Virtuoso I was never satisfied
with the API. Now that Virtuoso allows us to do all queries with one big
SPARQL expression while being fast I had another look and the result can be
seen in *playground/base/nepomuk-kde/nepomukquery*.
I would like to get this API into kdelibs for 4.4 so now is the time to have a
look.
The API will consist of 2 parts:
1. The Query and Term classes which are already done and need review now.
These can be used to construct queries. But be aware that they are not
modelled around SPARQL. This is intended to be the Nepomuk user query thing.
However, since nesting is possible most queries we do on the desktop should be
handled by that API.
2. The interface to the query service. This currently resides in
kdebase/workspace/libs/nepomukqueryclient. I would like to port that to the
new query API and clean it up a bit. The idea is to have one class that is a
direct frontend to the query service providing persistent query folders. And
one class that is a fire-and-forget query job. Comments?
One thing I am unsure about: previously the query service would receive Query
objects via DBus. Since queries are nested I had to flatten a recursive design
which makes for a weird signature and encoding code. Now I think that it might
make more sense to simply use SPARQL queries only. After all Query can convert
itself into SPARQL. Comments?
Another issue is that Query has the method resolveProperties which performs
some queries itself to convert string fields as produced by the query parser
into actual properties. Is Query the right place for this? Should this go into
the query service or even the parser? I am unsure...
Please give feedback so app developers can finally query data easily in KDE
4.4.
Cheers,
Sebastian
More information about the kde-core-devel
mailing list