The informative Topic Maps website maintained by
Michel Biezunski (InfoLoom) and
Steven R. Newcomb (Coolheads Consulting)
The Structure of Topic Maps Foundations
Michel Biezunski and Steven R. Newcomb
June 27, 2001
The Topic Maps standard currently has two syntaxes:
These two syntaxes for expressing Topic Maps can be processed according to rules defined in the standard. These rules include:
These rules are mentioned in the standards, and are explicitly developed in Topicmaps.net's Processing Model for XTM 1.0, version 1.0.1 (March 20, 2001).
The development of Topic Maps and the project of developing new application layers has led to redefine the vocabulary. We therefore propose to reserve the term "Topic Maps parsing" to express the transformation from one of the syntaxes used for interchanging topic maps (Hytime-based and XML-based) to an exploded form, which can be described as a graph. "Topic Maps processing" would then be used as a generic term to express all kinds of manipulations that can be performed on the result of parsing, i.e., querying topic maps, expressing the rules for building topic maps, visualizing topic maps, etc.
The result of parsing topic maps can be best expressed as a graph (although this is not the only way to express it). The information granules contained in this graph, called a "Topic Maps Graph", is what applications understand and is the basis for the various processing applications mentioned above.
Since the structure of the Topic Maps Graph is well defined, it seems natural to express it in the form of an XML structure. We have chosen the Document Type Definition formalism, but another formalism such as XML schemas, Relax, or any other formalism could be used instead. Transformation from one formalism to another is straightforward and there is no particular requirement here which would prevent another formalism to be used.
These DTDs express the foundations of the Topic Maps paradigm.
The purpose of the simple Topic Maps Graph Document Type Definition is to express the graph in a simple XML expression, which uses a minimal number of element types, and its main purpose is to help the XML community to understand quickly what the Topic Maps Foundations consist of.
No information is lost in the graph structure compared to the original syntax, even if the order and number of elements is different.
In supplement from the simple graph DTD, we are providing another representation of the same information, optimized for building applications and can be built using standard XML-based approaches, such as DOM-based technologies. This DTD, called the "Topic Maps Graph API" DTD contains an Application Programming Interface to Topic Maps Graphs.
These two DTDs have no other status than informative. They are proposed as input for the discussion going on for establishing solid foundations for the Topic Maps standard. It is our hope that they will be considered useful in this process.