Skip to content

Instantly share code, notes, and snippets.

; ; Rules for matching dishes with given preference
; ; Salience set to 1 so this rule will be fired at the end.
; ; (Other rules have salience = 2)
(defrule dishes-matching
(declare (salience 1))
(dish (ID ?ID) (name ?name) (cuisine ?cuisine) (is-vegetarian ?vegetarian) (has-soup ?soup)
(calorie-level ?calorie) (fiber-level ?fiber) (fat-level ?fat) (carb-level ?carb)
(spicy-level ?spicy) (salty-level ?salty) (sour-level ?sour) (sweet-level ?sweet)
(stars ?stars))
(preference (cuisine "?"|?cuisine)
(deffacts dishes
(dish (ID 1)(name "Bak kut teh") (cuisine "chinese") (is-vegetarian "FALSE") (has-soup "soup") (fat-level "low fat")(calorie-level "high calorie") (fiber-level "low fiber") (carb-level "low carb") (spicy-level "no spicy") (sour-level "no sour") (sweet-level "sweet") (salty-level "salty") (stars -1))
(dish (ID 2)(name "Frog Porridge") (cuisine "chinese") (is-vegetarian "FALSE") (has-soup "soup") (fat-level "low fat")(calorie-level "high calorie") (fiber-level "low fiber") (carb-level "high carb") (spicy-level "spicy") (sour-level "no sour") (sweet-level "sweet") (salty-level "salty") (stars -1))
(dish (ID 3)(name "Chilli Crab") (cuisine "chinese") (is-vegetarian "FALSE") (has-soup "soup") (fat-level "normal fat")(calorie-level "high calorie") (fiber-level "low fiber") (carb-level "low carb") (spicy-level "spicy") (sour-level "no sour") (sweet-level "no sweet") (salty-level "salty") (stars -1))
(dish (ID 4)(name "Chicken Chop") (cuisine "western") (is-vegetarian "FALSE") (has-soup "dry