Не могу разобраться с 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)))

Ответы (0 шт):