Creating a custom knowledge base or ontology

<< Web Applications | User's guide | Importing entities and facts >>

Overview

As a semantic annotation platform, KIM can make use of ontologies and knowledge bases. It can also generate and store new knowledge. This section explains the roles of the different sorts of semantic resources related to KIM. Further, it determines which of them are mandatory and which are subject to configuration, extension, or customization.

KIM version [1.2.12.16] introduces a major change towards the flexibility and configurability of KIM with respect to the different sorts of ontologies and knowledge bases. Before this version, there was a single fixed ontology used, namely KIMO. Also, on a low level, the semantic repository was working with a single file, which was holding a compilation of KIMO, the world knowledge base and the newly extracted knowledge. Starting with KIM version [1.2.12.16], KIMO is replaced by a number of new ontologies: the different modules of PROTON, KIMLO and KIMSO. Thus, KIMO is not part of KIM Platform anymore. There are specific utilities, alowing migration of resources, which are based on KIMO, to the new ontologies (for details, please contact kim.support@ontotext.com).

The KIM Platform is based on the PROTON ontology, developed in the scope of the SEKT project. KIM depends only on the System module of PROTON, which is further extended by KIMSO. The other related ontologies (KIMLO and the Top and Upper modules of PROTON) are part of the distribution - KIM makes use of them, but they can also be replaced, changed or extended. These dependencies are further explained below.

PROTON is an OWL ontology, which expressiveness fits in the OWL Lite fragment of the language. The KIM Platform comes equipped with the SESAME semantic repository. KIM makes use of the SAIL (storage and inference layer) of SESAME, which is tuned and extensively tested for use with PROTON. It allows high performance and scalability, in terms of instance data.

PROTON

PROTON is a light-weight upper-level ontology, which defines about 250 classes and 100 properties, covering most of the upper-level concepts, necessary for semantic annotation, indexing, and retrieval. It is separated into three modules:

  • System module - contains a few meta-level primitives (5 classes and 5 properties). It introduces the notion of 'entity', which could have aliases. The primitives on this level are usually a few things that have to be hard-coded in ontology-based applications. This module can be considered an application ontology.
  • Top module - the highest, most general, conceptual level, consisting of about 20 classes. These ensure a good balance of utility, domain independence, and ease of understanding and usage. The top layer is usually the best level to establish alignment to other ontologies and schemata.
  • Upper module - over 200 general classes of entities, which often appear in multiple domains (e.g. various sorts of organizations, a comprehensive range of locations, etc.)

The diagram below demonstrates the dependencies between the different modules of PROTON and the KIM specific modules. It also depicts potential (possible) extension/customization paths. The dependencies on the diagram are to be interpreted in the direction from the bottom upwards.

A Custom Top Ontology and a Custom Upper Ontology stand in the places of any other ontologies that may extend or substitute (partially or completely) the proprietary PROTON Top and Upper modules, respectively. Such a replacement is not a hard task, although by expectation the PROTON Top and Upper modules should be efficient, consistent, and generic enough to satisfy the needs of the majority of use cases.

Application Ontology and Domain Ontology are designators of the respective specific application and/or domain ontologies that will be mapped to PROTON as its extensions, according to the requirements of each particular use case.

Lastly, the KIM-specific KIM System Ontology and KIM Lexical Ontology are mentioned in this diagram due to their smooth integration with the predecessor of PROTON in the past the KIMO ontology. KIMSO and KIMLO are optional modules extending the PROTON ontology, but they are an essential and inseparable part of the KIM Platform.

To summarize, any extensions to the ontology must be integrated with PROTON and KIMSO to be recognized by KIM.

Integrating ontology extensions

Any classes, added to the ontology, must at least inherit, directly or indirectly, http://proton.semanticweb.org/2006/05/protons#Entity. It is recommended that your classes inherit from some of the more specific PROTON Top module, like http://proton.semanticweb.org/2006/05/protont#Person, http://proton.semanticweb.org/2006/05/protont#Organization or http://proton.semanticweb.org/2006/05/protont#Location . Any added classes or properties (relations) must be declared visible, in order to be displayed in the KIM Web interface. To declare a class or a property visible, add a triple to KIM/content/default/visibility.nt, similar to the ones already in that file.

If you have added new OWL or RDF files, add them to the initial load list of Sesame.

If your installation has been upgraded to use the BigOWLIM semantic repository and you have already populated some documents you want to keep, you also will need to (re)import any added or changed files. The last step is not required if you are using the installed by default Swift OWLIM.

Page last modified on July 17, 2008, at 04:25 PM