Введение
проект искусственного интеллекта CycL в компьютерных науках и искусственном интеллекте — это онтологический язык, используемый в проекте искусственного интеллекта Cyc, разработанном Дагом Ленатом. Раманатан В. Гуха сыграл ключевую роль в разработке ранних версий этого языка. Существует тесно связанный вариант CycL, известный как MELD. Изначальная версия CycL была языком фреймов, однако современная версия таковой не является. Вместо этого это декларативный язык, основанный на классической логике первого порядка, с расширениями для модальных операторов и квантификации высшего порядка. CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной от Cycorp. Исходный код, написанный на CycL и поставляемый с системой OpenCyc, распространяется под лицензией открытого исходного кода для повышения его полезности в поддержке семантической сети.
CycL in computer science and artificial intelligence is an ontology language used by Doug Lenat's Cyc artificial intelligence project. Ramanathan V. Guha was instrumental in the design of early versions of the language. There is a close variant of CycL known as MELD. The original version of CycL was a frame language, but the modern version is not. Rather, it is a declarative language based on classical first order logic, with extensions for modal operators and higher order quantification. CycL is used to represent the knowledge stored in the Cyc Knowledge Base, available from Cycorp. The source code written in CycL released with the OpenCyc system is licensed as open source, to increase its usefulness in supporting the semantic web.
Постоянные
Имена понятий в Cyc известны как константы. Константы начинаются с "#$" и чувствительны к регистру. Существуют константы для:
Индивидуальных элементов, известных как индивидуумы, таких как #$BillClinton или #$France. Коллекций, таких как #$TreeThePlant (содержащая все деревья) или #$EquivalenceRelation (содержащая все отношения эквивалентности). Элемент коллекции называется экземпляром этой коллекции. Функций истинности, которые могут быть применены к одному или нескольким другим понятиям и возвращают значение "истина" или "ложь". Например, #$siblings обозначает отношение родства и возвращает "истина", если два аргумента являются братьями или сестрами. По соглашению, константы функций истинности начинаются со строчной буквы. Функции истинности могут быть разложены на логические связки (например, #$and, #$or, #$not, #$implies), кванторы (#$forAll, #$thereExists и т.д.) и предикаты. Функций, которые генерируют новые термы из заданных. Например, #$FruitFn, получив аргумент, описывающий тип (или коллекцию) растений, возвращает коллекцию их плодов. По соглашению, константы функций начинаются с заглавной буквы и заканчиваются строкой "Fn".
Individual items known as individuals, such as #$BillClinton or #$France. Collections, such as #$Tree ThePlant (containing all trees) or #$EquivalenceRelation (containing all equivalence relations). A member of a collection is called an instance of that collection. Truth Functions which can be applied to one or more other concepts and return either true or false. For example, #$siblings is the sibling relationship, true if the two arguments are siblings. By convention, truth function constants start with a lower case letter. Truth functions may be broken down into logical connectives (such as #$and, #$or, #$not, #$implies), quantifiers (#$forAll, #$thereExists, etc.) and predicates. Functions, which produce new terms from given ones. For example, #$FruitFn, when provided with an argument describing a type (or collection) of plants, will return the collection of its fruits. By convention, function constants start with an upper case letter and end with the string "Fn".
Микротеории
База знаний разделена на микротеории (Мт) — коллекции понятий и фактов, как правило, относящихся к одной конкретной области знаний. В отличие от базы знаний в целом, каждая микротеория должна быть лишена противоречий. Каждая микротеория имеет имя, являющееся регулярной константой; по соглашению, микротеоретические константы содержат строку "Mt". Например, #$MathMt — микротеория, содержащая математические знания. Микротеории могут наследоваться друг от друга и организованы в иерархию: одной из специализаций #$MathMt является #$GeometryGMt — микротеория, посвященная геометрии.
one specialization of #$MathMt is #$GeometryGMt, the microtheory about geometry.