F-Logic
# 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. 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:
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
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.

## 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)