TmTk Documentation


Table of Contents

1.
Introduction
2.
Installation
3.
Additional Configuration
A.
History of the Reference Model and TmTk

Table of Contents

Introduction

Introduction

Welcome to TMTK!

TMTK is a toolkit for building Topic Maps applications. Its design is very flexible and enables the implementation of simple commandline tools or lightweight topic map parsers for software agents as well as the creation of complete Topic Maps Management Systems (TMMS).

TMTK is an implementation of the concepts defined in the Topic Maps Reference Model, which propably go beyond the common understanding of Topic Maps to date. This common understanding of Topic Maps is essentially one application of the Topic Maps Reference Model and TMTK comes bundled with this so-called Standard Application Model aka. SAM. Thus, if you do not bother to unleash the full capabilities of the Reference Model, TMTK provides everything you need right away.

For those who are interested in the background of TMTK and the Refrence Model, please refer to the History appendix.

Architecturally, TMTK completely separates topic map storage from topic map document processing. Topic Map storage is handled by the TMTopicMap class (TMTK uses C in an object-oriented style so I'll just use the term class in this documentation) which provides the core logic and interacts with the store through a defined API. This decoupling of logic and storage implementation allows arbitrary storage implementations to be used. Currently TMTK only comes with an in-memory store, but file- and RDBMS based implementations are scheduled for future releases.

For topic map document processing, TMTK provides an omnivorous parser, that can process a potentially arbitrary number of documents formats and syntaxes. TMTK currently supports parsing XML (requires James Clark's expat parser to be installed on your system), RDF (requires Dave Backetts raptor) and line-based syntaxes (parser included already). So called syntax processing models are needed to transform a given syntax (e.g. XTM) into a topic map (one that is stored in TMTK). TMTK provides processing models for (a simple subset of) XTM, some common RDF namespaces (currently subsets of Dublin Core and RSS) and for ISO2788 encoded thesauri. Processing models for NITF,NewsML,XHTML and many others are planned, but let's get the basics right, first.

At the moment, TMTK does not provide a query language, but uses an approach to querying I call parameterized views. A view is essentially an abstraction of a subset of the semantics that govern a certain topic map and with certain parameters (defined by the views individually) users can control the portion of the view they are interested in. (For the Standard Application Model, the idea of an index is , for example, a view and I might want to limit the retrieval of such an index to only base names and occurrences of a certain type.)

Finally, TMTK includes a commandline tool that allows interaction with topic maps in the fashion of UNIX shell commands.

Table of Contents

Installation

Installation

Please refer to the INSTALL file of the tmtk source distribution.

Table of Contents

Additional Configuration

Additional Configuration

History of the Reference Model and TmTk

TMTK originates from an effort to support the early Processing Model for XTM aka. PMTM4 or PM4TM. The early version was an implementation of PMTM4 and TMTK has since then evolved with the various refinements of the Topic Maps Reference Model.

[FIXME]