Zum Inhalt springen

F-Logic

aus Wikipedia, der freien Enzyklopädie

Frame Logic (abgekürzt F-Logic) ist eine formale Sprache zur Wissensrepräsentation.

Beschreibung[Bearbeiten]

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.<ref>neon-project.org. Webseite der Entwicklungsumgebung: neon-toolkit.org</ref> 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:<ref>@1@2Vorlage:Toter Link/www.ontoprise.deTutorial F-Logic (Seite nicht mehr abrufbar, festgestellt im April 2018. Suche im Internet Archive) (PDF).</ref>

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.<ref>semwebcentral.org: <templatestyles src="Webarchiv/styles.css" />General Syntactic Changes Relative to the Original F-logic Syntax (Memento vom 6. Januar 2009 im Internet Archive)</ref>

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]

<references />