classification2Add my vote for this tag taxonomy2Add my vote for this tag create new tag
, view all tags

Topic Maps

Topic maps are a way of organizing information, and will be very useful on wiki sites in the future.

About Topic Maps

Wired has an introductory article: Searching Smarter, Not Harder. Topic maps are smart indices that improve search capabilities by categorizing terms based on their relationships with other things. For example, William Shakespeare is a topic that would be mapped to essays about him, his plays and his famous quotes. The article lists a few uses of topic maps.


  • Ontology = a model for describing the world that consists of a set of types, properties, and relationship types. Ontologies in computer science came out of artificial intelligence, and have generally been closely associated with logical inferencing and similar techniques, but have recently begun to be applied to information retrieval.
  • Topic maps = a subject-based classification technique. Topic maps are organized around topics, and each topic is used to represent some real-world thing. In topic maps, three constructs are provided for describing the subjects represented by the topics: names, occurrences, and associations.
  • XTM = XML Topic Maps (http://www.topicmaps.org/xtm/1.0/, the Specification). An XTM document is an XML document that contains one or more XTM topic maps.

Topic maps and TouchGraph

Sounds a lot like TouchGraph, are they related?

TouchGraph is a visualization tool to represent semantic graphs (e.g. topic maps). It is hard to find any more information on this tool. The http://www.touchgraph.com/ is sparse. Developers will be more interested in the tech site http://touchgraph.sourceforge.net/ (also sparse).

A topic map uses a knowledge structure (ontology) that is independent of documents. The ontology is set up according to rules (grammar), defined in the XTM specification.

TouchGraph visualizes a structure between documents. I am not sure on what ground topics are linked/grouped in TouchGraph (maybe better to ask: how the XTM file is generated). The TouchGraphPlugin shows connections between linked topics.


Topic maps don't have to be displayed - you can use them as an enhanced thesaurus (which mainly has parent-child relations and related terms) and search tool. Topic maps also are generally not generated automatically. Where topic maps are generated (partially) automatically, they make use of Dublin Core meta tags in html documents: title, date, publisher, language, format, etc.

What TouchGraph lacks as far as I know is the typing of topics:

In topic maps topics can be typed, which provides considerable power for describing the world from which the topics are taken. This is a capability that is missing from traditional classification techniques. Using this, one could create types and assign them to topics, and thus say that "topic maps" is-a "technology", "XTM" is-a "interchange format", "Norwegian" is-a "language", "HyTM" is-a "interchange format", "TMCL" is-a "constraint language", and "TMQL" is-a "query language", and so on.

-- http://www.ontopia.net/topicmaps/materials/tm-vs-thesauri.html#N850


Topic maps offer unprecedented power when it comes to searching, in the sense that they offer very good support for full-text searching, very good support for complex queries, and also provide an excellent basis for natural language querying.

Full-text searching a document corpus typically returns the documents that mentioned the term being searched for, but a topic map-based system can do far better. Instead of returning documents, the system can return the topics that best match, together with additional information, and this provides a starting point for jumping into the topic map and browsing around to find the answer to the specific question.

To take a simple example, if we were to do a full-text search for "XSLT" in the conference proceedings for the IDEAlliance conferences, there is of course a huge number of hits, but at the very top comes the topic "XSLT", which represents the XSLT standard. From there one can find the specification, papers about XSLT, which standards organization produced XSLT, tools implementing XSLT, tools using XSLT, etc

However, because of the extra structure in topic maps, we don't have to stop here. We can ask for "papers about topic map query languages", for example, or "papers about topic map query languages given by someone based in Japan", or "papers about query languages", or "papers about RDF by someone who's written papers on topic maps".

Through the use of a topic map query language these queries can get arbitrarily complex. The main problem is that the user has to know both the query language and the ontology of the topic map, and most users will be unwilling to do either. The solution to this is to build a friendly forms-based user interface where the user can set up the query by selecting terms in drop-down lists or suchlike.

There is, as mentioned above, a third possibility, which is natural language querying. Some experimentation on this has been done using topic maps, and it indicates that quite powerful search capabilities can be created by matching natural language against names in the topic map, then looking at the matched topics to see whether they are topic types, association types, or individuals, and finally putting together a query in a query language from this. It's too early to be able to conclude that this will work well for real end users, but the results so far seem very promising indeed.

-- http://www.ontopia.net/topicmaps/materials/tm-vs-thesauri.html#N1063

Topic maps and TWiki

Topic map descriptions can be used for:

  • categories
  • form classifications
  • parent-child relations
  • author-document relations
  • date searches
  • ...



  • TM4J - Topic Maps For Java - TM4J Engine - a topic map processing engine written in Java
  • Ceryle - A Knowledge Base Authoring Framework for Writers - Ceryle is free, open source software distributed under a modified Apache-style license, Ceryle is a "next generation" writer's tool, designed to aid authors in the organization, maintenance, and navigation of their research materials, as well as assist in the outlining and writing process. Under consideration is also the ability to author hypertext within the application, such that it could be used as a web site or nonlinear text editor. All content is stored within Ceryle's database, with graph visualization tools to assist in searching, browsing and organizing content. -- Sounds like
  • http://search.cpan.org/dist/XTM/
  • http://search.cpan.org/search%3fquery=XTM/software/mode=all - XTM::Base is a topic map engine that supports XTM 1.0. It can load topic maps from XTM 1.0 documents, and provides a generic API for working with them. There is also a simple text-based interpreter, which can be used to query loaded topic maps, as well as support for XTMPath and LTM.


-- Contributors: ArthurClemens, MattWilkie


Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r10 - 2006-03-22 - ArthurClemens
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.