A New Data Model for the Web
An anonymous reader writes "Adam Bosworth delivered what
could be considered a seminal lecture (mp3) at the last MySQL conference about a new data model
for the web, why the plain HTML web succeeded, and why XQuery or the
Semantic web are failures. He is emphatic that RSS 2.0/Atom are the
next big thing and represent the new data model for the web. The audio
is rather long at forty plus minutes and there are a few
places
where the
talk has been covered."
Semantic web is perhaps best described as a framework. I totally agree that it's a pointless comparison. RDF/RDFS and OWL build upon XML so it would make more sense to say that RSS could be a building block for further extensions on the semantic web using for example OWL to represent data.
One of the reasons it appears to move along so slowly now is that the research is handling a lot of issues and as van Harmelen has said, they're afraid to enter the same pitfalls as the research in artificial intelligence where there has been a lot of buzz, but not many concrete results. That's not to say that there aren't any issues with the semantic web, but it's still coming along. OWL is being extended with OWL-S and OWL-QL and the issues of security and privacy are being looked at. Besides, even though ontologies are a new development on the web, they are nothing new overall, something I guess AI researches can testify to.
Recommended book for those who want to extend your knowledge on SW A Semantic Web Primer
The language Tutorial-D in the article you refer to is yet another language for relational databases! Darwen and Date are critics of SQL implementations; they are NOT critics of the relational database as you imply. They are instead the strongest relational database proponents.
Indeed the relational model is the only model with logically provable underpinnings. In ON DOCUMENT- VS. DATA-BASES Chris Date explains:
And about "document databases" (this would include HTML & XML):
SQL has very little to do with the relational *model*. Put it out of your mind completely when discussing database theory. I'm not talking about database *products*.
The relational model specifies a set of relational operators, much like mathematical operators. SQL looks nothing like this, just to get the value of a single relvar you have to type "SELECT * FROM Foo" instead of the simpler and clearer "Foo". That's just the tip of the iceberg..
Anyway there are at least two definitions of "data model". One is a model for a particular set of business rules (customers, orders, line-items), the other definition is "a general system for the storage, manipulation, and retrieval of data". We're talking about the second definition. When we say a "complete" data model, we mean one that describes all possible cases, and also describes what each piece of data means and how it relates to the real world.
SQL is not a complete data model in this sense, it doesn't specify how to connect the data in the database to the real world for instance (relational model says: use predicate logic). SQL databases do have some underlying model of course, but who knows what it is, I don't think anybody has described it exactly, and it can probably be shown to reduce to a subset of the relational model. For instance, SQL allows duplicate "rows", so you'd need to introduce a hidden "row id" attribute to map them to relational tuples (which are based on sets, no dupes).
XML is a text file format. Even if you "retrocon" a data model out of it, it will be a hierarchic data model, which is what we had in the 60's before relational. Why did we reject hierarchic data? It's not general enough. Sometimes "customer" is the root of the tree, but sometimes you want "order item". Sometimes you want many-to-many relationships, which XML only supports via a different mechanism (pointers, essentially). Sometimes you want a "theta join", which could be an arbitrary relationship between data. Also XML contains multiple types of data (nodes, attributes, implicit node ordering) which is just a smelly design. In the relational model ALL data is in relations, including ordering, nesting, and anything else that XML makes implicit.
I suggest reading some basic database theory books and then revisiting your ideas. Anything by Chris Date is excellent, and he has a title on O'Reilly now so maybe people won't be afraid of reading his work.
Here's a hint, in order to demonstrate that relational is not the only complete data model, you have to introduce a data model that is at least as complete as the relational model, and then prove that it is not the relational model in disguise (in other words, that there's no way to automatically map your operators to relational operators, and so on). I'm not sure what such a model would look like.