Research Topics


Our research focuses on advanced database technology, declarative programming techniques, and knowledge representation for intelligent systems.
We apply modern knowledge base management and knowledge engineering (verification, analysis, refactoring, visualization) as well as query processing and reasoning to various types of data, including relational, deductive (rule-based), XML, and Semantic Web data.

Knowledge Base Management and Knowledge Engineering

We investigate knowledge bases for rule-based expert systems, ontologies with rule enhancements, and declarative programs, such as Prolog or ASP programs.

Firstly, we provide extensions to existing verification techniques to support the implementation of ontologies with rule enhancements, and we focus on the detection of anomalies that can especially occur due to the combined use of rules and ontological definitions.

Secondly, Visur/Rar is a Prolog tool for reasoning about rule-based systems, such as Prolog programs or knowledge bases containing diagnostic rules.

The tool Visur/Rar has been used for analysing Prolog/Java source code and diagnostic rule bases based on suitable dependency graphs. It can for instance be applied for computing certain software metrics and for supporting refactoring techniques. Since it is mostly based on the implicational structure of rules, it can be adapted to various kinds of rules in knowledge-based systems.

Semi-Structured Data and XML

The goal is the managment of semi-structured data, such as XML-data, in a deductive database or in a logic programming environment. We have developed a language called FnQuery (PL4XML) for processing XML-data. In addition to standard retrieval also the intelligent reasoning about the data should be supported.
The developed techniques have been applied to various types of XML-data, such as mathematical knowledge in MathML, expert rules in XML, stock data in HTML, or XML/HTML-data in bioinformatics.

Deductive Databases

Advanced applications of deductive databases require the extensive analysis of incomplete information in the form of disjunctions in the data, e.g. diagnostice reasoning or reasoning in spatial databases.
A system called DisLog for efficient reasoning in disjunctive deductive databases has been developed in XPCE/SWI-Prolog.

Most practically interesting recursive queries in deductive databases are expressed by linear recursive Datalog programs with exactly one recursive rule, so-called linear sirups. A characterization and an efficient evaluation of general linear sirups was derived. Moreover, transitive closure programs, which form an interesting subclass of linear sirups, were considered.

The DisLog Developers' Toolkit (DDK)

The DDK is a general purpose Prolog software package; its functionality ranges from (non-monotonic) reasoning in disjunctive deductive databases (the DisLog system) to querying XML databases, software engineering support for Prolog and Java (program analysis and visualization), and to applications such as the management of stock information.

The DDK has been implemented in SWI/XPCE-Prolog, and it can be loaded into any application written in SWI/XPCE-Prolog.