F-Logic

formale Sprache zur Wissensrepräsentation

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

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

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

Einzelnachweise

Bearbeiten
  1. neon-project.org. Webseite der Entwicklungsumgebung: neon-toolkit.org
  2. Tutorial F-Logic@1@2Vorlage:Toter Link/www.ontoprise.de (Seite nicht mehr abrufbar, festgestellt im April 2018. Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. (PDF).
  3. forum.projects.semwebcentral.org (Memento des Originals vom 6. Januar 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/forum.projects.semwebcentral.org