I’ve read a few articles through blogs lately regarding Linked Data and the Semantic Web. Ross Bates, Paul Miller, Ian Davis, and Semantics Incorporated have all explored the ideas of Linked Data and Web 3.0/Semantic Web. This got me thinking a bit about the Semantic web, and the direction of the efforts to reform web data to a more ‘object-oriented’ model. There are a number of resources out there that cover it beyond the items I linked. In the end, it boils down to a way of structuring data on the web in a way that allows machines to understand context and thus manipulate data in the same way that humans do, through reasoning. While this is a noble effort, and promises to restructure the way the web operates, I have to wonder if the entire approach isn’t slightly backwards.
The Semantic web certainly feels nice on paper, and in practice, the idea of linking data objects and allowing intelligent agents to understand these objects seems extremely logical. The ability for an object to be sorted, recognized, stored, and even manipulated and calculated by the agent without human interaction opens the door to promising applications and real leaps in the future of the web. Imagine a web store that had objects built right into the products, that allowed your browser to understand a “price”, and let your agent perform tasks that it knew belong to prices, like automating currency conversion or calculating sales tax, without the web store needing to involve itself in the discussion. Not only that, but it knew what the item you were purchasing was, knew that it was something you needed for a defined task, and knew it no matter which store you purchased it from. Without you needing to browse, your agent could find the best fit at the best price at the closest location, and you’d never even need to click a button beyond defining your needs. Even this simple example is only the tip of the Semantic iceberg, and developers far smarter than I am are likely to find new ways to link and manipulate data that is beyond this simplistic example.
But this example, while very simple, highlights some problems that I see with semantic web data.
- The developer must be inclined to define his objects. The current definition of the semantic web requires that those creating the website create, define, and code their objects to allow their context to be understood, which leads us to…
- We are allowing the developers to create context for us, instead of allowing us to define our own experience and values.
In the example of the web store above, we may be quite happy to allow the developer to define our experience for us. A price is a price, for instance, and a 4×2 wooden dowel is just what it says it is. But what if you are not on a store? What if you’re reading a blog post by a friend, talking about your dog. Your friend may define the dog as an object, but how would you tell the web and your agents that this dog was YOUR dog? How do you create a web that is relevant to you, beyond the definitions provided? How do you tell an agent that you are the manufacturer of an item, and carry that data across the web?
I believe that this leaves some room open for clients and services that synchronize to create social semantic webs. Instead of defining the semantics on the server side, the client could be instructed to create connections, and synchronize them to a social web service. You could define a cat as a cat, and your dog as your dog, and as the system began to crawl, your definitions would shape the way that your agents viewed the web. The social web service would create a background layer to share trusted data and definitions, to link and identify commonalities, to establish identities and build peer relationships that would increase relevancy. Indeed, these clients and services could even stand in the background, browsing your web patterns for relevant content, and presenting you with options on linking, and slowly attempt to intelligently build new links based upon data you have provided it previously, with simple options to allow you to accept, reject, or redefine an identified pattern.
I believe that the search for a pure semantic web won’t be so easily found in defining RDFs and creating server-side code. There will always be the lazy, and those who simply lie about objects and data to take advantage of or obfuscate themselves from a search system or agent. In order for a truly semantic web to be realized, it will take client-side applications (browsers, OS, agents), services (semantic banks, trust center, universal ids, social connections), and back-end semantic definitions to allow us to utilize the data intelligently in a way that applies to us personally.
July 27th, 2009 | Blogosphere, Semantic Web, Social Media, Web 3.0
I found some fascinating articles at http://www.mindswap.org/papers/ regarding building reputation networks and data accountability. I’m still reading through them, but they certainly seem to broadly talk on these subjects. They are worth a look.
Comment by xian — July 29, 2009 @ 8:32 pm