TMAPI is a programming interface for accessing and manipulating data held in a topic map. The TMAPI specification defines a set of core interfaces which must be implemented by a compliant application as well as a set of additional interfaces which may be implemented by a compliant application or which may be built upon the core interfaces.

TMAPI has been developed in an open process by developers working on topic map processors and topic map applications and placed into the public domain. There are no restrictions on its use.

This document provides a guide to the TMAPI interfaces for both developers using the APIs and for developers who wish to create an implementation of the API. As TMAPI is defined as a set of Java interfaces, this guide uses Java notation and assumes that the reader is familiar with basic Java programming concepts such as interfaces and object-oriented inheritance.

This guide is NOT a method-by-method listing of all of the interfaces of TMAPI - for this, the reader is directed to the Javadoc. This guide is also not a step-by-step tutorial in writing topic map applications using TMAPI[1].

When writing documentation in parallel with code, it is almost inevitable that sometimes one will get out of sync with the other. In any case where this document appears to contradict the Javadoc documentation for an interface, class or method, the Javadoc should be considered to be the authoritative source. In other words, in the case of any differences, the Javadoc is right and this document is wrong.

[1] Although such a tutorial is needed and if you feel like writing one, let us know!