Не могу разобраться с clips, фреймовая модель
У меня есть фрагмент программы на swi-prolog, нужно сделать аналог в CLIPS, помогите разобраться.
пк(пк_1, слот(системный_блок, системный_блок_1)).
пк(пк_1, слот(монитор, монитор_1)).
пк(пк_1, слот(устройство_вывода_звука_1)).
пк(пк_1, слот(устройство_ввода, устройство_ввода_1)).
пк(пк, слот(системный_блок, _)).
пк(пк, слот(монитор, _)).
пк(пк, слот(устройство_вывода_звука, _)).
пк(пк, слот(устройство_ввода, _)).
p1(X):-
пк(X,слот(Y,Z)),
write(Y),
write(': '),
writeln(Z),
fail.
p1(_).
монитор(монитор_1, слот(матрица, матрица_1)).
монитор(монитор_1, слот(корпус, корпус_1)).
монитор(монитор_1, слот(блок_питания, блок_питания_1)).
монитор(монитор_1, слот(плата_управления,плата_управления_1)).
монитор(монитор_1, слот(провода, провода_1)).
монитор(монитор, слот(матрица, _)).
монитор(монитор, слот(корпус, _)).
монитор(монитор, слот(блок_питания, _)).
монитор(монитор, слот(плата_управления, _)).
монитор(монитор, слот(провода, _)).
p2(X):-
монитор(X,слот(Y,Z)),
write(Y),
write(': '),
writeln(Z),
fail.
p2(_).
Пробовал так сделать в CLIPS'е для начала, но не выходит
(deftemplate computer
(slot example)
(slot examplar)
(multislot component))
(deffacts computer
(computer (exemple monitor) (exempler monitor_1))
(computer (exemple sound) (exempler sound_1))
(computer (exemple base) (exempler base_1))
(computer (exemple input) (exempler input_1)))
(deftemplate monitor
(slot example)
(slot examplar)
(multislot component))
(deffacts monitor
(monitor (exemple matrix) (exempler matrix_1))
(monitor (exemple power) (exempler power_1))
(monitor (exemple body) (exempler body_1))
(monitor (exemple board) (exempler board_1))
(monitor (exemple wires) (exempler wires_1)))