Prepositional maps use a variety of functions to prune alternatives. The functions may
have the same name as other functions and operators, but the Match directive in the map
link (see Prepositional Maps) causes them to prune out
inconsistent objects. For example, MIN will prune out all objects except the one with the
Where the function or operator normally has a logical connection, this can switch the
matching behaviour. If an EQUALS operator has a false control link, then all objects with
a value equal to the given one will be pruned out.
Where ranges exist, there may be several objects which meet the criterion. As example,
a MIN on
A - 2..20
B - 5
C - 10..20
D - 4..10
would retain A, B, D and prune C. Note that numeric objects are being propagated in
what normally would be numeric structure, supporting only numbers and ranges.
- Retains only the object (or objects) with a numeric or string value which equals the
- LESS, LESSEQ
- Retains only the object (or objects) with a numeric value which is less than the given
- Retains only the object (or objects) with the highest numeric value.
- Retains only the object with the lowest numeric value.
- The head of the operator (Pin 2) can be CurrentSection (Clause) or CurrentSentence. It
will then prune out objects which were not created by the current section or sentence.
- The parents of each object in the incoming set is found and checked whether it has the
given parent. An Actualise or Build causes an invocation to be created to the parent. The
children of an object can be checked by using this operator the other way, or a logical
value can be generated and propagated. See Finding
- A way of nesting map operation so individual objects can be selected on multiple
properties (similar to SQL SELECT).
See Map Directives in Prepositional Maps