mnot’s blog

Design depends largely on constraints.” — Charles Eames

Saturday, 16 November 2002

Semantic Web

RDF Model and Syntax

Jack William Bell makes a precise, short and readable effort at explaining why RDF is simple and important.

In the article and subsequent discussion, it’s clear that RDF model and syntax are very different topics. EVERYONE that I talk to agrees that the RDF model is elegant, useful and fundamental. Almost everyone agrees that the RDF/XML syntax is flawed, at best.

I tend to agree. RDF may be damned by history and overshadowed by its older brother, XML. Remember when XML first came into the public consciousness? It could do anything; it was a programming language (still hear this one), it added semantics, it made your program instantly interoperable and self-documenting.

In reality, XML played the same role that ASCII (and later Unicode) played for character encoding; it was just a common way to do markup. Unfortunately, because XML was oversold, and because it predated RDF, people tend to use it for semantics, not understanding that there’s too much sloppiness there (e.g., do you use an attribute or an element?).

If RDF had been introduced earlier, it might have caught some of the excitement that was misdirected at XML. Unfortunately, it came out much later, and didn’t ever get the exposure or understanding necessary, partially because of the syntax issues.

Coulda, woulda, shoulda.

This is why I advocate adorning XML Schema with instructions that allow RDF statements to be extracted from arbitrary XML langauges without changing those languages. This makes it possible to leverage RDF tools with existing formats and illuminate them with the RDF model. It avoids the syntax problem, and focuses on what RDF is best at; the model.