F-Logic
Frame Logic (abgekürzt F-Logic) ist eine formale Sprache zur Wissensrepräsentation.
Beschreibung
[Bearbeiten | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext bearbeiten]- How to Write F-Logic Programs A Tutorial for the Language F-Logic
- Tutorial für F-Logic (Link defekt) (PDF; 168 kB)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ neon-project.org. Webseite der Entwicklungsumgebung: neon-toolkit.org
- ↑ Tutorial F-Logic (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).
- ↑ forum.projects.semwebcentral.org ( des 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.