Classic Note Entries

Topic Maps and RDF

Topic Maps was created to support high-level indexing of information resources to increase findability. RDF on the other hand, was intended to support the vision of the Semantic Web as a large database by providing structured metadata about resources and a foundation for logical inferencing. RDF is resource-centric, whereas Topic Maps are subject-centric. In RDF one starts with information resources and attaches metadata structures to them; in Topic Maps, the focus is the subject that the information is "about". Topic Maps becomes an information overlay. It also has some built in features that make it very interesting for knowledge centric applications, such as scopes, merging and reification.

Using explicit association make topic maps different than RDF


Below, the same relationship is shown in RDF. Obviously, the relationship is a lot simpler, but it is harder to extend, and it is also not clear to software with no knowledge of the schema that it is a relationship.
There are three major differences between how RDF and topic maps represent relationships:
  • The most obvious is the difference in the structure of the representation. RDF relates one thing to another, while topic maps can relate any number of things, and make it clear what involvement each has in the relationship. It is possible to achieve something similar with RDF, but that requires extra work, both in conceptualization and in implementation.
  • Another difference is that in topic maps relationships are inherently two-way. That is, you cannot say that I work for Ontopia without at the same time saying that Ontopia employs me. It is possible to traverse relationships backwards in RDF, and it is also possible to specify inverse properties, but this is not inherent in the way relationships are represented.
  • A third, and much more subtle, difference is that there is no way of knowing when an RDF statement is asserting a relationship between two abstract things and when it is saying that the one thing is really a resource that has information about the other, which is an abstract thing. Some statements also assign attributes to things, but it is possible to tell these apart, as they will have literals as objects instead of URIs.


Occurrences as Attributes


This is perhaps the point at which the differences between topic maps and RDF become most pronounced. There are three different classes of attributes involved here, and these are worth discussing separately:
  • Names can be represented in both topic maps and RDF, but only in topic maps is it possible for software with no knowledge of the schema to know which properties are names. The result is that in any interface topics can be represened by their names, something that requires schema knowledge in RDF. For generic applications this is very useful.
  • Simple properties are very similar in topic maps and RDF. A string is attached to the thing, and another thing tells you what the relationship of the string to the thing is.
  • Resources relevant to a thing are indistinguishable from relationships in RDF, both being represented by statements. In topic maps, the fact that the relationship is an occurrence relationship makes it clear that the resource contains more information about the thing. The occurrence type makes it clear what kind of information is found there.
Again topic maps are found to be higher-level than RDF and to contain more explicit semantics. This means both that it is easier to develop generic software for topic maps, and that conceptualization of topic map applications is easier, because some of the work has been done in the standard itself.


Context (Scopes)

The main differences between topic maps and RDF in this area is that context is much easier to work with in topic maps, and that generic software can know how contexts are represented in each application.

Reification

What's the difference? (blank nodes?)

Summary

RDF and topic maps have the same central concept, which I have here called 'thing'. They have entirely different notions about how characteristics are assigned to these 'things', however, and their ideas about how to establish the identities of the 'things' are also different. In RDF statements, in the form of (subject, property, object) triples, are the only way of assigning characteristics, while in topic maps topics may have names, occurrences, and participate in associations.