F-logic

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 predicate calculus stands to relational database programming.

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, so as the DL-based OWL.

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 Protege ontology editor, F-Logic is supported as one of the two kinds of ontology.

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 people" 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". Note that ->> is used for sets of values.

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

man(X) <- person(X) AND NOT woman(X).
FORALL X, Y <- X:person[hasFather->Y <- Y:man[hasSon -> X].

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

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, where as the SHOIN logic that OWL DL is based on is decidable. However it is possible to represent more expressive statements in F-logic that are not possible with description logics.

F-logic based Languages

External links