A 5 min Introduction into TMRM

When you are using Topic Maps, then you most likely are familiar with the TMDM, the data model for Topic Maps. It defines items such as topics with their various identification mechanisms, and names and occurrences and associations. TMDM is quite easy to wrap your mind around.

Still, TMDM may not sit at the very center of the Topic Map paradigm in sense that the selection of constructs such as topic, occurrence, name and association is - while anthropocentrically useful - otherwise rather arbitrary. A more abstract view for Topic Maps does not commit itself to these constructs and also not to a predefined way how subjects are effectively identified within a map.

That view was first proposed by Steve Newcomb. After many iterations it became the fundamental model, the TMRM.

Its basic building block is simple, it is the proxy:


It looks like a generalized RDF statement, only that not a single subject, predicate, object triple is used, but always a set of properties. Each such property has a label and a value, so that a proxy is simply a set of key/value pairs. Values are taken from some value sets (data types), such as INTEGER or STRING. And labels are simply references to their proxies.

That's it.

Amazingly enough, one can take a TMDM instance and compute a representation of it in TMRM only using such proxies, or rather a special combination of it. Newcomb called the way how this has to be done a disclosure. That also defines what it means that two proxies are to be regarded equivalent.

The rest of the TMRM then deals with navigating through such a TMRM subject map. Since the basic structure is so simple there are only a handful of such navigation movements. Based on these, a primitive path expression language is defined. It allows to extract content out of subject maps.

That has been done not without purpose. One can actually translate every TMQL query expression into such a TMRM path expression. Since it is formally defined what the result is when a path expression is applied to a subject map and since subject maps are formally connected to TMDM, the circle of definitions for a formal semantics for TMQL is closed.

Posted In

Thanks for that simple yet

Thanks for that simple yet terribly important intro, although I wished it was longer as in more examples and practical use. I've used the TMRM for years now (don't like certain TMDM limitations and constraints) and it would be good to have some reference materials to point to when everyone still thinks Topic Maps = XTM 1.0. *sigh*

Anonymous | Wed, 10/17/2007 - 00:30

Yes, there are still a few

Yes, there are still a few people out there who equal Topic Maps with XTM. But we have excised many of them in the last years. More on this topic should be written, though.

In terms of TMRM examples and use cases I would have a few ideas, but any help is appreciated too (hint, hint :-) !

rho | Wed, 10/17/2007 - 10:09