Condition descriptor¶
Conditions are the kernel objects of the system, since they are atomic objects that are used in Filtration procedures.
Filters are just list of conditions, conjunction of them. So it is important functionality for user to define and modify conditions interactively in Filtering regime.
In context of decision tree conditions have form of decision tree atomic condition, and the user can modify them in interactive way in Decision tree work page.
Atomic conditions¶
Format for numeric property¶
[
list"numeric"
[
list]
]
Format for enumerated property¶
[
list"enum"
"OR"
or "AND"
or "NOT"
[
list of strings ]
]
Comments¶
Format of condition allows to define conditions for both status and multiset properties with some remarks
- In case of status property join mode
"AND"
is out of sense. Otherwise it selects variants for which all the selected values are set on for the property.
- In case of status property join mode
Join mode
"NOT"
is just negation to join mode"OR"
For single value selection (length of array in position [3] is 1) there is no difference between join modes
"OR"
and"AND"
Format for function condition¶
[
list"func"
"OR"
or "AND"
or "NOT"
[
list of strings ]
]
Comments¶
See Filtering functions for functions definition and reference.
All notes to condition for enumerated property are actual in this case too.
Different functions have different format of function arguments (position [4]) and their own specific check if condition is good for this function.
Available functions and their arguments are documented in Filtering functions
Complex condition constructions¶
In context of decision tree conditions can have complex structure, with support of full set of constructive logical combinations. Here is the list of supported constructions:
[]
[null]
["or"
, list of sub-conditions ]
"or"
["and"
, list of sub-conditions ]
"and"
["not"
, condition ]
["error"
, none or all condition, source condition ]
Comment. Instruction "error"
is used for internal purposes in case when condition is not proper, so a simpler condition, either none or all is used on evaluation. But this artificial construction allows us to keep "original meaning" of instruction, so it allows us to modify complex conditions even when they are not proper.
Comments¶