The format of the RELATION1 operator is:
Control@ EQV RELATION1(RelationInvocation, TimeControl@, Object1)
(the operator is usually built by a user tool other than the Editor, such as an NLP Parser)
There is a simpler form - see Relation Building
The operator links control and existence to a relation on its parameter. Each of the connections can function as an input or an output, allowing the operator to display a wide range of behaviour.
The parameters control the operation of the RELATION1 function:
Control@ - can be True or False when the operator is acting as an assertion, or can have a Bayesian value when the operator is being used as a test (shown as Maybe in the figure).
RelationInvocation - an invocation of a relation - Grouping etc. This object can then be used to represent the relation when used in other relations, as
Control1@ EQV RELATION1(Grouping1, Time1@,{Fred, Olga})
This connection can be an output, where the RELATION1 operator determines the type of relation on its parameters.
TimeControl@ - an existence link.
Parameter1 - a parameter which may be an object or a relationlist.
The combination of RELATION1, RELATION2, RELATION3 allows for a wide range of behaviour usually modelled in distinct formalisms - database, predicate logic, time logic, CPM.