- F-Logic
-
Frame Logic (abgekürzt F-Logic) ist eine formale Sprache zur Wissensrepräsentation. F-Logic 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 logik-basierten 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 wird in dem europäischen Projekt NEON eine Entwicklungsumgebung entwickelt. 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.
Inhaltsverzeichnis
Beispiel
Im Folgenden sei ein kleines Beispiel für F-Logic in der Original-Sprachspezifikation gegeben:[1]
Schema/Klassen/Methodenmann::person.
// jeder Mann ist eine Personfrau::person.
// jede Frau ist eine Personperson[hatSohn=>mann].
// der Sohn einer Person ist ein Mann
Regeln/AbleitungenFORALL X, Y <- X:person[hatVater->Y] <- Y:mann[hatSohn -> X].
// falls X der Sohn von Y ist, ist Y der Vater von X
Faktenbrad:mann.
angelina:frau.
verheiratet(brad, angelina).
brad[hatSohn->>{maddox, pax}].
AnfrageMit wem hat Angelina einen Sohn namens Pax?
FORALL M <- verheiratet(M, angelina) AND M[hatSohn ->> {pax}].
Mittlerweile wurde die Syntax in einigen Punkten vereinfacht.[2]
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
- Tutorial für F-Logic (PDF-Datei; 168 kB)
Einzelnachweise
Wikimedia Foundation.