I understand why semantic Web advocates like Danny Ayers get frustrated when people talk about the Web-as-database ideas. They’ve been working through these issues for years, and they see people talking about these types of ideas without mentioning RDF or "semantic Web". The problem is that it’s trying to be everything to everyone, and that may not work.
Number one, it’s hard to describe. People don’t "get it" because when you read about it, everything you read is along the lines of "you can describe anything with all these other things". There’s no simple answer to a question like "how do I describe a book’s title"? It takes at least a paragraph to answer that question. That’s why so few people understand it.
However, I do understand why that is. It’s because technology like RDF was constructed so that it would be so flexible that you can describe anything in a myriad of different ways and use that information to branch out in countless other directions. It’s cool in theory, the problem is that it’s really hard to implement that way, and even harder to explain.
People wonder why applications aren’t being built that use semantic Web technology, and it’s for the same reason: how do you build an application around data that you can’t pin down? You can’t nail Jello to a wall, and you can’t build a user interface around data that is constantly redefining itself. And as much of the semantic Web material as I try to absorb, I just can’t get around that question. (Random thought of the day: how would you write documentation for a program that did somehow manage to morph into whatever data it was trying represent?)
Here are my two cents. I think that the semantic Web vision is ambitious, but not ambitious enough. It’s lukewarm. It’s shooting for a "somewhat" idealistic vision of the Web where all the data is interconnected and you can follow relationships between things all day long. It wants the Web to be this big goowy blob of information that’s capable of describing anything in any way. The problem is, for any given application, there are a finite number of things to describe. Why not just take the next step and offer a URI naming convention, or better yet propose a standardized way of describing a "Person"?
As much as I hate the term "Web 2.0", the semantic Web crowd needs to take into account that real applications are being written on the Web now, that the general public and business people are using–not programmers and computer science grads. Software as a Service is the keyword of the day. I think the semantic Web is still worried far too much about "Web as a blob of information" paradigm. When you’re developing an application, you don’t want to have to worry about infinite possibilities. You’d be coding for eternity. If you’re trying to build an application that needs "People" and "Books" and "Trucks", you need a solid understanding of what those are. You can’t tolerate the idea of "you define a book your way and I’ll define it my way", because that defeats the goal of being inter-operable. What you need is a common schema, a standard way to define a "book".
That leads to another big problem I have with things like RDF. They’re built to DESCRIBE things, not to USE them. It’s great that I can describe anything about a book that I can possibly imagine, but how do I change the book’s title? How do I add it to an order? Unless you’re building a search engine, applications need to be able to put data in as well as take it out. As far as I’ve been able to tell, these technologies have very little to offer in the way of updating or adding new data.
In my opinion, if things like data definitions and URI naming conventions are left to everyone to decide how to do it their own way, the semantic Web has its wings clipped. Jack of all trades, master of none.
By the way, I hope that nobody takes this as a knock on the semantic Web vision, there are some GREAT ideas there that I’m sure will become widely used. And I believe in the goal, the end-game, 100%. It’s what I’m working towards as well, but from a slightly more programmatic perspective. I moreso hope that these folks will take comments like this and use it fine-tune their message so that people like myself don’t have these types of impressions. And if my comments are valid criticisms of weaknesses in the technology, I hope they’ll be addressed.








