2014-02-12 16 views
0

我最近開始研究drools。我想創建一個drl文件,我可以根據規則的優先級來選擇。 說: 規則1:說的價格,如果大於1000不買 規則2:如果說700和1000之間的價格談判規則中的顯着性值(drl)

因此,如果第1箇中斷(即價格高於1000 );這是毫無意義與規則繼續2.

所以,請你指導我如何去用這些場景

此外,在Drools的任何好的教程,以及如何創建口水文件將有很大的幫助。

在此先感謝!

回答

1

以下兩個規則定義可以用於您的用例。

rule 1 
when 
    $item: Item (price > 1000) 
then 
    modify ($item) { 
     doNotBuy = true 
    } 

rule 2 
when 
    $item: Item(price>1000, price<700) 
then 
    modify($item) { 
     negotiate = true 
    } 

民生之本與Drools的是,它會評估when部分你的規則和決定規則的一部分then是否要執行。除了在when部分寫入有意義的條件之外,您不需要做任何事情。

salience是一個完全不同的野獸,我建議你遠離它,至少直到你熟悉流口水。

+0

的解釋是非常好的,但你可以請給我鏈接到一些教程,我可以研究如何制定這樣的規則 – D3X

+1

我真的不知道爲什麼你不能使用谷歌來找到一些鏈接。推薦關於Drools的東西是「不確定」的,因爲它發展得非常快;書可能已過時... http://www.google.at/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDQQFjAA&url=http%3A%2F%2Fwww.redhat.com %2Frhecm%2Frest-rhecm%2Fjcr%2Frepository%2Fcollaboration%2Fsites%2520content%2Flive%2Fredhat%2Fweb櫃%2Fhome%2Fresourcelibrary%2Fwhitepapers%2Fbrms設計圖案%2Frh%3ApdfFile.pdf&EI = vnv7UqbUJIfMtAbfooD4DA&USG = AFQjCNGNLv6wq17O8 - L_J5cTl5SdamVCA&SIG2 = 3b_7N5ItNyT974FRHacUVQ&bvm = bv.61190604,d.Yms – laune

+0

Drools文檔將是一個很好的起點。 http://docs.jboss.org/drools/release/5.2.0.Final/drools-expert-docs/html/ch09.html –

1

不要試圖通過應用突出來模擬生產系統中的過程行爲。沒有「繼續[另一個]規則」這樣的事情。考慮規則引擎同時評估所有條件,並編寫約束條件,以便所有規則都相互獨立。

至於書籍,谷歌會找到你一些,你也可以搜索生產系統的設計模式。

+0

請你分享一些鏈接,其中一個教程或給出的參考文獻 – D3X

相關問題