For some time now my team and I have been working on a new web service called Kloudshare. This is not a product announcement, but I mention it because it provides context for what I have on my mind.
Kloudshare is a graph database platform implemented as a web service. The concept of a graph database is that you can create data objects of any type and connect them to other objects at will. Within this structure you can easily query the graph for items of a particular type or items that are connected to items of a particular type that have a particular characteristic, etc.
If you have never though about graphs or taken a computer science class this may all seem a bit abstract. But trust me when I say it turns out that thinking in terms of graphs is a much easier way of thinking about data than what most of us do today. Specifically, representing information in a graph is *far* easier than doing so in a relational database.
When we started developing Kloudshare, we had no idea that it at all related to the work that the semantic web community was doing. But over time, one of the things I came to understand was that the semantic web is based on the idea of the web becoming one big graph database. And so it was appealing that there was a group of people who saw the world, in part, in a similar way to how we do. Unfortunately, the differences in thought beyond that baseline are quite substantial.
The Semantic Web concept is broken into two parts. The first part is the graph database concept, which they refer to using three separate expressions: triple stores, SPARQL, and RDF. A triple store is really the graph database. RDF is the format for the data when it comes out of a triple store, and SPARQL is the language for querying the database. These parts map conceptually very neatly to our work on Kloudshare.
The layer above this data store is called the OWL, or Web Ontology Language. This ontology layer is why the semantic web is called “semantic.” The concept of the ontology layer is to define what the objects in the graph database mean so that when I say an object is a “cat”, we can all know what cat means and how cats related to other objects around them, what they are related to, etc. In my view, this is where the semantic web, as a broad-based concept, begins to fall apart.
Ontologies are great for defining small, controlled, well-defined universes. But the web is not that, and never will be. I am not saying that ontologies have no use, but I am saying that they have use to a relatively small group, or in a few narrow situations. For example defining what a person is on the web, or an event or appointment would be very useful. But trying to create a broad layer of “meaning” for data on the web and presenting that as a primary goal of the semantic web just muddies the waters. This is exacerbated by the fact that OWL is a bitch to learn and understand. Moreover, the semantic part of all this, despite fervent denials, smacks of AI, an abject failure, and makes people roll their eyes instead of roll up their sleeves.
And so, in order for the ideas of the Semantic Web to succeed as a mainstream platform, the concepts and efforts must be re-focused.
First, all the stuff that seems too difficult and not immediately beneficial must be stripped away from the core concept and message. This means, for the basic message, ontologies must go. We must stop talking about them because they just confuse people. And they are not needed to get the most important benefits.
Second, we must simplify our terminology. The expression “graph database” is a single solid term. RDF, triple stores, and SPARQL are diffuse terms as well as being more abstract and harder to understand. When describing what this is all about and you need to use three terms to get your point across, people’s eyes glaze over.
And finally, we must focus on the one benefit that developers will immediately relate to, which is ease of development. It turns out that thinking in terms of graphs is far easier than thinking in terms of tables and relations. The semantic web community is so busy trying to sell a utopian vision of data access that they are burying the lead, which, for a typical developer, is in large part, about ease of development and time to market. Of course you can’t sell that message when you have to talk about OWL, which is the exact opposite of easy. The whole ontology concept has taken the Semantic Web, or whatever we really should be calling it if we drop semantics, and made it both hard to understand and hard to implement. It has also made the real benefits much harder to see.
As I see it, a much better name for the Semantic Web would be the “Graph Web.” People have already taken to the term “social graph”, and on some level I suspect people can already picture the concept, extended beyond just connecting people. The Semantic Web unfortunately needs a fresh start. Changing the name would cause people to take a very much-needed fresh look.