> > 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
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.