This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.


Stefan Tilkov,

I almost forgot to reply to the comments I got to the RDF vs. RDB post …

As Mark correctly points out, data access optimization is one of the benefits you lose if you use an RDBMS on a meta-level only. I believe that you lose even more: Obviously, an RDB not only has features to store and retrieve data (SQL DML), it also includes a way to describe the data — in other words: manage metadata (DDL). Ignoring the database’s metadata features means losing a significant part of its functionality and value.

I believe it’s a much more viable strategy to devise ways to map your application’s metadata to RDB metadata (i.e. tables, views, keys, constraints etc.) instead of storing it as data. After all, it’s not as if it were hard to create tables on the fly …

I have to admit, though, that most of this reasoning applies to e.g. the OO/RDB mapping, and is in general more appropriate for the more standard metadata concepts. I understand that RDF is something different. I just don’t buy the theory that creating an RDF schema for a relational DB, and then storing RDF triples in there, will gain much benefit from the RDBMS — no admin is going to be able to make sense of it, no application developer will be able to create a useful (and reasonably performing) SQL query, no BI tool will be able to analyze it (in contrast to the star schema stuff referenced by Patrick Logan).