home > library > articles > explaining topic maps

close subject identifiers for Explaining Topic Maps
  • http://www.topicmapslab.de/documents/Explaining_Topic_Maps

Explaining Topic Maps

Published by {{by}} on {{at}} and updated at {{updated}}.


Prior to writing this entry, I was victim of a person asserting that Topic Maps is an XML based standard. It’s not!

Prior to writing this entry, I was victim of a person asserting that Topic Maps is an XML based standard. It’s not!
As pointed out by Are Gulbrandsen on the Norwegian emnekart-diskusjon mailing list just after the Topic Maps 2008 conference, this is a common misconception. And that’s why I decided to write about what Topic Maps really is.

Topic Maps

To get it out of our way, let’s establish — once and for all:

Topic Maps Is Not

  • An XML Vocabulary
  • Limited to XML representation
  • Limited to a specific kind of application

Topic Maps Is

  • A Technology (hence the singular “is”)
  • Independent of Implementation (such as TMCore, OKS, or ZTM)
  • Independent of Representation – be it data objects or XML
  • About Organizing Information

Topic Maps is defined in ISO/IEC 13250 — Topic Maps. The data model is described in Topic Maps — Data Model, and you’ll find all kinds of other Topic Maps related standards documents over at isotopicmaps.org.
I will not dig into the standard as such here, but rather try to explain what Topic Maps really is all about.

Organizing Information Without Topic Maps

Most computer based systems, be it Web Content Management Systems or Document Management Systems, have certain needs with regards to organizing information and information resources.Once something is stored in a computer system, you usually want to be able to retrieve it at a later date.

Categories & Hierarchies

CMSes, for instance, will let you organize your documents in hierarchies of categories/taxonomies. Grouping documents or articles in categories makes it much easier to find them again whenever needed.
If I publish all my articles about “cars” into a folder named “Cars”, other people are also likely to look though this folder for stuff about “Cars”, which is of course very nice.
But the pile of data usually builds up, and you don’t always know just what kind of, or where a document is stored. That’s why we have search engines (both Google and application specific ones).

Keywords and Tags

However, no matter how clever the algorithms are, search engines are likely to return either too many, too few and/or irrelevant results. That’s why most systems will let you specify meta data such as keywords, or for instance “best bets” (~synonyms), for your articles, etc.
The systems can use keywords to rank documents and search results. When searching for “Cars”, a document that is tagged with the keyword “Cars” can be seen as more relevant than a document tagged with “Apples”.
If you are lucky, the system supports synonyms (relation between different keywords), so that searches for “Vehicle” can be directed towards all your “Car”-articles.
Further, most CMSes are limited to seeing the world as a set of articles or documents, and everything you describe will be in the form of an article placed in a category, possibly tagged with a few keywords.

Using Topic Maps to Organize Information

Topic Maps goes beyond all of the above, and lets you organize your information in any way whatsoever. Using Topic Maps, a system can let users describe any kind of information. If you wish to, you can use categories, taxonomies, etc. but you can also go even further…

Information About Subjects (Things)

In a Topic Maps based system, you can describe any thing — articles, people, documents, offshore platforms, cars, or anything else (the standard really does say “anything whatsoever”). And you’re not limited to keywords (continue reading and you’ll see).

Associated Information

You can also state how the different kinds of “things” are related. Stating that a “Car” is a kind of “Vehicle” (creating a hierarchy), that a particular vehicle (an instance of “Vehicle”) is owned by a given “Person”, and that a “Person” has a name and a birth date, etc. is trivial to a Topic Maps driven system.
Topic Maps is (of course) not limited to expressing “owned by” relationships; you can express and define any kind of relationship between one or more “things”. Any kind whatsoever.
You might want to assert that Persons can be related to an Organization, for instance, or that a Person might be employed by one or more Companies. Or perhaps that a document mentions a subject, while another document is about the same subject.
Being able to express this kind of meaning is obviously (right?) a much more powerful feature than simply using keywords that lack information about how they are related to the documents as well as each other.
By capturing this kind of meta information (arbitrary types and relationships), one is also able to create systems that are far more powerful in regards to findability and search.

Information Networks

