Using Logic Within a Query




AND NOT OR X of Y
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
Copyright © 2024 Thunderstone Software LLC. All rights reserved.