GFQL Predicates
JSON object used to define a predicate used in an operations token to match nodes or edges.
There are multiple types of predicates, each of which is defined below. To make an operation object of a given predicate type, the property "type"
needs to be set to the string associated with that predicate.
IsIn Predicates
IsIn Parameters
This predicate returns true
if the tested value is equal to one of the values provided.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsIn", the type must be set to "IsIn" . |
options | any[] |
- | An array of values, one of which the argument must be equal to for the predicate to return true . Otherwise the predicate returns false . |
Example:
{
"type": "IsIn",
"options": [
"balloon",
"cake"
]
}
Numeric Predicates
GT Parameters
This predicate returns true
if the tested number value is greater than the value provided.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "GT", the type must be set to "GT" . |
val | number |
- | Number which the argument must be greater than for the predicate to return true . Otherwise the predicate returns false . |
Example:
{
"type": "GT",
"val": 9.5
}
LT Parameters
This predicate returns true
if the tested number value is less than the value provided.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "LT", the type must be set to "LT" . |
val | number |
- | Number which the argument must be less than for the predicate to return true . Otherwise the predicate returns false . |
Example:
{
"type": "LT",
"val": 9.5
}
GE Parameters
This predicate returns true
if the tested number value is greater than or equal to the value provided.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "GE", the type must be set to "GE" . |
val | number |
- | Number which the argument must be greater than or equal to for the predicate to return true . Otherwise the predicate returns false . |
Example:
{
"type": "GE",
"val": 9.5
}
LE Parameters
This predicate returns true
if the tested number value is less than or equal to the value provided.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "LE", the type must be set to "LE" . |
val | number |
- | Number which the argument must be less than or equal to for the predicate to return true . Otherwise the predicate returns false . |
Example:
{
"type": "LE",
"val": 9.5
}
NE Parameters
This predicate returns true
if the tested number value is not equal to the value provided.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "NE", the type must be set to "NE" . |
val | number |
- | Number which the argument must be not equal to for the predicate to return true . Otherwise the predicate returns false . |
Example:
{
"type": "NE",
"val": 9.5
}
Between Parameters
This predicate returns true
if the tested number value is between to the lower and upper bound values provided. The test for both bounds can be made inclusive or exclusive.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "Between", the type must be set to "Between" . |
lower | number |
- | Number which the argument must be greater than for the predicate to return true . Otherwise the predicate returns false . |
upper | number |
- | Number which the argument must be less than for the predicate to return true . Otherwise the predicate returns false . |
inclusive | bool |
true | Boolean value that determines whether the greater than or less than checks above are inclusive or not. |
Example:
{
"type": "Between",
"lower": 1.5,
"upper": 9.5,
"inclusive": false
}
IsNA Parameters
This predicate returns true
if the tested number value is NA
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsNA", the type must be set to "IsNA" . |
Example:
{
"type": "IsNA"
}
NotNA Parameters
This predicate returns true
if the tested number value is not NA
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "NotNA", the type must be set to "NotNA" . |
Example:
{
"type": "NotNA"
}
String Predicates
Contains Parameters
This predicate returns true
if the tested string value either contains a given substring or returns a regular expression match.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "Contains", the type must be set to "Contains" . |
pat | string |
- | String containing the substring the predicate looks for in the argument or a regular expression string to apply to the argument. |
case | bool |
true |
Boolean value that determines if case is considered for substring match. |
flags | number |
0 |
Number value that allows regular expression flags to be applied when using regular expresion patterns. See here for more information on options available. |
regex | bool |
true |
Boolean value that determines if the "pat" string is interpreted as a regular expression. |
Example:
{
"type": "Contains",
"pat": "rain"
}
{
"type": "Contains",
"pat": "[a-z]",
"regex": true
}
Startswith Parameters
This predicate returns true
if the tested string value starts with a given substring or returns a regular expression match corresponding with the start of the string.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "Startswith", the type must be set to "Startswith" . |
pat | string |
- | String value containing the substring the predicate looks for in the argument or a regular expression string to apply to the argument. |
na | string |
- |
String value that should be used if the argument is null. |
Example:
{
"type": "Startswith",
"pat": "S"
}
Endswith Parameters
This predicate returns true
if the tested string value ends with a given substring or returns a regular expression match corresponding with the end of the string.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "Endswith", the type must be set to "Endswith" . |
pat | string |
- | String value containing the substring the predicate looks for in the argument or a regular expression string to apply to the argument. |
na | string |
- |
String value that should be used if the argument is null. |
Example:
{
"type": "Startswith",
"pat": "e"
}
Match Parameters
This predicate returns true
if the tested string value either matches a given string or returns an exact regular expression match.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "Match", the type must be set to "Match" . |
pat | string |
- | String containing the string the predicate looks for in the argument or a regular expression string to apply to the argument. |
case | bool |
true |
Boolean value that determines if case is considered for string match. |
flags | number |
0 |
Number value that allows regular expression flags to be applied. See here for more information on options available. |
Example:
{
"type": "Match",
"pat": "Munich"
}
IsNumeric Parameters
This predicate returns true
if the tested string value only contains numeric characters which includes integers, subscripts, superscripts, Roman numerals, and fractions. Negative numbers or fractions or non-integer numbers are not considered numeric values due to the presence of non-numeric characters.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsNumeric", the type must be set to "IsNumeric" . |
Example:
{
"type": "IsNumeric"
}
IsAlpha Parameters
This predicate returns true
if the tested string value only contains alphabetic characters. Characters from other symbolic or alphabetic languages are also considered alphabetic characters. White-space characters and punctuation characters are not considered alphabetic characters.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsAlpha", the type must be set to "IsAlpha" . |
Example:
{
"type": "IsAlpha"
}
IsDigit Parameters
This predicate returns true
if the tested string value only contains digit characters which includes integers, subscripts, superscripts.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsDigit", the type must be set to "IsDigit" . |
Example:
{
"type": "IsDigit"
}
IsDigit Parameters
This predicate returns true
if the tested string value only contains digit characters which includes integers, subscripts, superscripts.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsDigit", the type must be set to "IsDigit" . |
Example:
{
"type": "IsDigit"
}
IsLower Parameters
This predicate returns true
if the tested string value only contains lowercase string characters.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsLower", the type must be set to "IsLower" . |
Example:
{
"type": "IsLower"
}
IsUpper Parameters
This predicate returns true
if the tested string value only contains uppercase string characters.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsUpper", the type must be set to "IsUpper" . |
Example:
{
"type": "IsUpper"
}
IsSpace Parameters
This predicate returns true
if the tested string value only contains white-space string characters.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsSpace", the type must be set to "IsSpace" . |
Example:
{
"type": "IsSpace"
}
IsAlnum Parameters
This predicate returns true
if the tested string value only contains alphabetic or numeric string characters.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsAlnum", the type must be set to "IsAlnum" . |
Example:
{
"type": "IsAlnum"
}
IsDecimal Parameters
This predicate returns true
if the tested string value only contains decimal characters which includes integers. Subscripts, superscripts, Roman numerals, and fractions are not considered decimal numbers.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsDecimal", the type must be set to "IsDecimal" . |
Example:
{
"type": "IsDecimal"
}
IsTitle Parameters
This predicate returns true
if the tested string value is only in title-case.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsTitle", the type must be set to "IsTitle" . |
Example:
{
"type": "IsTitle"
}
IsNull Parameters
This predicate returns true
if the tested string value is null.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsNull", the type must be set to "IsNull" . |
Example:
{
"type": "IsNull"
}
NotNull Parameters
This predicate returns true
if the tested string value is not null.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "NotNull", the type must be set to "NotNull" . |
Example:
{
"type": "NotNull"
}
Temporal Predicates
IsMonthStart Parameters
This predicate returns true
if the tested datetime value is the first day of the month.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsMonthStart", the type must be set to "IsMonthStart" . |
Example:
{
"type": "IsMonthStart"
}
IsMonthEnd Parameters
This predicate returns true
if the tested datetime value is the last day of the month.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsMonthEnd", the type must be set to "IsMonthEnd" . |
Example:
{
"type": "IsMonthEnd"
}
IsQuarterStart Parameters
This predicate returns true
if the tested datetime value is the first day of the quarter.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsQuarterStart", the type must be set to "IsQuarterStart" . |
Example:
{
"type": "IsQuarterStart"
}
IsQuarterEnd Parameters
This predicate returns true
if the tested datetime value is the last day of the quarter.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsQuarterEnd", the type must be set to "IsQuarterEnd" . |
Example:
{
"type": "IsQuarterEnd"
}
IsYearStart Parameters
This predicate returns true
if the tested datetime value is the first day of the year.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsYearStart", the type must be set to "IsYearStart" . |
Example:
{
"type": "IsYearStart"
}
IsYearEnd Parameters
This predicate returns true
if the tested datetime value is the last day of the year.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsYearEnd", the type must be set to "IsYearEnd" . |
Example:
{
"type": "IsYearEnd"
}
IsLeapYear Parameters
This predicate returns true
if the tested datetime value is in a leap year.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "IsLeapYear", the type must be set to "IsLeapYear" . |
Example:
{
"type": "IsLeapYear"
}
Categorical Predicates
Duplicated Parameters
This predicate returns true
if the tested value is has been duplicated elsewhere in the data.
Parameter | Type | Default | Description |
---|---|---|---|
type | string |
- | String determining the predicate to use. To set this predicate to "Duplicated", the type must be set to "Duplicated" . |
keep | string | bool |
False |
String or boolean value determining how duplicate value marking is handled. Valid values include "first" which returns all duplicates as true except the first occurance, "last" which returns all duplicates as true except the last occurance, and false which returns all duplicates as true including first and last values. |
Example:
{
"type": "Duplicated",
"keep": "first"
}