Sunday 15 April 2007

Information Architecture and Topic Maps

Umm... things aren't as straightforward as I'd initially imagined. On investigating what's required for heterogeneous databases I've discovered that there's a whole world of stuff out there that I know little or nothing about: facets, synonym rings, and controlled vocabularies to name but a few. In fact this world has a name: Information Architecture and even its own bible, the legendary Polar Bear Book. Hidden amongst all this lies the mysterious field of Topic Maps. From my initial skimming of the available resources and documentation on the subject, it sounds as if these may be exactly what I’m after.

I describe Topic Maps as being mysterious for two reasons: Firstly, after an initial flurry of activity in the area at the turn of the century, it appears as if things have now gone a bit quiet. The Topic Maps standard, ISO/IEC 13250 and the related XML Topic Maps (XTM), were last published in 2002 and 2001 respectively. The only book I could find on the subject, XML Topic Maps, was also published in 2002. Additionally, many of the main published links on the subject no longer exist. The second reason that Topic Maps are a bit mysterious is the fact that the vast majority of the research, and companies working in the area, seems to be concentrated in Europe – America seems to be ignoring their existence; either Europe is at the cutting edge of this technology, or something equivalent must exist that’s being used in America and I haven’t discovered it yet! (RDF and OWL perhaps?).


Topic Maps – The Basics

In Topic Maps nearly everything is represented as a standalone entity - a topic, and relationships can be created between these topics. For example, if we wished to describe a book, we could create separate topics for the name of the author, the title of the book, the publisher of the book, etc. and other topics to describe the relationships between these topics – for example, that this book was written by the author. This makes it possible to create relationships for practically anything and therefore it’s also possible to create a relational database that can be used to represent anything, which is exactly what I’m after. In addition, new topics and relationships can be added as more information is known about a subject.

In the next post I’ll hopefully describe how a topic map database can be created and how a range of different subjects can be stored. For anyone who can’t wait till then, some useful Topic Map information can be found at the following links:

"Metadata? Thesauri? Taxonomies? Topic Maps!" http://www.ontopia.net/topicmaps/materials/tm-vs-thesauri.html

Topic Maps and Relational Databases
http://www.xml.com/pub/a/2003/03/05/tmrdb.html

2 comments:

Lars Marius Garshol said...

I wonder where this idea comes from, that Topic Maps went quiet after 2002 or thereabouts. In fact, that's when things started happening. We got our own conferences (the Topic Maps User Conference, TMRA, AToMS, etc), real projects started happening, etc etc.

There is loads of material out there, but it does seem like people aren't finding it, or are drawing the wrong conclusions from it.

What do you think we can do to avoid this?

Steve said...

Hi Lars, I think my impression of there being a lack of recent activity with Topic Maps was formed by an inability to find much in the way of up to date information on the subject. When Googling for information on Topic Maps a lot of the links were either broken or pointed to information from the period between 1999-2002. Similarly, a search on Amazon for Topic Map books returned only a couple of hits, and all for older titles. Even now, performing a google search for Topic Maps returns a first page of search items that, in general, don’t refer to recent work on the subject. The only site that does look up to date, http://www.topicmaps.com, has inactive links for major subject areas, such as Tools, Publications and Web Sites.

I thought, from my limited study of Topic Maps, that they sounded like a very flexible way of storing, representing and associating data. I’m sure that people are using them and that they are progressing. Unfortunately I found it hard to find sufficient, recent, information on the subject and, additionally, couldn’t find free tools in the languages I was after (C#).

I don’t know if other people have had similar problems finding Topic Map information, but certainly for me, what would have helped would have been a web site with up to date information and active links.