Back to Topic Mapping


(Continued from Topic Mapping Roundup, 2003-1-9)

The idea of topic mapping is just starting to become important for me, as other people (mainly Matt Mower and Paolo Valdemarin - see k-collector) are putting together sites that collect weblog posts under topic headings, like my own Topic Exchange, and, as expected, all the topic names are different.

Topic mapping is a simple concept: it's about showing how topics relate to each other - which ones are equivalent, and how they fit into a hierarchy (or multiple hierarchies). A topic is a sort of category - a heading under which you can put stuff. Stuff being weblog posts in this case.

Matt's LiveTopics tool (which is now part of k-collector) lets you maintain a whole bunch of topics and use them to categorise your weblog posts. My own blogging tool, bzero, lets you put a line like %topics blogging tools, topic exchange, k-collector in a post file and collates these topics into a local index (example).

Now we have a problem: we have my topics and Matt's topics (OPML version - can't find the HTML one), except not all of our topic names coincide.

So, we make a topic map that shows which ones are equivalent. This can take many forms. Below is a very simple equivalence mapping of some topics within k-collector and some within the Topic Exchange.

kc: BlogTalk = te: blogtalk_conference.
kc: Emergent Democracy = te: emergent_democracy.
te: foaf_supplort = te: foaf_support.
kc: Google = te: google.
kc: Marc Canter = kc: Marc Canter.
kc: Matt Mower = kc: Matt Mower.
kc: Mikel Maron = kc: Mikel Maron.
kc: PlanetWork = te: planetwork_conference.
kc: RSS aggregators = te: agregateur_personnel_nouvelles.
kc: Social Software = te: social_software.
te: technology = kc: Technology and Society.
te: test = te: test_auto = te: test_autowithcaps = te: test_freebsd = te: test2 = kc: testing.
te: the_commons.
te: the_matrix = kc: The Matrix.... = te: thematrix.
te: topic_exchange = kc: TopicExchange.

This can be expressed in plain text format as follows:


Emergent Democracy


... (see whole file)

However, this sort of format is limited in what it can express - it only allows equivalences. We might also want to show some other things, i.e. whether something is a sub-topic of another topic, or whether two topics are related (but not equivalent).

So, we need something a little more complicated. Something a lot more complicated would be too much, but we need to be able to express more than just equivalence.

I started writing a spec for Really Simple Topic Mapping, but then found XFML, which might be what we want. Topics would become <topic>s, meta-topics would become <facet>s, and we indicate equivalence with &code><connect>. It seems to enforce a rigid hierarchy on things (I can't immediately see how to classify thematrix as movies | wachowski brothers | the matrix and religion | gnostic | the matrix, for example). Hopefully we can work around this.

Now: question time. Has anyone reading this used XFML? Comments please. Would you want to export your data (or want me to export my data) in XFML format? Can you parse it?

Comments here!


Jon Udell: quick & dirty topic mapping

Ontopia sells software to manipulate topic maps (?)