Using Logic Within a Query
The Metamorph search uses Set Logic instead of Boolean Logic. Set Logic provides
the user a more understandable and powerful group of operations.
In the Metamorph search there are five types of sets:
- A set of words or phrases (Generally having the same meaning)
- The set of patterns that match a wildcard expression
- The set of quantities that match a specified value range
- The set of patterns which approximate a given template (fuzzy set)
- The set of patterns that match a given Regular Expression
The default logic for any query is to 'AND' together the 'OR-ed'
members of a set. If you enter the query: '#>10 brown cows',
the program will search with the following Boolean Logic equivalent:
(
( 11 or 12 or 13....) AND ( cows OR cattle OR herd...)
AND ( amber OR auburn OR bay OR bronze OR chestnut OR chocolate OR cinnamon OR drab... )
) WITHIN A SENTENCE
See the '+' (mandatory) operator below.
If you wish to only find non-brown cows you may use the 'NOT'
operator '-' in the form: '#>10 -brown cows'. This will
result in the Boolean equivalent of:
(
( ( 11 or 12 or 13....) AND ( cows OR cattle OR herd...) )
AND NOT ( amber OR auburn OR bay OR bronze OR chestnut OR chocolate OR cinnamon OR drab... )
) WITHIN A SENTENCE
The Metamorph equivalent to the Boolean 'OR' is available via two methods.
The first (and most common) is to simply enter a word or phrase and let the
Thesaurus build the list of OR-ed terms. The second method is to place the
entire set of terms within parentheses separated by commas; i.e.,: '(a,b,c)'.
The advantage of using the Thesaurus method is that once you have built a set list
you never have to do it again.
For more information see
Toggling Equiv Expansion
and
Thesaurus Customization
within the manual.
The 'X of Y' (permutation) operator has no Boolean counterpart, and is
one of the more powerful benefits of set logic. Its purpose is to find sets
of things in combination.
Let's say we want to find meetings between any three of the following people:
Clinton, Foster, Myers, Yeltsin, Mubarak, and Dole. To phrase this as a Metamorph
query you would simply type: '@2 Clinton Foster Myers Yeltsin Mubarak Dole'.
This means "Find 2 intersections of any of the sets."
If we were to attempt that query in Boolean, we would be typing all day:
(Clinton AND Foster AND Myers) OR
(Clinton AND Foster AND Yeltsin) OR
(Clinton AND Foster AND Mubarak) OR
(Clinton AND Foster AND Dole) OR
(Clinton AND Foster AND Dole) OR
(Clinton AND Yeltsin AND Myers) OR
(Clinton AND Mubarak AND Myers) OR
(Clinton AND Dole AND Myers) OR (AND ON AND ON.......)
The '+' (mandatory) operator is usually used in conjunction with the
'@X' operator. It means "This set must be there". For example,
if we wanted to know if "Clinton" met with any two of the other people
in the last example, we would enter the query:
'+Clinton @1 Foster Myers Yeltsin Mubarak Dole'.
Examples:
- john marsha
- finds: John AND Marsha
- ~bush ~growing -george
- finds: (Any meaning of: bush) AND (Any meaning of: growing) AND NOT George
- software sales -~microsoft
- software AND sales AND NOT (Any meaning of: Microsoft)
- +~transfer +~stock +#>0<1 @1 ibm motorola microsoft dell compaq
- (All meanings of: transfer) AND (All meanings of: stock) AND
(All quantities that represent positive fractions)
AND (ANY TWO OF: ibm, motorola, microsoft, dell, compaq)
notes:
For more information see
Intelligent Text Search Queries
within the Texis Manual or the
Metamorph Manual.
back up
Copyright © 1996 Thunderstone Software