Doradus Spider allows quantifiers (ANY,
ALL, and
NONE) on group fields. Group field quantification works as follows: Assume a group field G with
leaf fields F1, F2, … Fn. Quantifiers can be used on the group field G if all fields Fi are of the same type:
Q(union(F1, F2, ..., Fn))
In our example Msgs schema, the
Message table’s group field
Participants contains three links that all refer to the
Participant table:
ExternalRecipients,
InternalRecipients, and
Sender. Consider the following query:
ANY(union(ExternalRecipients, InternalRecipients, Sender).ReceiptDate) = [2013-01-01 TO 2013-01-31]
If ALL is used instead of
ANY, the overall expression is true only if all values in the set have a
ReceiptDate within the given range and the set is not empty.
If NONE is used, the overall expression is true if none of the objects in the set have a
ReceiptDate within the given range
or if the set is empty. Unlike
ANY and
ALL,
NONE quantification returns true if the set is empty.