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


The second version is I think not the right patch, it seems to be changes on 
top of v1.

Anyway, I have a potentially silly question: why is this information living 
here? Why don't you just make a subclass that lives in the query parser and is 
private to that with the two original methods in it? That way you avoid futzing 
around with void pointers, you add the methods you actually want, but they 
aren't public?

- Simeon Bird


On Sept. 12, 2013, 4:52 p.m., Denis Steckelmacher wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111274/
> -----------------------------------------------------------
> 
> (Updated Sept. 12, 2013, 4:52 p.m.)
> 
> 
> Review request for Nepomuk.
> 
> 
> Description
> -------
> 
> This patch adds two fields to Nepomuk2::Query::Term: "position" and "length". 
> By default, they are zero and everything works as before. This change is 
> binary- and source-compatible.
> 
> The in-development Nepomuk query parser (GSoC 2013 project) uses these fields 
> to map parsed terms to the original user query string. By traversing the 
> parse tree (a tree of And, Or and Comparison terms), it is therefore possible 
> to match every term with a piece of input, that can be highlighted 
> accordingly. For instance, each ComparisonTerm can have a different color, 
> its subTerm being rendered using a bold font (like in "sent to *Jimmy*").
> 
> This patch also makes the QuerySerializer serialize the positional 
> information, for debug purposes. This information is not read-back by the 
> deserializer, as the modification would be fairly intrusive, and there is no 
> need to deserialize positional information if the original user query is lost.
> 
> 
> Diffs
> -----
> 
>   libnepomukcore/query/term.h 114baa3 
>   libnepomukcore/query/term.cpp cfb41f4 
>   libnepomukcore/query/term_p.h 6d92b48 
> 
> Diff: http://git.reviewboard.kde.org/r/111274/diff/
> 
> 
> Testing
> -------
> 
> The query parser (https://github.com/steckdenis/nepomukqueryparser) is able 
> to store positional information into terms, and this information is valid. 
> The query "files related to mails sent by John, dated of last week" produces 
> the following term tree:
> 
> <and position="0" length="55">
>     <type position="0" length="5" uri="FileDataObject"/>
>     <comparison position="6" length="30" property="relatedTo" comparator="=" 
> inverted="false">
>         <and position="0" length="35">
>             <type position="17" length="5" uri="Message"/>
>             <comparison position="23" length="12" property="messageFrom" 
> comparator=":" inverted="false">
>                 <literal position="31" length="4" datatype="string">
>                     John
>                 </literal>
>             </comparison>
>         </and>
>     </comparison>
>     <and position="46" length="9">
>         <comparison position="46" length="9" property="fileLastModified" 
> comparator="&gt;=" inverted="false">
>             <literal position="46" length="9" datatype="dateTime">
>                 2013-06-16T22:00:00.002Z
>             </literal>
>         </comparison>
>         <comparison position="46" length="9" property="fileLastModified" 
> comparator="&lt;=" inverted="false">
>             <literal position="46" length="9" datatype="dateTime">
>                 2013-06-23T20:00:00.002Z
>             </literal>
>         </comparison>
>     </and>
> </and>
> 
> 
> Thanks,
> 
> Denis Steckelmacher
> 
>

_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk

Reply via email to