KAON for Developers
KAON is primarily a framework for the development of other ontology-based applications. As KAON has grown to a large and complex tool suite, it is central for developers to understand the structure and interplay of KAON modules.
KAON modules
KAON provides several modules. The modules can be roughly distinguished into three categories:
- Frontend: The frontend is mainly presented by two applications, OI-modeler and KAON Portal. These applications are intended to be used by human users. Both applications are extensible and can be easily configured to meet your specific demands ranging from changes in look and feel to access of new specifically implemented functionality. For example, we used the configurability of OI-modeler to provide access to the KAON ontology registry and the TEXTTOONTO algorithms for emerging semantics. KAON PORTAL has been successfully adapted to meet different corporate layouts for multiple industrial projects carried out by FZI.
- Core of KAON: The core of KAON are two APIs for the Resource Description Framework (RDF) and the KAON ontology language. These APIs are represented by interfaces for which several implementations exist.
- Libraries: To provide the functionality of KAON, we have developed several libraries, which can be used separately and outside of the context of ontology-based applications. For example, KAON currently provides the only open-source and Java-based Datalog inference engine.
Individual modules
The individual functionality of modules is described with each module (see list). After downloading the KAON distribution or (better) checking out from CVS, one finds the following list of directories/libraries:
- Frontend
- OI-modeler
- oimodeler: OIModeler Source Code
- KAON Portal
- kaonportal: Server Pages and Source Code for KAON Portal
- OI-modeler
- Core
- KAON Ontology Language Related
- apionrdf: main-memory implementation of the KAON API on the RDF API.
- apiproxy: Implementation of the KAON API as a client-side proxy for various types of servers.
- engineeringsserver: KAON Engineering Server.
- kaonapi: KAON API interfaces
- query: KAON Query Language Implementation
- RDF Related
- rdfapi: RDF API and main memory implementaion, parser, serializer
- rdfcrawler: RDF Crawler console application
- rdfserver: RDF SERVER (implements RDF API remotely)
- KAON Ontology Language Related
- Libraries
- datalog: (Disjunctive) Datalog engine.
- guibase: General library for GUI Development.
- similarity: Similarity matching library.
- trie: TRIE Index Structures.
- You find the following auxiliary folders in the CVS / distribution:
- 3rdparty: third-party libraries used for KAON.
- kaon: KAON documentation and main build file
- kaonexamples: KAON Example ontologies
Module dependencies
The module dependencies are as follows:
| Module | Depends On |
|---|---|
| Libraries | |
| datalog.jar | - |
| trie.jar | - |
| similarity.jar | - |
| guibase.jar | -
|
| Core | |
| RDF-related | |
| rdfapi.jar | - |
| rdfcrawler.jar | rdfapi.jar |
| rdfserver-client.jar | rdfapi.jar, all 3rdparty/JBoss libraries
|
| KAON Ontology Language-related | |
| kaonapi.jar | - |
| query.jar | datalog.jar |
| apionrdf.jar | rdfapi.jar, kaonapi.jar, query.jar |
| apiproxy.jar | kaonapi.jar |
| engineeringserver-client.jar | kaonapi.jar, apiproxy.jar, apionrdf.jar, datalog.jar, query.jar and JBoss libraries |
| lexiconindex.jar | kaonapi.jar, apiproxy.jar and engineeringserver-client.jar
|
| Frontend | |
| oimodeler.jar | kaongui.jar and guibase.jar |
| kaongui.jar | guibase.jar |
Documentation
Please read the supplied README that you find online, ships with the distribution, or in the kaon folder (if checked out from CVS). More "technical documentation"./Members/rvo/KAON_Dev_Guide.pdf on KAON can be found in the developer guide. A good source of insight is also the JavaDoc, which can be build using "ant javadoc". If you have downloaded the distribution of KAON, you will find the javadocs in the folder apidoc.
We are currently trying to build a structured tutorial on how to build applications using the different KAON components.
Contact
The description of every module lists the authors that have been involved in the construction of the module. Please do not hesitate to contact the authors after having spend some time to figure out how to solve your problem.
Last modified 30-01-2004 11:50 AM