F-логика
F-логика ( фреймовая логика ) — язык представления знаний и онтологий . Он сочетает в себе преимущества концептуального моделирования с объектно-ориентированными языками на основе фреймов и предлагает декларативный , компактный и простой синтаксис , а также четко определенную семантику языка логического программирования .
Возможности включают, среди прочего, идентичность объекта, сложные объекты, наследование , полиморфизм , методы запроса, инкапсуляцию . F-логика находится в том же отношении к объектно-ориентированному программированию , что и классическое реляционное исчисление к программированию реляционных баз данных .
Обзор
[ редактировать ]F-logic была разработана Майклом Кифером из Университета Стоуни-Брук и Георгом Лаузеном из Университета Мангейма . F-логика изначально разрабатывалась для дедуктивных баз данных, но сейчас чаще всего используется для семантических технологий, особенно семантической сети . F-логика считается одним из формализмов онтологий , но логика описания (DL) более популярна и принята, как и основанный на DL язык веб-онтологий (OWL).
Среда разработки F-logic была разработана в проекте NeOn и также используется в ряде приложений для интеграции информации, ответа на вопросы и семантического поиска . До версии 4 редактора онтологий Protégé F-Logic поддерживался как один из двух типов онтологий.
Синтаксис фрейма базового логического диалекта формата обмена правилами (RIF BLD), стандартизированного Консорциумом Всемирной паутины, основан на F-логике; Однако в RIF BLD отсутствуют немонотонные особенности рассуждения F-логики. [1]
В отличие от формализма онтологии, основанного на логике описания , семантика F-логики обычно соответствует предположению о закрытом мире, об открытом мире DL в отличие от предположения . Кроме того, F-логика вообще неразрешима , [ нужна ссылка ] тогда как логика описания SHOIN, на которой основан DL Web Ontology Language (OWL), разрешима. Однако в F-логике можно представить более выразительные утверждения, чем в логике описания.
Наиболее полное описание F-логики было опубликовано в 1995 году. [2] Предварительный документ [3] [4] с 1989 года выиграл награду «Испытание временем» 1999 года от ACM SIGMOD . [5] Последующий документ [6] с 1992 года выиграл награду «Испытание временем» 2002 года от ACM SIGMOD. [5]
Синтаксис F-логики
[ редактировать ]Классы и индивидуумы могут быть определены в F-логике следующим образом:
man::person. woman::person. brad:man. angelina:woman.
Здесь говорится, что «мужчины и женщины — это личности», «Брэд — мужчина», а «Анджелина — женщина».
Утверждения о классах и индивидах могут быть сделаны следующим образом:
person[hasSon=>man]. brad[hasSon->{maddox,pax}]. married(brad,angelina).
Это определяет, что «сын человека — мужчина», «Мэддокс и Пакс — сыновья Брэда» и «Брэд и Анджелина женаты».
Кроме того, аксиомы в F-логике можно представить следующим образом:
man(X) <- person(X) AND NOT woman(X).
X:person[hasFather->Y] <- Y:man[hasSon -> X].
Они означают: «X — мужчина, если X — человек, но не женщина» и «если X — сын Y, то X — человек, а Y — отец X».
(Примечание: последний вывод не соответствует действительности, поскольку у сыновей помимо отцов есть еще и матери. Пол X определяется посылкой, а пол Y — нет.)
Система Флора-2 внесла ряд изменений в синтаксис F-логики, сделав ее более подходящей для системы представления знаний и рассуждений, а не просто для теоретической логики. В частности, переменные стали иметь префикс ?, различие между функциональными и многозначными свойствами было удалено и заменено ограничениями мощности, а также другими важными изменениями. Например, во «Флоре-2» приведенная выше пара предложений выглядит так:
man(?X) <- person(?X) \and \naf woman(?X).
?X:person[hasFather->?Y] <- ?Y:man[hasSon -> ?X].
Здесь \naf — это отрицание по умолчанию («naf» означает «Отрицание как отказ » на основе хорошо обоснованной семантики ); Флора-2 также поддерживает так называемое явное отрицание. [7] что ближе к отрицанию в классической логике.
Языки на основе F-логики
[ редактировать ]- Flora-2 — это расширение F-логики с HiLog , логикой транзакций и отменяемыми рассуждениями .
- Ergo — коммерческая система, основанная на F-логике, расширяющая Flora-2.
- PathLP — это язык программирования полной логики, основанный на F-логике.
- FLORID (F-LOGic Reasoning In Databases) — реализация на основе C++.
- Язык моделирования веб-сервисов (WSML)
- Язык семантических веб-сервисов (SWSL)
- Язык ObjectLogic основан на F-логике; OntoStudio — это реализация ObjectLogic от Semafora Systems GmbH (ранее Ontoprise GmbH ).
- ОО-логика является преемницей F-логики; SemReasoner и система управления онтологиями (OSM) — это реализации объектно-ориентированной логики от adesso SE.
Ссылки
[ редактировать ]- ^ Креч, М. (октябрь 2010 г.). Описание Логические правила . ИОС Пресс. п. 10. ISBN 978-1-61499-342-1 .
- ^ Кифер, М.; Лаузен, Г.; Ву, Дж. (июль 1995 г.). «Логические основы объектно-ориентированных и фреймовых языков». Журнал АКМ . 42 (4): 741–843. дои : 10.1145/210332.210335 .
- ^ Кифер, М.; Лаузен, Г. (1 июня 1989 г.). «F-логика: язык высшего порядка для рассуждений об объектах, наследовании и схемах». Запись ACM SIGMOD . 18 (2): 134–146. дои : 10.1145/66926.66939 .
- ^ Кифер, М.; Лаузен, Г. (1997). «F-логика: язык высшего порядка для рассуждений об объектах, наследовании и схемах (переиздан)». Запись ACM SIGMOD . 18 (2): 134–146. дои : 10.1145/66926.66939 .
- ^ Jump up to: а б «Награда SIGMOD «Испытание временем» . sigmod.org . Проверено 19 марта 2019 г.
- ^ Кифер, М.; Ким, В.; Сагив, Ю. (июнь 1992 г.). «Запросы к объектно-ориентированным базам данных». Запись ACM SIGMOD . 21 (2): 393–402. дои : 10.1145/141484.130342 .
- ^ Прапорщик Хосе Хулио; Перейра, Луис Мониш; Пшимусински, Теодор К. (апрель 1998 г.). « Классическое» отрицание в немонотонных рассуждениях и логическом программировании». Журнал автоматизированного рассуждения . 20 (1–2): 107–142. дои : 10.1023/А:1005900924623 . S2CID 8882426 .