drools 屬性篩選

2021-08-26 02:21:31 字數 1065 閱讀 8408

// 逗號分隔,相當於並列條件,必須同時滿足

person(name == "godme", age > 18)

// 物件真值用and, or;屬性關聯用 &&, || ;

// 其實都可以,但是推薦區分使用,劃分明了

person((name == "godme" && age > 25) || gender == "woman")

// 基本屬性數值判斷可分為兩類

// 1. 相等判斷

// 相等

person(name == "godme")

// 不等

person(name != "godme")

//2. 數值區間判斷

// 大於 >

// 小於 <

// 大於等於 >=

// 小於等於 <=

person( age <= 25)

// 包含關係

$pet:pet(name == "godme");

// 包含指定元素或物件

$person:person(pets contains $pet)

// 否定,不包含

$person:person(pets not contains $pet)

// 反向,屬於

$person:person($pet memberof pets)

// 否定,不屬於

$person:person($pet not memberof pets)

// 注意,駝峰式,o是大寫

// 正則

// 匹配

$person:person(phonenum matches "\\d+")

// 否定,不匹配

$person:person(phonenum not matches "\\d+")

// 注意:正則直接傳入正則字串即可,無需額外操作

// 同時注意特殊轉意字元,使用前需測試一遍

Drools屬性解析

salience 4 設定規則的優先順序 no loop true 設定該規則不進行迴圈執行相當於if activation group prints 規則組,如果此屬性名稱相同則表示在同乙個規則組,同乙個規則組的規則只會有乙個規則會被執行,具體先執行哪個根據優先順序而定 duration 5000...

Drools 規則檔案 語法屬性

1.salience 功能 設定規制執行的優先順序 值 數字 數字越大執行優先順序越高 示例 rule rule1 salience1 when eval true then system.out.println rule1 end 2.no loop 功能 控制已經執行的規則條件再次滿足是否再次執...

初探Drools 執行一組規則(篩選規則)

drools 版本是7.11的。自己對於drools的研究是按照需求進行學習的,所以這個系列也算是自己的學習過程。目前的需求是fact就乙個,但是規則有很多,需要將一些規則分組執行。通常來說 我們呼叫規則很簡單,建立fact 之後 利用session直接fireallrules就行了。不過自己也發現...