Alexander Burger <a...@software-lab.de> writes: Hi Alex,
>> > But in general, note that >> > >> > (select a1 +C) >> > >> > reads "SELECT a1 from C". This means, you specified no search criterion >> > at all. >> >> yes, but my point is I specifiy a class +C and I'm surprised that its >> superclasses are matched too as well as classes that don't even belong > > Yes, I understood that. Unfortunately, 'select' by itself doesn't filter > for specific classes (as, for example, the 'db' and 'collect' functions > do). > > It simply gathers objects it can detetct from the '+C' class, by picking > some index it believes to be representative (iirc it first looks for > some index of class '+Need', as this promises the most hits, and if that > doesn't exist it picks the tree with the largest number of entries). > > So one should not expect too much from the 'select' function. It is just > to allow a quick and convenient ad-hoc view on the database. It is a > frontend to the 'select' Pilog query, which needs to be programmed > explicityly and manually (using 'isa' Pilog clauses in such cases) for a > more precise search. Ok, thanks, I wasn't aware of this, and it might be good to give a hint about 'select's limitations in the reference/tutorial, because the way it is described there one would expect equivalent behaviour to sql SELECT, only somehow less powerful and efficient than pilog queries. -- cheers, Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe