The previous sections of this paper have concentrated specifically on commercial and, in the most part, closed-source applications. However, this author believes that it is important for a newcomer to topic maps not to be led to think that there is no application of topic maps in the open-source world. As with many open source projects, commercial reasons alone are not the justification for the production of open source topic map software or open source software using topic maps - in many cases, these projects "scratch an itch" felt by the author or authors. This section briefly presents a selection of open source and free software projects which make use of topic map technology.
TM4J is a topic map processing tool-kit written in Java. The basic TM4J tool-kit provides a programming interface to parse and load topic maps into memory or into persistent storage in an object-oriented database; to manipulate the topic map, including searches against a variety of different indexes of the topic map structure and finally to serialise the topic map or parts of the topic map in XTM syntax.
The major focus of the TM4J project has been on developing the back-end processing systems for higher-level applications, however as the project matures and expands, plans are being made for developing tool-kits for producing web-sites from topic maps with little or no coding effort, and for developing a full-featured topic map editing environment.
TM4J is developed and maintained by the members of the TM4J project and is distributed under the Apache Software Foundation license. For more information, see http://www.tm4j.org/.
The GooseWorks topic map tool-kit provides a topic map processing "engine" and API in C, with a wrapper API also available in Python. The tool-kit implements the graph-based topic map processing model proposed by Newcomb and Biezunski [PMTM4] ; and supports persistent storage of the processed topic map in variety of relational databases. The toolkit is designed not only to import XTM files, but to be capable of processing any kind of markup which contains inherent topic map information, such as NewsML, DocBook, RDF with Dublin Core, if the appropriate processing model is provided. Additionally, the tool-kit provides a suite of command line tools for basic topic map manipulations such as merging and filtering.
The tool-kit has been developed by Jan Algermissen (algermissen@acm.org) and Sam Hunting (gw@etopicality.com). The project home page is http://www.goose-works.org/. An HTML topic map browser based on GWTK is available online at http://www.topicmapping.com/v/V.cgi.
TMTab is a plug-in for Protégé-2000, an ontology creation tool, which enables an ontology created with Protégé to be exported using XTM syntax. By following some simple rules in the creation of the ontology, the ontology designer can control the way in which instances of the classes of the ontology and relationships between the instances are mapped into the generated topic map. Additionally, Protégé provides the user with a simple form-based interface for each class in the ontology - making the task of manually creating topic maps far simpler.
TMTab is developed and maintained by Kal Ahmed (kal@techquila.com) and is freely downloadable from http://www.techquila.com/tmtab.html
The Nexist project is an experimental test-bed for the development of an effective API for client-server architectures within the vision of Douglas Engelbart's Open Hyperdocument System [OHS] . Nexist is experimenting with an API that is based on the XTM XML topic maps specification. Along the way, Nexist includes projects which explore a constructivist approach to education, one in which learning occurs while exploring propositions made to answer focus questions, and presenting arguments both supporting and countering the proposed ideas.
Nexist is developed and maintained by Jack Park (jackpark@thinkalong.com). For more information, find the project at http://nexist.sourceforge.net/.
SemanText is an open-source semantic network application developed in Python. The application uses the topic map structure to hold the knowledge managed and processed by the system - topics represent nodes in the semantic network and associations represent links between the nodes. The topic types are also used to construct a class-hierarchy which enables the application to apply inference rules to the semantic network and so derive further knowledge which can be added to the knowledge base simply by creating more topics and associations.
SemanText includes the ability to harvest topics and associations from structured text such as XML and RDF files. A natural language processing component allows flowing text to be processed in a similar fashion.
SemanText is developed and maintained by Eric Freese and the project home-page is http://www.semantext.com/.
| Up: Topic Maps - A Practical Introduction With Case Studies | |
| Previous: Application Integration | Next: Summary |