Technologies used
topic map logo
xSiteable logo

topic maps Frequently Pondered-about Things

In talking about and trying to get wider acceptance and use of topic maps, I stumble upon a lot of misconceptions and myths about them. This, needless to say, makes the task of spreading the good word just that tad bit more difficult, so in lieu of this, here is my short list in trying to clearify topic maps;

What is a topic map?

A topic map is, in general, the popular name for a way of thinking, and two open standards; the XML-based standard named XTM, and the ISO 13250 standard named HyTM. I focus mainly on XTM for developers through this FAQ.

So, what is XTM?

XTM is an application of XML in which you can map topics, associations, structures, data, metadata, whatsnot.

Ah, so Topic maps is just an XML file?

No, XML is the portable transportation and storage layer of a larger paradigm called "Topic maps". Use Topic maps for defining your map, and use XTM to store and transport it.

And this means?

It means a) that any software that speaks XML can, in more or less fulfilling terms, use Topic maps, and b) that the technological constraints of platform, portability and competence are virtually gone. This leads to fast development of strong solutions. There are of course specialised software written for topic maps, but it is easy to tweak any exsisting or future XML-capable software to use them for good purposes.

And what can you do with topic maps?

There are some areas where topic maps are known to be the ne plus ultra, such as metadata mapping, associative structuring, cataloging and relational infostructuring, but in my experience and the more I work with them, I would say that the answer is "anything". topic maps can reflect any structure, any relation, or any model. It can be used for almost anything; workflows, diagrams, navigation, databases, maps, shopping-lists, games, configuration, you name it.

And how do you work with them?

You define your ontology, and create topics and associations between topics based on the ontology.

Ontowhat?!

An ontology is just a set of words you define that means something to you outside of the datamodel. In other words, it is just the words you use to define that something has a meaning. "written-by" is such a word, saying that something is written by someone. The computer of course doesn't understand what "written by" means, but you do. So, the set of words that define a topic maps semantics is called an ontology. But really, it is just a bunch of words that gives meaning to you.

And you create an ontology how?

What is it that you want to create a topic map of? Litterature? I'm sure that "written-by", "author", "book", "published-date" and so forth makes a reasonable ontology. Predatory fish? I'm sure that "specie", "found-in", "feeds-upon", "feared-by", and "amount-of-teeth" could be a starting ontology. It is a set of words that makes topics and associations make sense. There are a number of ontologies already defined, and if you're working in defined areas, you might use one of them, like some of the DAML+OIL ones.

How does an ontology fit into a topic map?

Very nicely. They are, as most things in a topic map are, topics themselves. There is a myth that "anything is a topic", which is almost true, but not quite. You can of course make a topic out of anything, but does that reflect a good architecture? This is an open issue, and as such, I'd like you to join in discussing this with the Topic maps community.

And I can use topic maps how?

There are several ways of using topic maps to solve actual problems in established or new technological frameworks. There are both commercial and open-source specialized software available, but even a common technology as XSLT could work as a starting-point for getting up and running. A good starting place looking for tools and software is Easytopicmaps.org, where "resources" are listed almost at the end of the front-page.

So, how do you personally use them?

Ah, glad you asked. I'm at the moment doing several XSLT-based frameworks for topic map navigation. One of these frameworks, the xSiteable project, will drive my new homepages, and is, as you know through reading these pages, open-source and BSD-licensed. I have a great number of improvements lined up for it (read the xSiteable Future Page page for more on this) which will make it a very strong framework for heavy work.

And there you have it; a few simple questions asked and answered. Hopefully I've answered just that question that you couldn't get your gripes on. But if I haven't, please feel free to make me add important questions and answers to this page through my e-mail ().

More under