Samiksha Jaiswal (Editor)

F logic

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

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.

Contents

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.

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 appears in. The preliminary paper has won the 1999 Test of Time Award from ACM SIGMOD. A follow-up paper has 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". 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

  • Flora-2 is an extension of F-logic with HiLog, Transaction logic, and defeasible reasoning.
  • 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 (former Ontoprise GmbH).
  • References

    F-logic Wikipedia