[tmql-wg] Negation in the different TMQL candidates

Dmitry dmitryv@cogeco.ca
Wed, 31 Mar 2004 08:17:05 -0500

On Mar 30, 2004, at 6:53 AM, Rani Pinchuk wrote:

> Dear all,
> I would like to ask how the different candidate TMQL languages deal
> with negations similar to in the use-cases.
> Robert Barta wrote already about it:
>>  If you have
>>      in-location->container.id != 'case'
>>   does this now mean that you select all assocs of type 'in-location'
>>   which have a 'container' role and check whether all players of this
>>   role are NOT 'case'? Is it a
>>     "not some roles satisfy it"
>>     "there is one which does not satisfy it"
>>   How can I control the two cases? We have cases
>>     "not one satisfies it"  (the same as "all do not satisfy it")
>>     "at least one satisfies it"
>>     "all satisfy it"

TMPath has default "existence"  quantification in "=" and "!=" 
operators.  Both operators are applied to sequences which are already 
"generated" by TMPath expressions.

"!=" is true if there is at least one element in left sequence and at 
least one in right sequence which are not equal

TMPath has also explicit "every $X in ... satisfies ..."  and "some $X 
in .... satisfies ..." expressions.

In some cases FLOR expressions are used to provide equivalent of SQL 
left joins