F-logic (frame logic) is a knowledge representation and ontology language. F-logic combines the advantages of conceptual modeling with object-oriented, frame-based languages and offers a declarative, compact and simple syntax, as well as the well-defined semantics of a logic-based language.

Features include, among others, object identity, complex objects, inheritance, polymorphism, query methods, encapsulation. F-logic stands in the same relationship to object-oriented programming as classical relational calculus stands to relational database programming.

F-logic

Overview

F-logic was developed by Michael Kifer at Stony Brook University and Georg Lausen at the University of Mannheim. F-logic was originally developed for deductive databases, but is now most frequently used for semantic technologies, especially the semantic web. F-logic is considered as one of the formalisms for ontologies, but description logic (DL) is more popular and accepted, as is the DL-based OWL.

F-logic

A development environment for F-logic was developed in the NeOn project and is also used in a range of applications for information integration, question answering and semantic search. Prior to the version 4 of Protégé ontology editor, F-Logic is supported as one of the two kinds of ontology.

F-logic

The frame syntax of the Rule Interchange Format Basic Logic Dialect (RIF BLD) standardized by the World Wide Web Consortium is based on F-logic; RIF BLD however does not include non-monotonic reasoning features of F-logic.

In contrast to description logic based ontology formalism the semantics of F-logic are normally that of a closed world assumption as opposed to DL's open world assumption. Also, F-logic is generally undecidable, whereas the SHOIN description logic that OWL DL is based on is decidable. However it is possible to represent more expressive statements in F-logic than are possible with description logics.

The most comprehensive description of F-logic was published in 1995. The preliminary paper from 1989 won the 1999 Test of Time Award from ACM SIGMOD. A follow-up paper from 1992 won the 2002 Test of Time Award from ACM SIGMOD.

F-logic syntax

Classes and individuals may be defined in F-logic as follows: man::person. woman::person. brad:man. angelina:woman. This states, that "men and women are persons" and that "Brad is a man", and "Angelina is a woman".

Statements about classes and individuals may be made as follows: person[hasSon=>man]. brad[hasSon->{ maddox,pax}]. married(brad,angelina). This defines that "the son of a person is a man", "Maddox and Pax are the sons of Brad" and "Brad and Angelina are married".

In addition it is possible to represent axioms in F-logic in the following manner:

These mean "X is a man if X is a person but not a woman" and "if X is the son of Y then X is a person and Y is the father of X".

(Note: the latter inference is not factual, because in addition to fathers, sons also have mothers. The gender of X is determined by the premise, but the gender of Y is not.)

The Flora-2 system introduced a number of changes to the syntax of F-logic, making it more suitable for a knowledge representation and reasoning system as opposed to just a theoretical logic. In particular, variables became prefixed with a ?-mark, the distinction between functional and multi-valued properties was dropped and replaced by cardinality constraints, plus other important changes. For instance, the above pair of sentences look like this in Flora-2:

Here is default negation ("naf" stands for Negation as failure, based on the well-founded semantics); Flora-2 also supports so-called explicit negation, which is closer to negation in classical logic.

F-logic based languages

Flora-2 is an extension of F-logic with HiLog, Transaction logic, and defeasible reasoning. Ergo is a commercial system based on F-logic, which extends Flora-2. PathLP is a full logic programming language based on F-logic. FLORID is a C++ — based implementation Web Services Modeling Language (WSML) Semantic Web Services Language (SWSL) ObjectLogic language is based on F-logic; OntoStudio is an ObjectLogic implementation by semafora systems GmbH (formerly Ontoprise GmbH). OO-logic is a successor of F-logic; SemReasoner and Ontology Management System (OSM) are implementations of OO-logic by adesso SE.

References

Knowledge representation

Semantic Web

Logic programming languages

Declarative programming languages