Hi everyone, I just tested a method looking like this (it's a
simplified version, disregard the extra unused arguments):

(dm relatedArticles2> (U A Limit Tresh)
   (solve
      (quote
         @Rng (cons Tresh T)
         @A A
         (select (@Sim)
            ((a1 +Similarity @A a2 +Similarity @A))
            (range @Rng @Sim value)))
      @Sim))

According to Alex the generator clause in question is the equivalent
of an SQL OR clause, it is however returning NIL instead of the
expected list of objects.

Changing it to this:

(dm relatedArticles2> (U A Limit Tresh)
   (solve
      (quote
         @Rng (cons Tresh T)
         @A A
         (select (@Sim)
            ((a1 +Similarity @A))
            (range @Rng @Sim value)))
      @Sim))

And testing it results in the proper list with objects, in this case I
know that A is in fact a1 because I generated the +Similarity objects
in that way to facilitate testing, however, in the real application A
could be either a1 or a2.

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?

Cheers,

/Henrik
-- 
UNSUBSCRIBE: mailto:[EMAIL PROTECTED]

Reply via email to