REM Knowledge base for basic wine selection decisions REM APERITIF RULE [Choosing a full bodied aperitif] If [this wine] = "to be consumed before a meal (aperitif)" and [the preferred body] = "full" Then [a recommended generic wine type] = "dry sherry" RULE [Choosing a sparkling aperitif] If [this wine] = "to be consumed before a meal (aperitif)" and [the preferred body] : "medium" "light" and [a sparkling wine is preferred] = true Then [a recommended generic wine type] = "champagne or sparkling white" RULE [Choosing a non-sparkling aperitif] If [this wine] = "to be consumed before a meal (aperitif)" and [the preferred body] : "medium" "light" and [a sparkling wine is preferred] = false Then [a suggested varietal wine] = "Sauvignon blanc" and [a suggested varietal wine] = "Riesling" REM DINNER ENTREE RULE [Is the wine for a red meat entree?] If [this wine] = "to accompany an entree" and [the entree] : "roast beef" "steak" Then [the entree category] = "red meat" and [a recommended generic wine type] = "red burgundy" RULE [Is the wine for a white/light meat entree?] If [this wine] = "to accompany an entree" and [the entree] : "pork" "veal" "chicken" "turkey" Then [the entree category] = "white/light meat" RULE [Is the wine for Italian meat & cheese dish?] If [this wine] = "to accompany an entree" and [the entree] = "an Italian meat and cheese dish" Then [a recommended generic wine type] = "chianti" RULE [Is the wine for game or lamb] If [this wine] = "to accompany an entree" and [the entree] : "game" "lamb" Then [a recommended generic wine type] = "red burgundy" RULE [Is the wine for shellfish] If [this wine] = "to accompany an entree" and [the entree] = "shellfish" Then [a suggested varietal wine] = "Chardonnay" RULE [Is the wine for seafood] If [this wine] = "to accompany an entree" and [the entree] = "seafood (other than shellfish)" Then [the entree category] = "seafood" RULE [Seafood red color preference] If [the entree category] = "seafood" and [the preferred wine color] = "red" Then [a recommended generic wine type] = "rose" RULE [Seafood white color preference] If [the entree category] = "seafood" and [the preferred wine color] = "white" Then [a suggested varietal wine] = "Sauvignon blanc" RULE [Light meat red color preference] If [the entree category] = "white/light meat" and [the preferred wine color] = "red" Then [a recommended generic wine type] = "rose" RULE [Light meat white color preference] If [the entree category] = "white/light meat" and [the preferred wine color] = "white" Then [a recommended generic wine type] = "chablis" RULE [Consider a cabernet or merlot] If [a recommended generic wine type] = "red burgundy" and [the preferred body] = "full" Then [a suggested varietal wine] = "cabernet sauvignon" @ 95 and [a suggested varietal wine] = "merlot" @ 90 RULE [Consider a pinot noir] If [a recommended generic wine type] = "red burgundy" and [the preferred body] = "medium" Then [a suggested varietal wine] = "pinot noir" RULE [Medium dry varietal] If [a recommended generic wine type] = "chablis" and [the preferred taste] : "medium dry" "dry" Then [a suggested varietal wine] = "Chardonnay" REM DESSERT WINE RULE [Fruit-based dessert] If [this wine] = "to accompany dessert" and [the dessert] = "fruit or primarily fruit" Then [a suggested varietal wine] = "Riesling" RULE [Sweet dessert] If [this wine] = "to accompany dessert" and [the dessert] = "very sweet such as chocolate" Then [a recommended generic wine type] = "port" REM AFTER DINNER WINE RULE [After dinner] If [this wine] = "to be consumed after dinner" Then [a recommended generic wine type] = "port" MinCF 70 REM KB COMPONENTS BELOW MUST FOLLOW ALL RULES GOAL [a suggested varietal wine] GOAL [a recommended generic wine type] MAXVALS [a suggested varietal wine] 2 MAXVALS [a recommended generic wine type] 2 PROMPT [the preferred wine color] MultChoice CF "Which color of wine do you prefer?" "red" "white" PROMPT [the preferred body] MultChoice CF "Which body do you prefer in a wine?" "light" "medium" "full" PROMPT [the preferred taste] MultChoice CF "Which taste do you prefer in a wine?" "sweet" "medium dry" "dry" PROMPT [a sparkling wine is preferred] YesNo "Do you prefer a sparkling wine?:" PROMPT [the dessert] MultChoice CF "The dessert this wine will be served with will be:" "fruit or primarily fruit" "very sweet such as chocolate" PROMPT [this wine] MultChoice CF "This wine is:" "to be consumed before a meal (aperitif)" "to accompany an entree" "to accompany dessert" "to be consumed after dinner" PROMPT [the entree] Choice CF "The wine will be served with the following main course:" "chicken" "game" "an Italian meat and cheese dish" "lamb" "pork" "roast beef" "seafood (other than shellfish)" "shellfish" "steak" "turkey" "veal" DEFAULT [the preferred body] = "medium" @ 90 DEFAULT [a sparkling wine is preferred] = false @ 90