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.
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.