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 and F-Logic. 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 [3] 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 [8].

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 [4], 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 FaCT, FaCT++, RACER, DLP or Pellet, 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 [1]. A detailed (and quite lengthy) technical presentation of all algorithms is given in [7].

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 [6], 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.

Open Issues

  • KAON2 currently cannot handle nominals. If an ontology contains an owl:oneOf class or an owl:hasValue 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 DIG interfaces.
  • 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 Boris Motik (); 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.


  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. B. Motik. Reasoning in Description Logics using Resolution and Deductive Databases. PhD Thesis, University of Karlsruhe, Karlsruhe, Germany, January 2006.
    PDF (1.9 MB)
  8. B. Motik and R. Rosati. Closing Semantic Web Ontologies. Technical Report, University of Manchester, UK
    PDF (561 KB)