Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Определение 5.13. Синтаксис команды fact-slot-value
(fact-slot-value < определение-факта> < имя-слота >) Данная функция позволяет получать значения слота некоторого заданного факта. Если факт является упорядоченным, то для получения значения неявно определенного составного слота используется значение implied. В случае если указанный факт не существует, или имя слота указано не верно, функция возвращает значение false.
Рис. 5.16. Результат использования функции fact-slot-value
Выполните в среде CLIPS следующий пример: Пример 5.20. Использование функции fact-slot-value
(clear) (deftemplate foo (slot bar) (multislot yak) (assert (foo (bar 1) (yak 23))) (fact-slot-value 0 bar) (fact-slot-value 0 yak) (assert (another a b с)) (fact-slot-value 1 implied)
Если предыдущий пример был выполнен без ошибок, то полученный результат должен соответствовать приведенному на рис. 5.16.
Функции сохранения и загрузки списка фактов
Как можно заметить, наполнение списка фактов в CLIPS довольно кропотливое и длительное занятие. Если фактов достаточно много, этот процесс может растянуться на несколько часов, или даже дней. Так как список фактов хранится в оперативной памяти компьютера, теоретически, из-за сбоя компьютера или, например, неожиданного отключения питания, список фактов можно безвозвратно потерять. Чтобы этого не произошло, а так же для того чтобы сделать работу по наполнению базы знаний фактами более удобной, CLIPS предоставляет команды сохранения и загрузки списка фактов в файл — save-facts и load-facts соответственно.
|