Abstract
Goose is an open-source, optimized database server for topic maps applications that conform to the current draft of the Reference Model (RM) for ISO 13250 Topic Maps. Implementations for the Standard Application Model for topic maps (the SAM) are among such applications. Goose builds on many lessons learned from our implementation of the Topic Maps Processing Model 1.0.2 (TMPM4) in GwTk.
Goose is designed using the REST architectural style, so there is built-in support for HTTP. Any web browser can be used to obtain statistical information, various index views, or query results from topic maps served from Goose. Alternatively, topic map information can be delivered as a web service.
RESTful delivery of topic map information will be demonstrated using Goose to serve a topic map of approximately 100,000 nodes that federates two taxonomies: the US SIC (Standard Industrial Code) and NAFTA NAICS (North American Industrial Classification System). In REST, hypertext is the engine of application state. Topic maps provide an efficient and compact representations of hypertext that minimizes the number of state representations that must be served.
The Goose distribution includes many features of interest to the topic map developer, including:
* Simple installation and set up. No RDBMS backend needs to be configured.
* A SQL-like query language, STMQL (Subject-based Topic Map Query Language)
* An HTML-based topic map browser
A set of client applications and development libraries in C and Python are included in the distribution. The distribution uses the MIT license.
Goose converts topic map syntaxes (including XTM) into L1, a very simple linear syntax that represents the topic map graph. The use of a such a syntax provides a very clear separation of the processing model (e.g. how process XTM data) from the actual representation of topic map information as a topic map graph. In addition, handling other document types that encode'topic map information (NewsML, NITF, HTML+DC, DAML, etc.) becomes a simple matter of defining a processing model and writing a converter that has L1 as a target.
Goose is available for download at http://www.gooseworks.org [Note: this is a welcome change from the previous URL, which was hyphenated.]
Keywords
![]() ![]() |
Design & Development by deepX Ltd. 2002 |