OverviewOur 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 EngineeringWe 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.
- Rar provides retrieval and update operations for a database storing the investigated rules.
- The obtained results are graphically visualised or presented in tables using Visur.
Semi-Structured Data and XMLThe 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.
- This language offers querying facilities such as the well-known languages XPath and XQuery, and
- it provides for transformation and update capabilities in the style of XSLT and XUpdate.
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 DatabasesAdvanced 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.