You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.
ISNULL
This function checks whether a value is unknown
Syntax
ISNULL ( expression )
- expression - Expression that is checked.
Return type
- boolean - TRUE of the attribute is unknown, FALSE otherwise
Examples
Suppose the following data model.
Person.name | Person.SequenceNumber |
---|---|
“Bob” | 654 |
“Jane” | ? |
Active Person | Expression | Result | Type |
---|---|---|---|
Bob | ISNULL ( Person.SequenceNumber ) | FALSE | Boolean |
Jane | ISNULL ( Person.SequenceNumber ) | TRUE | Boolean |
ISUNKNOWN
This function replaces a value if that value is unknown.
Syntax
ISUNKNOWN ( expression , value )
- expression- Expression of which the value has to be returned if that value is known.
- value - Value to return if the attribute value is unknown.
Return type
- any type, equals the attribute type
Examples
Suppose the following data model.
Person.name | Person.SequenceNumber |
---|---|
“Bob” | 654 |
“Jane” | ? |
“Mary” | 667 |
“Rick” | ? |
“Ron” | ? |
“Jenny” | 765 |
? | 111 |
Active Person | Expression | Result | Type |
---|---|---|---|
Jane - ? | ISUNKNOWN ( Person.SequenceNumber , 999 ) | 999 | Integer |
Mary - 667 | ISUNKNOWN ( Person.SequenceNumber , 999 ) | 667 | Integer |
? - 111 | ISUNKNOWN ( Person.Name , "customer" ) | "customer" | String |
Both parameters of the ISUNKNOWN
function must be of the same datatype. If they differ in datatype, you get this validation error in studio:
Could not find function: ISUNKNOWN matching arguments System.Collections.ArrayList
IS A
Use this function to check the type of an instance. The function returns TRUE if the selected instance is of the specified entity.
Syntax
instance IS A entity_name
- instance - Instance to check.
- entity_name - Name of the entity as string.
Return type
- boolean
Examples
Suppose a domain model in which there is a singleton entity Residence
that has a multivalued relation hasRooms
with Room
. Room
is the base entity for singleton Kitchen
and not singletons Bedroom
and Bathroom
.
If you want to determine the number of bedrooms is the residence:
COUNT ( COLLECT Room FROM Residence.hasRooms WHERE ( Room IS A “Bedroom” ) )
If you want to determine the number of bathrooms is the residence:
COUNT ( COLLECT Room FROM Residence.hasRooms WHERE ( Room IS A “Bathroom” ) )
TYPE OF
Use this function to determine the type of an instance. The function returns the name of the entity.
Syntax
TYPE OF base_entity
- base_entity - Name of the instance's base entity.
Return type
- string
Examples
Suppose a domain model in which there is a singleton entity Residence
that has a multivalued relation hasRooms
with Room
. Room
is the base entity for singleton Kitchen
and not singletons Bedroom
and Bathroom
.
- for the
Kitchen
instance the expressionTYPE OF Room = “Kitchen”
- for the
Bedroom
instances the expressionTYPE OF Room = “Bedroom”
ISACTIVE
Use this function to determine if an instance of a specific type is currently active.
ISACTIVE instances [WHERE condition]
- instances - instances to search
- condition - optional condition to limit the collection of instances to check
Return type
boolean - TRUE if one of the instances is active, FALSE otherwise
Singletons are always active, so
ISACTIVE
<singleton> will always returnTRUE
Examples
Suppose the following data model.
instance_id | Person.name | Person.Age |
---|---|---|
Person_1 | “Bob” | 14 |
Person_2 | “Jane” | 25 |
Person_3 | “Mary” | 30 |
Active Person | Expression | Result | Type | Note |
---|---|---|---|---|
None | ISACTIVE Person | FALSE | Boolean | |
Person_1 | ISACTIVE Person | TRUE | Boolean | |
Person_1 | ISACTIVE Person WHERE Person.Age >= 18 | FALSE | Boolean | |
None | ISACTIVE system | TRUE | Boolean | |
None | Person.Age >= 18 | Error | No Person is active | |
None | ( ISACTIVE Person ) AND Person.Age >= 18 | FALSE | Boolean | The expression is evaluated left-to-right and fails on ( ISACTIVE Person ) instead of giving an error |
GUID
This function is able to generate a globally unique identifier which can later be used to uniquely mark and recognize a desired element.
The GUIDs are represented as 32 hexadecimal digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters.
Syntax
GUID()
Return type
String - the generated GUID
Examples
Expression | Result |
---|---|
GUID() | 4a18d6a7-03c1-47f9-b6aa-eae7d746050e |
GUID() | 91d37298-23ec-4bd4-8523-9c7e7745cb9d |