This is useful if the characteristics (properties) of an instance need to play a role in determining the next step in a process.
If a property doesn’t exist, you can choose to have a default value assigned to it.
p is Personget_attr(p, "age", 16) >= 18
atfinity dives in and looks up what the value of the attribute “age” is for the person in this case. If “age” is 18 or higher, this condition evaluates to true.
If “age” has not been provided, or “age” is not even a property of a person, the default value ‘16’ will be used. This means the condition ‘greater than or equal to 18’ evaluates to false.
We can also use an expression to choose which property to access.
p is Personget_attr(p, p.favourite_property)
Here, the system takes what a user has entered as
favourite_property to work with. If that property does not exist, the condition evaluates to ‘unknown’.