F-logic
Encyclopedia
F-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.
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
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.
Knowledge representation
Knowledge representation is an area of artificial intelligence research aimed at representing knowledge in symbols to facilitate inferencing from those knowledge elements, creating new elements of knowledge...
- 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
Inheritance (computer science)
In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...
, polymorphism, query methods, encapsulation. F-logic stands in the same relationship to object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
as classical predicate calculus stands to relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...
programming.
F-logic was developed by Michael Kifer at Stony Brook University and Georg Lausen at the University of Mannheim
University of Mannheim
The University of Mannheim is one of the younger German universities. It offers Bachelor, Master, and PhD degrees.The University is mainly located in Mannheim’s palace the largest baroque palace in Germany. The whole city center of Mannheim is aligned symmetrically to the palace.About 800 scholars...
. F-logic was originally developed for deductive databases, but is now most frequently used for semantic technologies, especially the Semantic Web
Semantic Web
The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...
. F-logic is considered as one of the formalisms for ontologies, but description logic
Description logic
Description logic is a family of formal knowledge representation languages. It is more expressive than propositional logic but has more efficient decision problems than first-order predicate logic....
(DL) is more popular and accepted, so as the DL-based OWL
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...
.
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
Question answering
In information retrieval and natural language processing , question answering is the task of automatically answering a question posed in natural language...
and semantic search
Semantic search
Semantic search seeks to improve search accuracy by understanding searcher intent and the contextual meaning of terms as they appear in the searchable dataspace, whether on the Web or within a closed system, to generate more relevant results. Author Seth Grimes lists "11 approaches that join...
. 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 followsman::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
Description logic
Description logic is a family of formal knowledge representation languages. It is more expressive than propositional logic but has more efficient decision problems than first-order predicate logic....
based ontology formalism the semantics of F-logic are normally that of a closed world assumption
Closed world assumption
The closed world assumption is the presumption that what is not currently known to be true, is false. The same name also refers to a logical formalization of this assumption by Raymond Reiter. The opposite of the closed world assumption is the open world assumption , stating that lack of knowledge...
as opposed to DL's open world assumption
Open World Assumption
In formal logic, the open world assumption is the assumption that the truth-value of a statement is independent of whether or not it is known by any single observer or agent to be true. It is the opposite of the closed world assumption, which holds that any statement that is not known to be true is...
. Also, F-logic is generally undecidable
Undecidable problem
In computability theory and computational complexity theory, an undecidable problem is a decision problem for which it is impossible to construct a single algorithm that always leads to a correct yes-or-no answer....
, where as
the SHOIN logic that OWL DL
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...
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
- FLORA-2 is an extension of F-logic with HiLog and transaction logic.
- FLORID is a C++ — based implementation
- Web Services Modeling Language (WSML)
- Semantic Web Services Language (SWSL)