Values

A value is a constant, a reference to objects, or a calculation. Values are compared using Relations, or returned in Predicates or a Value-based Function.

Dynamic

Value Description Parameter(s) Child Nodes

Attribute Value

A dynamic value evaluated by reading the value of an attribute from an object.

You must specify the class of the object and the attribute to read.

Values will be sorted depending on their status as Indexed or Unindexed during selection.

  • Class
  • Name
  • Attribute

N/A

Class Name

Returns the name of the class of an object. The object is specified by the class label or object label pair.

      Note: If the class value is omitted from a rule definition then all classes in the dataset are queried.

N/A

Named Lookup Value

A Named Lookup Value is used to read a value from a Lookup Data Store based on the Key you provide.

When the Node is executed, the Lookup Data Store is read, and the value associated with the key you provide is returned.

      Note: If the Key does not exist in the Data Store, an error is thrown.

For additional information, please refer to Lookup Schema.

  • Lookup Data Store

  • Selected Value

N/A

Nested Value

A nested value extracted from within another complex value. To use this value, an attribute must have a child value in the schema.

The value is specified by declaring the attribute path to the required level.

These are used in two ways:

  1. Some custom data stores or built-in functions allow attributes that are structures containing a number of sub-attributes.
  2. Some custom built-in functions return objects. A nested value allows you to access attributes of these objects, because they are not accessible via an attribute value as the object is not ‘in scope’.
  • Attribute N

  • Value

Object or Element Value

An object or an element from a collection (either an array or a reference).

These are used in two ways:

  1. To access a whole object directly, e.g. to compare objects to check whether they are or the same object or not, or to pass an object in to a built-in function or store it as a temporary value. In this case, users specify the class and, if required, the name alias of the object.
  2. To access an element when looping through a collection or array. One example is to use a “For All in Collection” or “Loop over a Collection” over a geometry in order to access each part of the geometry. Within the loop, access the element using this Object or Element value, leaving the class name blank but selecting the name specified by the loop.

N/A

Session Parameter Value

This is a value which can be used to access a Session Parameters that has been set on the Session. It is used to provide Session-specific values when it runs.

If you try and use a Session Parameter Value that has not been defined on a Session then you get an error.

Session values can also be assigned new values within an Action.

Specify the name of the Session parameter to read.

      Note: The Parameter Name you provide must match the name of the Session Parameter exactly. It is case sensitive.

  • Parameter Name

N/A

Static

Value Description Parameter(s) Child Nodes

Cast

The cast node allows you to assert that you know that an object will be a specific class, or that you want to pretend it is of that class. This allows you to use attributes from that class in the Rule or Action builder that would not show them otherwise.

See Cast Node for more information.

  • From Class

  • From Name (optional)

  • To Class

  • To Name (optional)

N/A

Constant (Static) Value

A Constant Value is fixed, and does not change.

This can be used on either side of a comparison condition or as part of a more complicated expression.

It can be a boolean, an integer, a real (floating point), a string (text), or timestamp. You must specify both the type of value, and the value itself.

  • Data Type
  • Value

N/A

Null Value

A Null value always evaluates as null.

This can be used to verify if an object attribute value or the result of a calculation is null.

      Note: Searching on a null value is not valid for arrays.

N/A

N/A

Temporary

Value Description Parameter(s) Child Nodes

Temporary Value

A temporary value is initially null and can be used to hold temporary results during an action.

      Note: A temporary value can be used in an action but not in a rule.

The value may have either Object, Task, or Session scope.

  • Object, the value will be reset to null before the action is applied to each Object.

  • Task, the value will be reset to null only at the start of each Task.

  • Session, the value will persist between tasks for the duration of the Session and will be populated by the most recent value assigned. When you rewind, this value will return to the temporary value assigned at that point in the Session.

      Note: The data type selection is optional and should always be left blank for Boolean, Real, Integer, Integer64, String, Timestamp, Geometry datatypes. If you wish to set the datatype of temporary value to be an UDT then please select the context.

N/A

Built-in

Value Description Parameter(s) Child Nodes

