KAON2 is an infrastructure for managing OWL-DL,
SWRL, and F-Logic ontologies.
It was produced by the joint effort of the following institutions:
KAON2 is a successor to the KAON project (often referred to
as KAON1). The main difference to KAON1 is the supported ontology language: KAON1 used a proprietary extension of
RDFS, whereas KAON2 is based on OWL-DL
Please note that KAON2 is a completely new system, and is not backward-compatible with KAON1.
KAON2 provides the following features:
- An API for programmatic management of OWL-DL, SWRL, and F-Logic ontologies,
- A stand-alone server providing access to ontologies in a distributed manner using RMI,
- An inference engine for answering conjunctive queries (expressed using SPARQL syntax),
- A DIG interface, allowing access from tools such as Protégé,
- A module for extracting ontology instances from relational databases.
Logical Formalisms Supported by KAON2
The API of KAON2 is capable of manipulating OWL-DL ontologies.
For more information on OWL-DL, please click here.
Currently, the API can read OWL XML Presentation Syntax
and OWL RDF Syntax.
For reasoning, KAON2 supports the SHIQ(D) subset of OWL-DL.
This includes all features of OWL-DL apart from nominals (also known as enumerated classes).
Since nominals are not a part of OWL Lite,
KAON2 supports all of OWL Lite.
KAON2 also supports the so-called DL-safe subset  of the
Semantic Web Rule Language (SWRL). The restriction to the
DL-subset has been chosen to make reasoning decidable.
The API of KAON2 is capable of manipulating F-Logic ontologies.
For reasoning, KAON2 supports the function-free subset of F-Logic,
currently with limited support for default negation.
We are still working on theoretical foundations of the interface between between the DL and the logic programming
component of our system. For the current status, please refer to .
KAON2 supports answering conjunctive queries, albeit without true non-distinguished variables. This means
that all variables in a query are bound to individuals explicitly occurring in the knowledge base, even if
they are not returned as part of the query answer. The algorithms for answering queries with non-distinguished
variables have been developed , but have not been implemented yet.
Queries can be formulated using SPARQL. Much of, but not entire
SPARQL specification is supported. In particular, only those queries are supported which correspond naturally to
conjunctive queries. For example, queries with variables at predicate positions are currently not supported, because this
would requite answering conjunctive queries with variables at predicate positions, thus requiring second-order logic.
Furthermore, OPTIONAL and GRAPH patterns are not supported, because they are difficult to formalize in logic. The implemented
variant of SPARQL also extends the specification, by allowing for computed values and explicitly typed query literals.
Alternatively, queries can be formulated in F-Logic.
Reasoning in KAON2
Contrary to most currently available DL reasoners, such as
KAON2 does not implement the tableaux calculus. Rather, reasoning in KAON2 is implemented by
novel algorithms which reduce a SHIQ(D) knowledge base to a disjunctive datalog program.
For an overview of these algorithms, please refer to .
A detailed (and quite lengthy) technical presentation of all algorithms is given in .
These novel algorithms allow applying well-known deductive database techniques, such as magic sets or join-order optimizations,
to DL reasoning. According to our performance evaluation , such algorithms make answering queries in
KAON2 one or more orders of magnitude faster than in existing systems. The test ontologies that we used in our performance tests
can be found here (10.6 MB).
Downloading and Running KAON2
KAON2 is available as a precompiled binary distribution and is free of charge for universities
for noncommecial academic usage (national laboratories are not considered universities).
For commercial purposes, there is a commercial version of KAON2 called OntoBroker OWL.
If you are interested in using OntoBroker OWL, please contact ontoprise GmbH.
By downloading KAON2, you accept these license agreements.
To download the latest stable KAON2 release, please click here.
KAON2 has been fully implemented in Java 1.5, so please download the latest JDK from Sun.
After downloading and unpacking the KAON2 release file, please refer to the readme file for further documentation.
The release contains several examples which should help you learn how to use KAON2. To run the examples,
you will need Apache ANT.
The release also contains the Javadoc of the KAON2 APIs.
- KAON2 currently cannot handle nominals. If an ontology contains an owl:oneOf class or an
restriction (which is just a shortcut for a nominal concept), each reasoning task will throw an error.
- KAON2 currently cannot handle large numbers in cardinality statements. We have observed problems even on an ontology
which contains a maximum cardinality restriction of two: KAON2 on this ontology is not capable of answering any queries.
However, whether a problem occurs depends not only on the used numbers, but also on other ontology axioms.
Currently, we do not have a written document explaining how to use KAON2. However, in the KAON2 distribution you can find eight
annotated examples which demonstrate how to solve typical tasks. Here is a list stating what topics are covered by which example:
- Example 1 shows how to load an ontology and print its contents. It also explains some basic concepts related to working
with multiple ontologies with inclusion dependencies.
- Example 2 shows how to create an ontology, add several axioms, and save it into a file.
- Example 3 shows how to retrieve axioms and navigate among them.
- Example 4 shows how to add rules to an ontology, and how to run simple queries.
- Example 5 shows how to use the built-in functions of KAON2, such as adding or subtracting.
- Example 6 shows how to implement new built-in functions.
- Example 7 shows how to use KAON2 in the server mode, either through the RMI or the
- Example 8 shows how to map an existing relational database to an ontology, so that KAON2 can query it on-the-fly during reasoning.
- Example 9 shows how to invoke built-in database functions from KAON2.
- Example 10 shows how to use the metaviews framework.
Projects using KAON2
If you have technical questions about KAON2, feel free to send them to
(); you can send your e-mail in English, German, or Croatian.
However, please check beforehand if you can find an answer under known open issues.
U. Hustadt, B. Motik, U. Sattler.
Reducing SHIQ- Descrption Logic to Disjunctive Datalog Programs.
Proc. of the 9th International Conference on Knowledge Representation and Reasoning (KR2004),
June 2004, Whistler, Canada, pp. 152-162
PDF (243 KB)
U. Hustadt, B. Motik U. Sattler.
Reasoning in Description Logics with a Concrete Domain in the Framework of Resolution.
Proc. of the 16th European Conference on Artificial Intelligence (ECAI 2004),
August, 2004, Valencia, Spain, pp. 353-357
PDF (167 KB)
B. Motik, U. Sattler, R. Studer.
Query Answering for OWL-DL with Rules.
Proc. of the 3rd International Semantic Web Conference (ISWC 2004),
Hiroshima, Japan, November, 2004, pp. 549-563
PDF (217 KB)
U. Hustadt, B. Motik, U. Sattler.
A Decomposition Rule for Decision Procedures by Resolution-Based Calculi.
Proc. of the 11th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2004),
Montevideo, Uruguay, March, 2005, pp. 21-35
PDF (288 KB)
U. Hustadt, B. Motik, U. Sattler.
Data Complexity of Reasoning in Very Expressive Description Logics.
Proc. of the 19th International Joint Conference on Artificial Intelligence (IJCAI 2005),
Edinburgh, UK, August, 2005, pp. 466-471
PDF (151 KB)
B. Motik and U. Sattler.
A Comparison of Reasoning Techniques for Querying Large Description Logic ABoxes.
Proc. of the 13th International Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR 2006),
Phnom Penh, Cambodia, November, 2006
PDF (636 KB)
Reasoning in Description Logics using Resolution and Deductive Databases.
PhD Thesis, University of Karlsruhe, Karlsruhe, Germany, January 2006.
PDF (1.9 MB)
B. Motik and R. Rosati.
Closing Semantic Web Ontologies.
Technical Report, University of Manchester, UK
PDF (561 KB)
- The algorithm for reducing description logic knowledge bases into disjunctive datalog is based
on basic superposition, which is described in the following publicatios:
L. Bachmair, H. Ganzinger, C. Lynch, W. Snyder.
Information and Computation 121:2, 1995, 172-192
R. Nieuwenhuis, A. Rubio.
Theorem Proving with Ordering and Equality Constrained Clauses.
Journal of Symbolic Computation 19:4, 1995, 321-351
- KAON2 implements the magic sets algorithm for disjunctive programs, developed jointly by the
Knowledge-Based Systems Group at the TU Vienna
and the Department of Mathematics at the University of Calabria,
described in the following publication:
C. Cumbo, W. Faber, G. Greco, N. Leone.
Enhancing the magic-set method for disjunctive datalog programs.
Proc. of the 20th International Conference on Logic Programming (ICLP'04),
September, 2004, Saint-Malo, France, pp. 371-385