<DIV>i think complex querry calls are redundant in ease of use; think google.<BR><BR><B><I>Ian Clarke &lt;ian@locut.us&gt;</I></B> wrote:
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">You should take a look at FASD:<BR><BR>http://freenet.sourceforge.net/kronfol_final_thesis.pdf<BR><BR>It uses a generalisation of Freenet's search algorithm to support <BR>"fuzzy" searching (in the case of FASD, using a series of keywords).<BR><BR>Essentially, any query where you can determine, for a given key, <BR>whether one key is a closer match to the query than another key, or <BR>whether it is equally matched, can be searched for.<BR><BR>So, for example, if the query is 'key is equal to numeric value 5', <BR>then the key '6' would be a closer match than the key '8'.<BR><BR>If the query is 'key is equal to string value "hello"', then the key <BR>'heppo' would be a closer match than the key 'fdfdf' (perhaps using <BR>the Levenshtein distance algorithm).<BR><BR>Of course, keys can be anything, not just integers and strings. For <BR>example, a single key could be a set of key-value
 tuples (apologies <BR>for the overloaded use of 'key'). You can also combine queries using <BR>boolean operators to form new queries, provided you maintain a way to <BR>evaluate the relative closeness of two keys to the query.<BR><BR>The FASD paper doesn't really go into these more complex queries, but <BR>it does demonstrate that Freenet's search algorithm generalises well, <BR>while maintaining its small-world scalability characteristics.<BR><BR>Ian.<BR><BR>On 4 Jul 2005, at 05:23, Davide Carboni wrote:<BR><BR>&gt; Hi, I'm developing a P2P system where clients must be able to send<BR>&gt; complex queries such as:<BR>&gt;<BR>&gt; author equal "foo"<BR>&gt; and<BR>&gt; publicationDate is between "12 12 1999" and "12 12 2000"<BR>&gt; andnot<BR>&gt; distributor startswith "galax"<BR>&gt;<BR>&gt; etc. etc.<BR>&gt;<BR>&gt; I'm reading some papers about DHT and I wonder whether or not DHT is a<BR>&gt; viable solution for these requirements. I know that with DHT you can<BR>&gt; map a key
 onto a piece of data, but I cannot see how to manage complex<BR>&gt; query like the one in the example. Probably DHT is not the "good"<BR>&gt; solution for this...but never know,<BR>&gt;<BR>&gt; Any hints?<BR>&gt; Bye.<BR>&gt; Davide<BR>&gt;<BR>&gt;<BR>&gt; -- <BR>&gt; I have made this letter longer than usual because I lack the time to<BR>&gt; make it shorter.<BR>&gt; B. Pascal<BR>&gt; _______________________________________________<BR>&gt; p2p-hackers mailing list<BR>&gt; p2p-hackers@zgp.org<BR>&gt; http://zgp.org/mailman/listinfo/p2p-hackers<BR>&gt; _______________________________________________<BR>&gt; Here is a web page listing P2P Conferences:<BR>&gt; http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences<BR>&gt;<BR>&gt;<BR><BR>_______________________________________________<BR>p2p-hackers mailing list<BR>p2p-hackers@zgp.org<BR>http://zgp.org/mailman/listinfo/p2p-hackers<BR>_______________________________________________<BR>Here is a web page listing P2P
 Conferences:<BR>http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences<BR></BLOCKQUOTE></DIV><BR><BR>You don't get no juice unless you squeeze<br>Lemon Obrien, the Third.<p>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com