(deffacts data-facts
(data 1.0 blue "red")
(data 1 blue)
(data 1 blue red)
(data 1 blue RED)
(data 1 blue red 6.9))
(deftemplate person
(slot name)
(slot age)
(multislot friends))
(deffacts people
(person (name Joe) (age 20))
(person (name Bob) (age 20))
(person (name Joe) (age 34))
(person (name Sue) (age 34))
(person (name Sue) (age 20))
Символьные ограничения
Основные ограничения, использующиеся в образцах, — это ограничения, определяющие точное соответствие между полями факта и образцом. Эти ограничения называются символьными. Символьное ограничение полностью состоит из констант, таких как вещественные и целые числа, значения типа symbol, строки или имена объектов. Они не могут содержать групповых символов или переменных. Все символьные ограничения при сопоставлении образцов должны точно совпадать по всем указанным полям, иначе факт не будет считаться подошедшим данному образцу.
Условный элемент, представляющий собой образец для неупорядоченного факта, в котором присутствуют только символьные ограничения, имеет следующий синтаксис:
Определение 6.4. Синтаксис символьных ограничений для неупорядоченного факта
(<ограничение-1> … <ограничение-n>)
Условный элемент, представляющий собой образец для шаблона, в котором присутствуют только символьные ограничения, выглядит так: