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

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.

F-Logic basierende Sprachen

Einzelnachweise

  1. ↑ neon-project.org. Webseite der Entwicklungsumgebung: neon-toolkit.org
  2. ↑ Tutorial F-Logic (Seite nicht mehr abrufbar, festgestellt im April 2018. Suche im Internet Archive) (PDF).
  3. ↑ semwebcentral.org: General Syntactic Changes Relative to the Original F-logic Syntax (Memento vom 6. Januar 2009 im Internet Archive)