Instead of being restricted to the old fashioned hierarchies, the information can be networked, making it more accessible to your users.
This is especially important on the web, where there is no single entry point to a site. Users don’t enter a site via its front page anymore, they come via other sites — such as e.g. Google, and land on any page of your site. Hence you should really want them to be able to find the relevant information without browsing up and down your category tree.
Besides, an article doesn’t necessarily belong to a single category, and while many CMSes allow you to publish articles across multiple categories, being able to express the exact relationship with which an article is related to a given concept — for example a category — is of course better.


Topic Maps does also define something called “scope”. Scope enable us to state under which perspective (scope) a given piece of information is valid.
It may be, for instance, that a specific person, group, or organization has asserted that something is true. By using scope, one can explicitly capture that this information is valid when seen by, or from the scope of, this entity.
(There is also a default scope under which the information is always considered valid — for example the “default” name of a person).
Scope may be used to express what information is valid to which user group(s), the language of a piece of information, etc.
Not all humans agree on everything (e.g. how to represent some aspect of the world), and therefore scope is an important feature of Topic Maps.

Guided Search

Since, by using Topic Maps, people can express how different terms are related, and are not limited to synonyms only — remember; you are not limited to any kind of relationship! — applications can provide more intelligent search engines.
Topic Maps driven systems can utilize the information about its types and relationships to create search engines where users can filter the returned result based on e.g. the type of information in the database.
Searching for “municipality” at Government.no shows an example of how a Topic Maps driven portal might let users filter search results, narrowing down the result based on relevant kind of information (e.g. “Laws, rules and circulars”).
Note also the wording of the filters: “Show only content about the topic” specifying the type of the association between the content and a given topic.
If built the right way, such a search engine could use any topic map as it’s source because the list of filters would be dynamically generated based on the contents of the topic map (its topic types and relationship types).

Re-visiting the Is and Isnts

I started out by saying that Topic Maps is not an XML standard. Hopefully, you know that by now. Why the common misconception then?
XML Topic Maps is an XML vocabulary for representing topic maps in a machine readable format. Some people have probably heard or read of XTM without knowing what Topic Maps, or the difference between XTM and Topic Maps, is.
As already pointed out, XTM is merely a tool for representing topic maps in XML for e.g. data exchange. As long as your information is organized in a way complying to the Topic Maps standard, you could pretty much represent it in any way you may fancy … be it XTM, CTM, LTM, AsTMa=, GTM, or by any other means.
The nice & important thing about XML Topic Maps is that it is a standardized way for representing topic maps in XML. Any application that can parse XTM, can construct a topic map from any valid XTM-document (like the topic map of my blog) … with the meaning of the individual information items preserved.


Topic Maps is a standard that helps us organize any kind of information and information resources in any way that we might want to. It is a technology for describing subjects in ways far more powerful than the traditional use of flat lists of keywords or tags and hierarchies.
Plus, it is thought-through and flexible way of organizing information: you can, in theory — and very often in practice, at any point extend a Topic Maps based system by adding new concepts or relations to the topic map(s) … there is no need to re-write the entire application and/or its database!

More Information

You should now be familiar with the fact that Topic Maps is not an XML based standard. Hopefully you’ve also got an (at least vague) idea of what the point is.

This article is published with the kind permission of Trond Pettersen. Originally it was published April 16th, 2008 under the title Explaining Topic Maps at topicobserver.com the blog of Trond Pettersen.

Authors of this document are

Trond K. Pettersen

No contact information available. 


Trond K. is project leader of Wordpress Topic Maps (WP2TM) and billy-corgan.com.



is associated with {{count}} items.


TMDM is the abbreviation for Topic Maps Data Model. You will find a compact illustration of all relationships within the TMDM


is associated with {{count}} items.


XTM is the abbreviation for Topic Maps XML Syntax. There are currently two versions: XTM1 and XTM2.


Follow us on Twitter


Topic Maps provides a proven means for data integration scaling to the
web, as well as a core technology for our highly flexible applications
with largely autogenerated frontend structures.

Stefan Kesberg
topicWorks Navigator
Topic Maps Lab auf der Cebit 2011

Graduate from the Topic Maps Lab