F-Logic

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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.

Beispiel[Bearbeiten]

Im Folgenden sei ein kleines Beispiel für F-Logic in der Original-Sprachspezifikation gegeben:[1]


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.[2]

F-Logic basierende Sprachen[Bearbeiten]

  • 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[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Tutorial F-Logic
  2. http://forum.projects.semwebcentral.org/forum-syntax.html