Введение

проект искусственного интеллекта CycL в компьютерных науках и искусственном интеллекте — это онтологический язык, используемый в проекте искусственного интеллекта Cyc, разработанном Дагом Ленатом. Раманатан В. Гуха сыграл ключевую роль в разработке ранних версий этого языка. Существует тесно связанный вариант CycL, известный как MELD. Изначальная версия CycL была языком фреймов, однако современная версия таковой не является. Вместо этого это декларативный язык, основанный на классической логике первого порядка, с расширениями для модальных операторов и квантификации высшего порядка. CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной от Cycorp. Исходный код, написанный на CycL и поставляемый с системой OpenCyc, распространяется под лицензией открытого исходного кода для повышения его полезности в поддержке семантической сети.

Постоянные

Имена понятий в Cyc известны как константы. Константы начинаются с "#$" и чувствительны к регистру. Существуют константы для:
Индивидуальных элементов, известных как индивидуумы, таких как #$BillClinton или #$France. Коллекций, таких как #$TreeThePlant (содержащая все деревья) или #$EquivalenceRelation (содержащая все отношения эквивалентности). Элемент коллекции называется экземпляром этой коллекции. Функций истинности, которые могут быть применены к одному или нескольким другим понятиям и возвращают значение "истина" или "ложь". Например, #$siblings обозначает отношение родства и возвращает "истина", если два аргумента являются братьями или сестрами. По соглашению, константы функций истинности начинаются со строчной буквы. Функции истинности могут быть разложены на логические связки (например, #$and, #$or, #$not, #$implies), кванторы (#$forAll, #$thereExists и т.д.) и предикаты. Функций, которые генерируют новые термы из заданных. Например, #$FruitFn, получив аргумент, описывающий тип (или коллекцию) растений, возвращает коллекцию их плодов. По соглашению, константы функций начинаются с заглавной буквы и заканчиваются строкой "Fn".

Микротеории

База знаний разделена на микротеории (Мт) — коллекции понятий и фактов, как правило, относящихся к одной конкретной области знаний. В отличие от базы знаний в целом, каждая микротеория должна быть лишена противоречий. Каждая микротеория имеет имя, являющееся регулярной константой; по соглашению, микротеоретические константы содержат строку "Mt". Например, #$MathMt — микротеория, содержащая математические знания. Микротеории могут наследоваться друг от друга и организованы в иерархию: одной из специализаций #$MathMt является #$GeometryGMt — микротеория, посвященная геометрии.