System został stworzony w celu pomocy rowerzyście wyboru odpowiedniego dla jego potrzeb typu roweru. Zadaniem systemu jest, po zadaniu rowerzyście pytań dotyczących jego jazdy i wymagań sprzętowych, dopasowanie jednego z kilku podstawowych typów rowerów. Po przenalizowaniu faktów, system wskazuje rowerzyście jakim typem roweru powinien się zainteresować. W przypadku rowerzysty, który ma szczególne wymagania lub jego odpowiedzi nie są jednoznaczne i nie prowadzą do wyboru konkretnego typu roweru, system proponuje konsultację ze sprzedawcą.
knowledge base wybor_typu_roweru //początek bazy wiedzy
facets //fasety - wykaz wszystkich atrybutów używanych w bazie wiedzy
single yes; //deklaruje że w bw może wystąpić ty lko jeden fakt zawierający atrybut
jazda: //deklaracja atrybutu
query " Wybierz miejsce w którym jeździsz:" //definicja pytania o wartość atrybutu
val oneof { "góry", "miasto", "asfalt", "skatepark", "inne" }; //deklaracja zbioru wartości atrybutu
trudna:
query "Czy lubisz jeździć po trudnych terenach i niebezpiecznych?" val oneof { "tak", "nie" };
amortyzatory:
query 'Czy rower ma mieć amortyzatory?" val oneof { "tak", "nie" };
hamulce:
query "Czy rower ma mieć hamulce tarczowe?" val oneof { "tak", "nie" };
szybkosc:
query 'Czy lubisz szybką jazdę?" val oneof { "tak", "nie” };
ścieżki:
query 'Czy w twoim mieście są ścieżki rowerowe?" val oneof { "tak", "nie" };
teren:
query "Czy również lubisz jeździć po terenie?" val oneof { "tak", "nie" };
rower:
ask no; //system nie może stawiać pytania dotyczące danego atrybutu
end; //koniec bloku opisu faset