Drools and Mandarax
兩個項(xiàng)目做了兩件不同的事情: 一個是Forward Chaining,另一個是
backward chaining. Drools 是forward chaining的, 意味著 它對assert的對象反應(yīng),
事件驅(qū)動的. Mandarax 是 backward chaining的, 像 prologue一樣, 你問它問題,
它試圖給你它知道的答案. 舉例來說, 在使用Drools的時候, 你可能會先assert 給它今天的日期,
如果它發(fā)現(xiàn)有匹配的規(guī)則的手,它會用事件的方式通知你"今天是你的生日". 在 backward chaining 的系統(tǒng), 你可能先問
"今天是我的生日嘛?" 系統(tǒng)會搜索它知道的, 然后告訴你答案.
For an excellent explanation of forward and backward chaining read Charles Forgey's recent articles at
http://rulespower.com/ - Forward and Backward Chaining:
Parts 1, 2 and 3.