Review Request: Nepomuk desktop query API

Sebastian Trueg trueg at kde.org
Mon Nov 9 08:45:24 GMT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2061/
-----------------------------------------------------------

(Updated 2009-11-09 08:45:24.075954)


Review request for kdelibs.


Changes
-------

New diff fixing most of the issues except:
- no new explicit constructors as I do not see the point.
- QueryParser::parse cannot be const as it changes the property cache

Other changes:
- No more Query::resolveProperties. This seemed like the wrong place. Instead we now have QueryParser::matchProperty which might even be used in query GUIs to provide auto-completion of query strings.
- No more Query::optimized. It does not make sense not to call it so we can do it internally.
- Removed ComparisonTerm::field. As the matching of the properties is now done by the query parser there is no need for this clutter anymore.


Summary
-------

One thing has been missing ever since KDE 4.0: A good Nepomuk query API. We cannot expect app developers to all learn SPARQL.
This API is the final version (Virtuoso-extensions-based) of the query API that has already been in kdebase/workspace/libs/nepomukquery and kdebase/runtime/nepomuk/libnepomukquery. The API is already used by the Nepomuk query service, the Nepomuk search kio slave, the Nepomuk Plasma runner, and the simple search client in playground.

It makes perfect sense to include this API in KDE 4.4.


Diffs (updated)
-----

  trunk/KDE/kdelibs/includes/CMakeLists.txt 1044143 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/AndTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/ComparisonTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/FileQuery PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/GroupTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/LiteralTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/NegationTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/OrTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/Query PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/QueryParser PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/QueryServiceClient PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/ResourceTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/Result PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/SimpleTerm PRE-CREATION 
  trunk/KDE/kdelibs/includes/Nepomuk/Query/Term PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/CMakeLists.txt 1044143 
  trunk/KDE/kdelibs/nepomuk/query/CMakeLists.txt PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/andterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/andterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/andterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/comparisonterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/comparisonterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/comparisonterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/dateparser.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/dateparser_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/dbusoperators.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/dbusoperators.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/filequery.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/filequery.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/groupterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/groupterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/groupterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/literalterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/literalterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/literalterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/negationterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/negationterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/negationterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/nepomukquery_export.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/nie.trig PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/org.kde.nepomuk.Query.xml PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/org.kde.nepomuk.QueryService.xml PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/orterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/orterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/orterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/query.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/query.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/query_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/querybuilderdata_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/queryparser.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/queryparser.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/queryserviceclient.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/queryserviceclient.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/resourceterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/resourceterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/resourceterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/result.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/result.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/simpleterm.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/simpleterm.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/simpleterm_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/term.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/term.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/term_p.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/test/CMakeLists.txt PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/test/pimo.trig PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/test/queryparsertest.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/test/queryparsertest.cpp PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/test/querytest.h PRE-CREATION 
  trunk/KDE/kdelibs/nepomuk/query/test/querytest.cpp PRE-CREATION 

Diff: http://reviewboard.kde.org/r/2061/diff


Testing
-------


Thanks,

Sebastian





More information about the kde-core-devel mailing list