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.