Aggregate Value

Calculates a single value by combining others, using functions such as Count, Sum, Average, max, min or geometric union.

This Value should have a Predicate to test and zero or more child values.

This Value is computed by aggregating the values over any objects that are satisfied by the Predicate.

There are a number of different types of Aggregate Functions. Additionally, detailed information on the child values required are provided within 1Integrate.

  • Function Name
  • Class
  • Name

Varies by Function

Built-in Function Value

A value which is computed by applying the specified built-in function to one or more parameters.

There are typically one or more child values of this element, to specify the parameters which will be passed to the function.

When a function has been selected from the list of all possible built-in functions, a help icon provides a tool tip with information about the parameters required by this function.

See Built-in Functions.

  • Function Name

Varies by Function

Branch

Value Description Parameter(s) Child Nodes

Conditional Value

This value should have a Predicate condition to test and two child values to choose between.

  • If the condition is true, the result is the first child value.

  • If the condition is false, the result is the second child value.

N/A

  • Predicate (If)
  • Value 1 (Then)
  • Value 2 (Else)

Execute Then Return

Execute the given operation then return the given value.

      Note: In the Rule builder the Value to return is displayed first. This is because this is read in before the Operation, and then returned.

  • Value (Return)

  • Operation (Execute)

Try…Catch

Returns the Try value unless it throws an exception, in which it will return the Catch value.

Useful to trap errors which would otherwise stop the object iteration or the session from continuing.

      Example: A string representing a date may not be valid when calling a function to convert it to a timestamp. Use this value to catch the error, use null instead and continue without an error.

N/A

  • Value 1 (Try)

  • Value 2 (Catch)

Mathematical Operators

     Note: Users of Mathematical Operators should be aware that computers cannot accurately represent decimal numbers such as 0.1, 0.2 or 0.3. This may lead to small rounding errors observed in the results of some operations such as 0.30000000000000004. This will need to be accounted for in your Rule or Action logic.

Value Description Parameter(s) Child Nodes

Add

This value should have at least two child values (integers or real numbers). The result is the sum of all child values.

Alternatively, the values can be string types, in which case they are joined together.

N/A

  • Value 1
  • Value 2
  • Value N (optional)

Divide

This value should have two child values (integers or real numbers). The result is obtained by dividing the first value by the second.

N/A

  • Value 1
  • Value 2

Multiply

This value should have two child values (integers or real numbers). The result is obtained by multiplying together all child values.

N/A

  • Value 1
  • Value 2
  • Value N (optional)

Negative

This value should have one child value (an integer or a real number), containing a sign that will be inverted.

For example, -1 becomes +1 and vice-versa.

N/A

  • Value

Remainder

This value should have two child values (integers or real numbers). The result is obtained by dividing the first value by the second, and taking the remainder.

N/A

  • Value 1
  • Value 2

Subtract

This value should have two child values (integers or real numbers). The result is obtained by subtracting the second value from the first.

N/A

  • Value 1
  • Value 2

Template

Value Description Parameter(s) Child Nodes

Rule and Action Templates

Import a Rule or Action Template.

The Template parameter allows you to choose existing Rule or Action Templates from the dialog that appears.

This only shows Rule or Action Templates and folders that contain them.

      Note: Rule or Action Templates will only be available from their corresponding Builders.

  • Template

  • Dependent on the template

Collection

Value Description Parameter(s) Child Nodes

Collection Element

This is a value equal to an element from an array or geometry.

The first child value should be the array or geometry.

The second child value should be the index into the array, starting from 0.

For multi-dimensional arrays or geometries, additional child values may be used as indexes into the nested arrays or geometries.

Multiple geometry types are supported:

  • If the geometry is a multi-geometry, return the nth child element.

  • If the geometry is a polygon, return the nth child ring as a line, where 0 is the outer ring, and 1+ refers to the inner rings.

  • If the geometry is a line, return the nth point.

  • If the geometry is a point, return the point itself.

N/A
  • Value (Collection or Geometry)

  • Value

      Note: At least one integer must be provided for indexing. Multiple values can be provided.