A first major public release of TMAPI has been made available from the project's SourceForge website. TMAPI is a "proposed programming interface for accessing and manipulating data held in a topic map.
The TMAPI "Common Topic Map Application Programming Interface" 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." According to the project announcement of April 8, 2004, the goal of TMAPI is "to allow developers to learn and use just one programming API for work with any topic map processing engine — improving code portability and reducing learning curve. TMAPI has been developed in an open process by developers working on topic map processors and topic map applications, and has been placed into the public domain; there are no restrictions on its use."
Motivation for the TMAPI development effort is provided on the project home page: "[Though] commercial and non-commercial topic map processing applications are 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."
From the TMAPI 1.0 Alpha Release Announcement
"TMAPI is a proposed common programming interface for topic map processors. The goal of TMAPI is to allow developers to learn and use just one programming API for work with any topic map processing engine — improving code portability and reducing learning curve. TMAPI is public domain software free from any restriction on its use.
After a long hiatus, work on TMAPI has finally progressed to our first major public release. This is the 1.0 alpha release which is now available for download from our SourceForge project page. We welcome review and feedback from any interested party. Please note that TMAPI is not a complete topic map processor — it is an interface specification. Also, please be aware that we have not yet created documentation beyond the UML and the (reasonably well documented) Javadoc — this is planned to be part of the beta release in two or three weeks time..." [posted by Kal Ahmed, 2004-04-09]
TMAPI Implementations
Sample implementations for TMAPI are referenced on the project home page:
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 TMAPI Implementation. "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. "XTM4XMLDB is an implementation of the TMAPI for native XML - Database, which supports the XML:DB API. XTM4XMLDB is a TopicMap engine, which works with a native XMLDB as Backend. XTM4XMLDB is needed in XTMCMS a XTM ContentManagementSystem."
Shark. "Mobile shared Knowledge. Shark is a Topic Map application for mobile clients. It uses a mobile implementation of TMAPI with a RecordStore Backend for J2ME. Shark is a project from subject group iVS at the Technical University Berlin."
Principal references:
- TMAPI home page
- TMAPI SourceForge project page
- File listing for TMAPI 1.0 alpha release
- Download the source [alt URL]
- TMAPI Javadoc
- UML diagrams:
- Mailing list 'Tmapi-discuss' A general discussion of TMAPI issues. Post to tmapi-discuss@lists.sourceforge.net. See the list archives.
- Topic Maps:
- Topic Maps — Overview and Basic Concepts. By Steve Pepper and Motomu Naito (JTC1/SC34), for ISO Project 13250: Topic Maps. 2003-11-03.
- "What Are Topic Maps?" By Lars Marius Garshol. From XML.com.
- Guide to the Topic Map Standards
- TopicMaps.Org web site
- "(XML) Topic Maps" - Main reference page.