Previous | Next

Topic Maps, RDF, semantics, merging ...

Posted in Technology on 2008-07-29 16:54

Merged creature, Moss, Norway

Michael Sperberg-McQueen wrote a blog post on RDF and Topic Maps where he brought up some interesting questions. I started trying to reply in a comment on his blog, but after writing two full pages I decided to instead turn it into a blog posting here.

Intrinsic semantics

Michael started out by considering whether one of XML or RDF could be said to have more intrinsic semantics than the other, in the sense that one would (in the absence of any knowledge of the vocabulary used) tell you more about the meaning of any data set you find. Michael doesn't really find any significant differences, but I disagree with him on that score.

I find one significant difference: in RDF the world is segmented into a definite set of objects (resources, subjects, entities, whatever), whereas in XML it is not. For example, if you look at RSS-in-RDF there is no doubt that there is one object for the channel and one per item, whereas if you look at RSS-in-XML it's just a bunch of elements. This means that mapping from RDF to other data representations, such as Topic Maps, databases, and object models is much easier than with XML, to take just one example.

Topic Maps have the same advantage over XML, but then goes on to add some that RDF does not share:

Monotonicity requirement

Continuing this discussion Michael eventually comes to a discussion of RDF's requirement that statements must be atomic and semantically independent. That is, you can't ever assert the sentence P as part of a predicate calculus statement about P. The rationale for this is that it must be possible to merge RDF graphs without having parts of one graph change the meaning of parts of another graph. (They may make conflicting statements, but this is another issue entirely.)

Michael thinks this is "inconvenient and opaque", and asks whether Topic Maps has the same restriction. The answer is actually "no", but I'm not sure how much of a difference this makes in practice.

Firstly, I think explaining this rule to people using the technology is in most cases going to be impossible, and so even though RDF does have this rule I wouldn't expect RDF users to be aware of that, or to abide by it if ignoring the rule would get them to their goal quicker.

Secondly, since adherence to this rule cannot be verified automatically I would assume that there would in fact be RDF users violating it without anything much in the way of immediate adverse consequences. So although words to this affect may appear in the spec, the practical consequences of those words may well be nil.

On the other hand, this is clearly a best practice for use of both technologies, since violating it can indeed lead to serious problems in merging, regardless of which technology you are using. If, that is, you actually do this, and I think for most practical applications this issue would most likely not crop up.

I think this is one of the cases where it's better to let users do what they want with the piece of rope they've been given, and if they do develop difficulties breathing that's just too bad. But then it does seem that this is pretty much the state of affairs anyway.

Quints and quads

Divers, Oslo city centre

Michael also asks whether something like my Q model would be able to solve this problem. The reason he brings this up is that part of the problem with the previous restriction is that in order to make predicate calculus statements you need to speak about statements without asserting them as true. That is, you want to be able to say "if P then Q" without actually at any point saying "P".

The trouble is that replacing triples with quads or quints would not really make any difference to the ability to speak about a statement without having to make that statement. In fact, although the RDF representation of reification is justly reviled this is one thing it actually does get right, since with this representation one can make an RDF node representing a statement P without P actually being asserted.

Topic Maps cannot do this at present. One could of course use a vocabulary similar to RDF's reification vocabulary, which would make this possible. I'm not sure how much value this would have unless it was standardized and supported throughout the technology stack. It might conceivably work just fine without being standardized.


Michael also asks whether there is "a short, clear story about the relation between the kinds of things you can and cannot express in RDF, or Topic Maps". That is a good question, and as far as I am aware the answer is "no". This would clearly be a good thing to have, but it would require a bit of effort to put it together. I'm not really up to that right now.

Similar posts

The web's identity crisis and httpRange-14

URIs are used to refer to both information resources (which are downloadable over the net) and abstract concepts and physical objects (which are not)

Read | 2007-10-08 08:54

Comparing Topic Maps and RDF

The Topic Maps and RDF technology stacks are quite complex, and it's not easy to see how the various pieces compare

Read | 2007-01-06 18:52

Extreme 2007—day 1

Extreme Markup languages is a rather unusual conference, with an extremely technical focus, and an unusual mix of the theoretic and pragmatic

Read | 2007-08-08 16:02


Brett Kromkamp - 2009-10-03 18:09:41

I am currently developing a topic map-based knowledge management and repository application with Adobe Flex/AIR:

Add a comment

Name required
Email optional, not published
URL optional, published
Spam don't check this if you want to be posted
Not spam do check this if you want to be posted
> Home
> Technology
> Beer
> Personal

> The author .
> On Twitter


follow us in feedly

Subscribe by email:

My new book

det norske ølet

My other book

Guidebook to Lithuanian beer
Rough guide to
Lithuanian beer

Technology blogs

Robert Barta
Sveins blogg
Stephen Fry
Messages in a bottle
Alex Brown
Planet Topic Maps

Last comments

Lars Marius Garshol on A sudoku solver in P...

Heinz-GŁnter on A sudoku solver in P...

alex bloom on Active learning, alm...

alex bloom on Experiments in genet...

kenneth mwelwa on 10 tips on presentin...

fadirra on 7 tips on writing cl...

Tim on 7 tips on writing cl...

elmarie on What is an informati...

p2r on 7 tips on writing cl...

Jeffrey White on The solera paradox