equals !!!

Dave Matthews matthews at GREENGENES.CIT.CORNELL.EDU
Thu May 15 13:00:30 EST 1997


> > Hi Jean, there's still a problem with querying Texts.  'find image
> > pick_me_to_call = display' returns no hits.  Either '*display' or
> > 'display*' or '"display"' works, but not without * or enclosing quotes.
> 
> the problem comes from the fact that Display is a tag in your system

Yikes!  The oldest gotcha in the book.
But wait...  I thought this was only a problem when querying directly for
objects by name.  E.g. 'find colleague fax' finds colleagues with a value
for tag Fax and not colleagues whose name is Fax.

> your case is a bit different you say
> 
> Pick_me = Display

That's right, the "=" means I'm looking for the value of tag Pick_me to
match the argument, interpreted as a literal string.
But wait...

> suppose you want to find fat people you say
> 
> Size = Weight
> 
> here you hope that weight is a tag with a numerical value
> to force nunmerical evaluationyou can put []

What??!!  The argument of "=" can be a tag whose _value_ is substituted?
I never knew that.  I can't find it in any of the xace Help or AGIS ACEDB
documentation either.  But it seems to be true.  For these records,

  Trait_scores : "A"
  Score 9
  Standard_deviation 9

  Trait_scores : "B"
  Score 9
  Standard_deviation 30

the query 'find trait_scores score = [standard_deviation]' finds A and not
B.  The [] are required on the right-hand-side.

This doesn't work for string comparisons though.

So, if there is an "=" and the argument has no [], would it be reasonable
to always treat the argument as a literal string?

- Dave




More information about the Acedb mailing list