Value variables
Behavior
Value variables are used in patterns with arithmetics or built-in functions to represent values in statements. Value variables are never persisted into a database and can be used only within the scope of a query or a rule.
To persist a value of a value variable, you can save it into a database by using an attribute type with a matching value type. Value variables can store a value of any value type supported by attributes.
Labels used for value variables can’t intersect with variables from concept variables To address a value variable in a query, use the variable’s label with a question mark as a prefix.
Usage
For this example, use a database with the IAM schema and sample data loaded.
To assign a value for a value variable, use the equal sign (=
) operator:
?summ = ?a + $b + 5;
Value variables can be used in a data query to represent a value without a type bound.
match
$f isa file, has size-kb $kb;
?mb = $kb / 1024;
insert $f has size-mb ?mb;
For more examples, see the Arithmetic page.