What is TMAPI

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.

Why Bother?

There are already a significant number of commercial and non-commercial topic map processing applications available. Each of these applications has a different programming interface, reflecting the slightly different ideas that each developer has had about the "best" way to represent the information in a topic map. For an application developer, this leads to non-portable code; the need to learn a new API for every topic map implementation he or she uses and the lack of a community of supporting developers.

TMAPI hopes to do for topic maps what SAX and DOM did for XML - provide a single common API which all developers can code to and which means that their applications can be moved from one underlying platform to another with minimum fuss.


2010-02-06 : TMAPI 2.0 released!

This is the first release of the new TMAPI generation. See our TMAPI 2.0 homepage for more information.

11th January 2005 : TMAPI 1.0 SP1 released!

This is a bug-fix version of the TMAPI 1.0 core package. As well as fixing bugs, this release has improved documentation and additional conformance tests added to the JUnit test suite (see list of changes). TMAPI 1.0 SP1 is a recommended upgrade for all users and implementers.

You can download the TMAPI 1.0 SP1 distribution from SourceForge.

On this site you can find UML diagrams for the the core package the exceptions and the index API.
The TMAPI core interfaces have been implemented in Java (Javadoc).
The TMAPI Developer's Guide and Quickstart gives a brief overview how to start with TMAPI.
All of these documents and diagrams are included in the download package.

If you like to discuss TMAPI please join our mailinglist. You can also access the project status, issue tracker and CVS repository via our SourceForge project page.

TMAPI implementations

Note: This list is provided for information only and does not represent an endorsement of any of the implementations.

If you have an implementation of TMAPI that is not listed here, please let us know by announcing it on our mailing list.

TM4J - Topic Maps For Java

TM4J is an Open Source Java library for working with TopicMaps. It provides its own API but also provides TMAPI interfaces. TM4J can be used with 3 backends: in-memory, Ozone (an Open Source object-oriented database) and Hibernate (for use with relational databases such as MySQL).

tinyTIM - a tiny in memory TMAPI implementation

tinyTIM is an Open Source TMAPI in memory implementation with a small jar footprint. tinyTIM is suitable for Java applets like hypergraph. tinyTIM also implements the latest IndexAPI proposal.

XTM4XMLDB - Topic Maps for XML databases

XTM4XMLDB is an Open Source TMAPI implementation for native XML databases like eXist or Apache Xindice as backend.

OKS - Ontopia Knowledge Suite

The OKS is a commercial suite of Topic Maps tools for building, maintaining, and deploying topic map-based applications. It has a native API, but also supports TMAPI, and adds support for tolog, the Ontopia Schema Language, full-text search, as well as frameworks for building Topic Maps-based web applications.


The TMAPI project is hosted by: SourceForge

Last modified: $Date: 2005/02/26 11:58:44 $