I start with: (setq A (db 'aid '+Article 3814726210))
Check to see that there's actually something there:
(mapc show (collect 'a1 '+Similarity A))
Output is the list of similarities:
I try: (? (db 'a1 '+Similarity A @X) (show @X)) (I assumed you forgot
the quotes above or maybe they're not needed?), and: (? (db a1
+Similarity A @X) (show @X)). Both return -> NIL which I would not
expect since I know that A is in fact in a1. Anyway switching to a2
yields the same result which would be expected since I know that A is
not in any a2 position.
On Thu, Oct 30, 2008 at 11:57 PM, Alexander Burger <[EMAIL PROTECTED]> wrote:
> Hi Henrik,
>> ((a1 +Similarity @A a2 +Similarity @A))
>> According to Alex the generator clause in question is the equivalent
>> of an SQL OR clause, it is however returning NIL instead of the
> Right. The "normal" clause
>> ((a1 +Similarity @A))
> tells Pilog to search the 'a1' index of the class '+Similarity'.
> The above version in turn says to first search the 'a1' index tree, and
> when all entries matching '@A' are traversed, continue with the 'a2'
> tree. So this is like an OR of both sets of data. It looks perfectly all
> right to me.
> Do you get the expected values if you ask
> : (? (db a1 +Similarity "ValueForA1" @X) (show @X))
> : (? (db a2 +Similarity "ValueForA2" @X) (show @X))
>> Now if ((a1 +Similarity @A a2 +Similarity @A)) was really an OR clause
>> it should return the same result as ((a1 +Similarity @A)), but it's
>> obviously not so we missed something, but what?
> What is the result? Does it return nothing at all?
> - Alex
> UNSUBSCRIBE: mailto:[EMAIL PROTECTED]
UNSUBSCRIBE: mailto:[EMAIL PROTECTED]