У меня есть шаблон, определенный следующим образом:
(deftemplate fact
(slot name)
(multislot field)
(multislot value))
Могу ли я указать это выше факт как слот / мультислот в другом шаблоне?
Например:
(deftemplate collection1
(slot fact1))
(deftemplate collection2
(slot fact1)
(slot fact2))
В приведенном выше желаемом шаблоне каждый слот-факт должен иметь определенный шаблон fact . Я хочу иметь такую коллекцию
много количество слотов. Или, по крайней мере, желаемым результатом является утверждение collection с полями, подобными шаблону fact .
Чтобы у меня была логическая связь между именем, полями и значениями.
(collection2
(fact1 (name 'ID')
(field 'Name' 'Company' 'Role')
(value 'Bob' 'ABC' 'Admin'))
(fact2 (name 'Event')
(field 'Name' 'Place')
(value 'Conference' 'USA')))
Ожидаемый результат : CLIPS может утверждать вышеупомянутый рекурсивный факт. Возможно ли это, или любая альтернатива проблемы.
Заранее спасибо.