From Wikipedia, the free encyclopedia
  (Redirected from F-Logic)
Jump to: navigation, search

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

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

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[citation needed], 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 appears in.[2] The preliminary paper [3] [4] has won the 1999 Test of Time Award from ACM SIGMOD. A follow-up paper [5] has won the 2002 Test of Time Award from ACM SIGMOD.

F-logic syntax[edit]

Classes and individuals may be defined in F-logic as follows


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


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 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".

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.

F-logic based Languages[edit]


  1. ^ M. Krötzsch (October 2010). Description Logic Rules. IOS Press. p. 10. ISBN 978-1-61499-342-1. 
  2. ^ M. Kifer, G. Lausen, J. Wu (1995). Foundations of Object-Oriented and Frame-Based Languages], Journal of ACM, May 1995. PDF
  3. ^ M. Kifer and G. Lausen (1989). F-logic: a higher-order language for reasoning about objects, inheritance, and scheme, ACM SIGMOD Conference, 1989. PDF
  4. ^ M. Kifer and G. Lausen (1997). F-logic: a higher-order language for reasoning about objects, inheritance, and scheme, re-issued 1997. PDF
  5. ^ M. Kifer, W. Kim, Y. Sagiv (1992). Querying object-oriented databases, ACM SIGMOD Conference, 1992. PDF