F-Logic
Frame Logic (abgekürzt F-Logic) ist eine formale Sprache zur Wissensrepräsentation.
Beschreibung
Sie verbindet die Vorteile der konzeptuellen Modellierung mit denen von objektorientierten frame-basierten Sprachen und bietet Deklarativität, eine kompakte und einfache Syntax und die wohldefinierte Semantik einer logikbasierten Sprache. F-Logic unterstützt Typisierung, Meta-Reasoning, komplexe Objekte, Methoden, Klassen, Vererbung, Regeln, Anfragen und Modularisierung. Die Semantik von F-Logic basiert auf der Semantik von Logik erster Stufe, speziell auf der Semantik der Logikprogrammierung.
F-Logic wurde von Michael Kifer an der New York State University und von Georg Lausen an der Universität Mannheim entwickelt. F-Logic wurde ursprünglich im Bereich deduktive Datenbanken entwickelt, findet heute aber vor allem in den Bereichen semantische Technologien, semantisches Web seinen Einsatz. F-Logic stellt dabei eine Sprache zur Formulierung von Ontologien ähnlich OWL, RDF dar.
Für F-Logic wurde in den Jahren 2006–2010 in dem europäischen Projekt NEON eine Entwicklungsumgebung entwickelt.[1] F-Logic wird inzwischen auch in zahlreichen industriellen Anwendungen zur Informationsintegration, zur Unterstützung bei komplexen Entscheidungen, zum Finden von Lösungen im Bereich Kundenservice und bei der semantischen Suche eingesetzt.
Beispiel
Im Folgenden sei ein kleines Beispiel für F-Logic in der Original-Sprachspezifikation gegeben:[2]
Schema/Klassen/Methoden
mann::person.
// jeder Mann ist eine Person
frau::person.
// jede Frau ist eine Person
person[hatSohn=>>mann].
// der Sohn einer Person ist ein Mann
Regeln/Ableitungen
FORALL X,Y X:person[hatVater->Y] <- Y:mann[hatSohn -> X].
// falls X der Sohn von Y ist, ist Y der Vater von X
Fakten
brad:mann. angelina:frau. verheiratet(brad, angelina). brad[hatSohn->>{maddox, pax}].
Anfrage
Mit wem hat Angelina einen Sohn namens Pax?
FORALL M <- verheiratet(M, angelina) AND M[hatSohn ->> {pax}].
Mittlerweile wurde die Syntax in einigen Punkten vereinfacht.[3]
F-Logic basierende Sprachen
- FLORA-2 ist eine Erweiterung von F-Logic um HiLog und Transaktion Logic
- FLORID ist eine Implementierung in C++
- Ontobroker unterstützt ObjectLogic, den Nachfolger von F-Logic
- Web Services Modeling Language (WSML)
- Semantic Web Services Language (SWSL)
Weblinks
- How to Write F-Logic Programs A Tutorial for the Language F-Logic
- Tutorial für F-Logic (Link defekt) (PDF; 168 kB)
Einzelnachweise
- ↑ neon-project.org. Webseite der Entwicklungsumgebung: neon-toolkit.org
- ↑ Tutorial F-Logic (Seite nicht mehr abrufbar, festgestellt im April 2018. Suche in Webarchiven.) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. (PDF).
- ↑ forum.projects.semwebcentral.org