F-логика (F-lkintg)
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
F-логика (англ. frame logic) — язык представления знаний и онтологий. F-логика сочетает возможности концептуального моделирования с объектно-ориентированными языками и предлагает декларативный, компактный и простой синтаксис вместе с чёткой семантикой логического языка на основе фреймов.
Характеристики F-логики включают, среди прочих, идентификацию объектов, составные объекты, наследование, полиморфизм, запросные методы, инкапсуляцию. F-логика находится в том же отношении к объектно-ориентированному программированию, в каком классическое исчисление предикатов относится к реляционному программированию баз данных.
F-логика была первоначально разработана для дедуктивных баз данных, но теперь чаще используется для семантических технологий, особенно для Semantic Web.
F-логику рассматривают как один из формализмов для онтологий, хотя дескриптивная логика более популярна и принята как основная для языка онтологий OWL.
Среда разработки F-логики используется также в приложениях для информационной интеграции, вопросно-ответных системах и семантическом поиске.
Начиная с версии 4 редактора онтологий Protege, F-логика поддерживается как один из двух видов онтологии. Синтаксис Формата Правил Обмена (RIF) Консорциума Всемирной Паутины основан на F-логике.
Синтаксис 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).
- FORALL X, Y <- X:person[hasFather->Y] <- Y:man[hasSon -> X].
Они означают «X есть мужчина, если X — человек и не женщина», «для всех Х, У : человек X имеет отца У, если мужчина У имеет сына X».
Система Флора 2 (расширение F-логики) ввела несколько изменений в синтаксис F-логики, делая его более удобным для представления знаний и системы рассуждений, отличая от нотации чисто теоретической логики. В частности, переменные стали помечать префиксом «?», различение функциональных и многозначных свойств было заменено константами мощности, добавлены другие важные изменения.
В отличие от формализма дескриптивной онтологии, семантика F-логики совместима с гипотезой замкнутого мира. Вместе с тем, F-логика в общем случае неразрешима, тогда как дескриптивная логика, на которой базируется OWL — разрешима. Однако в F-логике можно представить более выразительные утверждения, чем это возможно с дескриптивными логиками.
Ссылки
[править | править код]- М. Kifer, Г. Lausen, J. Wu (1995). Основания объектно-ориентированных фрейм-базированных Языков, Журнал ACM, Мая 1995. PDF
- М. Kifer и Г. Lausen (1989). F-логика: язык высокого порядка для рассуждений об объектах, наследовании и схеме, ACM SIGMOD Конференция, 1989. PDF