(save-facts <имя-файла>
[<границы> <имена-конструкторов-deftemplate>*])
<границы>::= visible │ local
(load-facts <имя-файла>)
Необязательный параметр <границы> команды save-facts позволяет установить границы видимости сохраняемых фактов. Если этот параметр принимает значение local (значение по умолчанию), команда save-facts сохраняет только те определенные в текущем модуле факты, конструкторы deftemplate которых также определены в данном модуле. Если параметр принимает значение visible, то сохраняются все факты, видимые в текущем модуле.
Кроме границ видимости сохраняемых фактов пользователь имеет возможность задать список конструкторов deftemplate. В этом случае команда save-facts сохранит факты только заданных шаблонов.
Команда load-facts позволяет загружать созданный ранее текстовый файл со списком фактов. Обычно подобный файл получается с помощью команды save-facts, хотя он может быть создан и вручную посредством любого тестового редактора, поддерживающего формат ASCII. Каждый факт в текстовом файле должен располагаться на отдельной строке и заключаться в круглые скобки. В случае шаблонов имена и значения каждого слота также должны обрамляться скобками.
Замечание
При загрузке фактов, соответствующих определенным шаблонам, необходимо, чтобы в момент выполнения команды load-facts все используемые шаблоны уже были определены.
Команды set-fact-duplication и get-fact-duplication предназначены для установки и проверки режима дублирования фактов. Если данный режим выключен (значение false), что является установкой по умолчанию, то CLIPS запрещает добавлять в систему факты с одинаковыми именами. Команда set-fact-duplication использует заданное логическое выражение для установки текущего значения режима дублирования фактов и возвращает предыдущее установленное значение. Команда get-fact-duplication выводит в диалоговое окно системы текущее установленное значение этого режима. Синтаксис этих команд приведен ниже.