[Nepomuk] Building and using recursive Baloo queries

Denis Steckelmacher steckdenis at yahoo.fr
Fri Feb 21 10:15:17 UTC 2014


On 02/20/2014 09:18 AM, Vishesh Handa wrote:
> On Tuesday, February 18, 2014 10:40:13 AM Denis Steckelmacher wrote:
>> Hi,
>
> Hey Denis
>
>>
>> I'm reading the source code of Baloo to see if porting the Nepomuk
>> user-query parser that I developed during the summer would be an easy
>> task. Everything feels clean and well-thought, so congratulations to
>> everyone involved!
>>
>> In Nepomuk, queries were built using a tree of Nepomuk2::Term objects. I
>> discovered that Baloo still has a Term class (in src/core), that allows
>> operations and subterms, and that a Baloo query can use such terms. But
>> what does it do with this term? Baloo queries also seem to be described
>> using a search string, types and filters, so how the term and the
>> filters are related?
>>
>
> All of these queries are sent to the "Search Stores", these search stores have
> to parse the queries and return some values.
>
> All search stores currently use Xapian as the query backend. So the
> Baloo::Query will get translated into a Xapian::Query object. Checked out the
> implementation of one of the search stores, it'll make things easier to
> understand.
>

As far as I can tell, the Xapian-based backends are able to fully 
translate a tree of Terms to a tree of Xapian terms. But is there a 
chance that a future backend is not able to perform this task and only 
understands flat queries described by Baloo::Query ?

My main question is whether the user-query parser can produce a 
Baloo::Term tree or must lower it to Baloo::Query objects that don't use 
Terms.


More information about the Nepomuk mailing list