我想检查是否有任何组件可以让我获得基本规则引擎。引擎应该能够接收一个规则字符串,这将是基本的逻辑规则,将返回 TRUE 或 FALSE。它应该接受一个用于输入的字符串映射和一个用于比较目的的字符串映射。
示例 1:
I want to check if the Object is of type "Apple"
The text rule would say "OBJECT_TYPE=="FRUIT" & FRUIT_TYPE=="Apple""
If Input is MAP1 ==> { (OBJECT_TYPE->FRUIT),(FRUIT_TYPE->Apple) }
MAP2 ==> NULL
Output should be TRUE
If Input is MAP1 ==> { (OBJECT_TYPE->FRUIT),(FRUIT_TYPE->Orange) }
MAP2 ==> NULL
Output should be FALSE
示例 2:
I want to check if the Object is of type "Apple" and group with size
The text rule would say "OBJECT_TYPE=="FRUIT" & FRUIT_TYPE=="Apple""
If Input is MAP1 ==> { (OBJECT_TYPE->FRUIT),(FRUIT_TYPE->Apple), (SIZE->BIG) }
MAP2 ==> {(SIZE==BIG)}
Output should be TRUE
If Input is MAP1 ==> { (OBJECT_TYPE->FRUIT),(FRUIT_TYPE->Apple), (SIZE->SMALL) }
MAP2 ==> {(SIZE==BIG)}
Output should be FALSE
这个想法是根据逻辑规则比较 2 个映射并返回 TRUE 或 FALSE。它还应该支持算术逻辑,例如规则中的权重 > 50,因此对输入映射进行相同的检查。系统的输出可以是 TRUE、FALSE、INPUT MAP 未完全填充、规则错误等。
有谁知道某些开源是否已经提供了这种类型的功能?