规则文件内容
关键词
关键字 | 描述 |
---|---|
package | 包名,逻辑上的管理,在进行Kbase加载的时候可以使用到 |
import | 规则引用问题,导入类或者方法 |
global | 全局变量,使用时候需要单独定义变量类型 |
function | 自定义函数 |
queries | 查询 |
rule | 规则开始,参数是规则的唯一名称 |
rule | 规则属性,是rule与when之间的一些参数,为可选项 |
when | 规则条件部分,默认为true |
then | 规则的结果部分 |
end | 规则结束 |
绑定变量
由于在规则运行时可能需要绑定一些变量,而如果传递多个对象时候,如何进行一一绑定呢?那么该功能就出现了
rule "pattern-demo"
when
/**表示要符合才会执行**/
$p1:Person(name=="小米") $p2:Person(name=="小明")
then
System.out.println($p1);
System.out.println($p2);
end
语法: [绑定变量名:Object(Field约束)]
上面的说明:将Person中名字为小米的赋值给$p1变量
逻辑计算
- 逻辑计算 :+ - * /
- 取余计算注意需要使用括号包裹:%
- contains |not contains :是否包含
- memberOf |not memberOf 是否为某个集合中的一员
- matches |not matches 正则匹配
注释
- 单行注释 //
- 多行注释 /***/