Parameters

Parameters are used to determine the Classes, Names, Attributes and other settings used by a node when building Rules and Actions. These Parameters are all configured in the Right Hand Panel of the Rule and Action Builder Interface.

An overview of the Rule Builder interface with the Parameters highlighted in the right-hand panel.
An example set of Parameters highlighted in the right-hand panel

     Note: Values which are passed into a Session, to be used whilst the Session runs, are called Session Parameters and are a different concept to the Parameters detailed on this page.

Class Parameters

The Class parameter is used in Rules and Actions for two reasons, and some Rule and Action Nodes will require that you define a Class parameter to be valid. The reasons to use Class Parameters are:

  • It identifies a Class to be bought into scope.

         Note: Scope, when used on this page, refers to the Objects available for reference in a particular part of a Rule or Action. Only Classes in the Context, Standard Classes and System Classes (such as the Singleton Class) can be pulled into scope.

  • It references a Class that has already been bought into scope in a preceding node of the Rule or Action Logic.

Assigning the Class Parameter

A Class parameter is assigned by selecting a node, then selecting the Class from the dropdown menu in the Right hand Panel.

If no class parameter is defined on the Root Node it will default to All Standard Class.

An overview of the Rule Builder interface with the Class Parameter highlighted in the right-hand panel.
The Class parameter bringing BUILDING into scope on a Root node

     Note: Remember that Context determines which Data Store is used to populate the list of Classes available to a Rule or Action. However, Standard Classes and System Classes are always available to pick.

Name

A Name uniquely identifies objects in the same Class that are tested against each other in clauses and subclauses of a Rule or Action. Names can be defined whenever a Class is first referenced, for instance:

  • The Root Class for a Rule or Action.

  • Other nodes that bring Objects into the scope of the Rule or Action, and therefore need the class of the other objects to be picked, such as the Existence, For All, Aggregate and Nearest Predicates.

Once a name is assigned you can select it in the right hand panel from subsequent nodes with the Name dropdown menu.

Using Names

Key reasons to apply a Name are:

  • The disambiguation between objects of the same Class in the same scope, preventing an Object from checking against itself. This use case is similar to the Rule in the Fire stations with the Name parameter "A" and "B" example below.

  • To give some Objects meaningful labels, even when disambiguation is not necessary.

     Example: Fire stations with the Name parameter "A" and "B"

 Rule with description: Check for FIRE_STATION objects A that there are at least 5 FIRE_STATION objects B for which FIRE_STATION:B.geometry is within 10000m of FIRE_STATION:A.geometry

The Name "A" and "B" distinguishes between the root object and objects found in the subclause, both of which have the same Class Parameter FIRE_STATION and come from the same Class.

Attribute Parameters

The Attribute parameter identifies the Attribute to be used. You will only be able to select Attributes from within the Class you have chosen for that node.

An Attribute parameter is assigned by selecting a node, then selecting an option from the Attribute dropdown menu.

Other Parameters

There are many other parameters that can be set on nodes such as Quantity and Qualifiers, and their use will be dependent on the function the node is performing.