Steve Pepper, Ontopia AS, <pepper@ontopia.net>, June 2000
Topic maps and RDF are similar in that they are both attempting to alleviate the same problem of findability in the age of infoglut, and they both doing so by annotating information resources (though in rather different ways).
They are also similar in that they both define an abstract model and an SGML/XML based interchange syntax (more precisely: the topic map model is implicit - it will be made explicit shortly; and RDF has not one but two interchange syntaxes).
Both models are very simple and elegant at one level, but thanks to recursion both are also extremely powerful: in topic maps, most things are topics (not just the topics themselves); in RDF the value of a resource's property may itself be a resource which in turn has properties.
One key difference - I don't know if it is the key difference - is that topic maps take a topic-centric view whereas RDF takes a resource-centric view. TMs start from topics and model a semantic network layer above the information resources; they even have the capability of modelling knowledge without any reference to the underlying resources. RDF starts from resources and annotates them directly; only by stretching the model beyond its real intent can the abstract layer be represented.
Because RDF is fundamentally a "framework for metadata", i.e. for attaching property-value pairs to information resources, it can do the same job as facets. RDF could be used instead of facets, and would arguably provide more power (because of the recursive model and the fact that more metadata semantics, such as datatypes, are pre-defined). But to use RDF instead of facets would mean to lose the connection between the semantic network layer and the metadata, which today is provided for by the fact that facet types and facet value types are topics.
Given its power, it seems to be possible to model much of topic maps using RDF, but without retention of the semantics:
If a TM topic were to be regarded as an RDF resource, then an association between two topics could be an RDF triple in which the property stands for the association type (e.g. "written-by") and its value is another resource representing the other topic.
(resource:tosca.htm) (property:composed-by) (value:puccini.htm)
(NB: It is unclear how association roles would be represented in this case. Someone should try it out. It may be so clumsy as to render the whole exercise meaningless.)
An occurrence could be modelled by another RDF triple, in which either the resource or the value of its property would be a real information resource as opposed to a topic. (In this case, the property would represent the occurrence role, e.g. "synopsis-for".)
(resource:toscasyn.htm) (property:synopsis-for) (value:tosca)
The first problem with this is that it munges the distinction between topics and resources, which is key to understanding the topic map model (it's also why I coined the terms "topic domain" and "resource domain"). If you lose all the semantics, you lose the ability to create topic map applications that do something useful with the data. And in that case we might just as well have stuck with HyTime...
The other - and I think more crucial problem with using RDF to model topic maps - is that there seems to be no useful way to represent scope. This is the killer argument for me; until someone can prove that scope can be modelled intuitively using RDF I see no way in which RDF could usefully replace topic maps.
In RDF Schema, RDF has something topic maps don't (yet), that is, a standardized way of expressing an ontology and the constraints upon it. There were presentations on this matter by Geir Ove Grønmo and Holger Rath in Paris. Holger will be going one step further (I believe) with a concrete proposal for a topic map schema language in Montreal at Extreme Markup.
The cool thing about this proposal (which Ontopia has already implemented in its Atlas TM Engine and showed in Paris) is that the schema is itself a topic map! I don't think RDF Schema is expressed using RDF.
Following on from this, Rafal Ksiezyk made the point in his presentation in Paris that a topic map query language (TMQL) can also be expressed as a topic map. (Does RDF have a query language? Can it be represented in RDF?)
In fact, it is starting to look as if all kinds of "control information" relating to topic map processing - maybe even topic map applications themselves! - can be represented as topic maps.