Jamie Thomson : semantic webhttp://sqlblog.com/blogs/jamie_thomson/archive/tags/semantic+web/default.aspxTags: semantic webenCommunityServer 2.1 SP2 (Build: 61129.1)Explaining the difference between OData & RDF by way of analogyhttp://sqlblog.com/blogs/jamie_thomson/archive/2010/04/14/explaining-the-difference-between-odata-rdf-using-an-analogy.aspxWed, 14 Apr 2010 13:18:00 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:24273jamiet5http://sqlblog.com/blogs/jamie_thomson/comments/24273.aspxhttp://sqlblog.com/blogs/jamie_thomson/commentrss.aspx?PostID=24273http://sqlblog.com/blogs/jamie_thomson/rsscomments.aspx?PostID=24273<p>A couple of months back I wrote a blog post entitled <a href="http://sqlblog.com/blogs/jamie_thomson/archive/2010/02/03/microsoft-odata-and-rdf.aspx" target="_blank">Microsoft, OData and RDF</a> where I gave a high level view of the <a href="http://www.odata.org" target="_blank">OData protocol</a> and how it compares to <a href="http://www.w3.org/RDF/" target="_blank">RDF</a>. I talked about linked data, triples and such like which may have been somewhat useful however jargon-heavy. Earlier today <a href="http://sw-app.org/mic.xhtml#i" target="_blank">Dr Michael Hausenblas</a> (<a href="http://webofdata.wordpress.com/" target="_blank">blog</a> | <a href="http://twitter.com/mhausenblas">twitter</a>) offered an analogy which I think is probably more useful and with Michael's permission I'm re-posting it here:</p><blockquote><p><i>Imagine a Web (a Web of Documents, if you wish), which is not based
on HTML and hyperlinks, but on MS Word documents. The documents are all
available on the Internet, so you can download them and consume the
content. But after you’re done with a certain document that talks about
a book, how do you learn more about it? For example, reviews about the
book or where you can purchase it? Maybe the original document mentions
that there is some more related information on another server. So you’d
need to go there and look for the related bit of information yourself.
You see? That’s what the Web is great at – you just click on a
hyperlink and it takes you to the document (or section) you’re
interested in. All the legwork is taken care of for you through HTML,
URIs and HTTP.</i></p><p><i>Hm, right, but how is this related to OData?</i></p><p><i>
Well, OData feels a bit like the above mentioned scenario, just
concerning data. Of course you – well actually rather a software
program I guess – can consume it (a single source), but that’s it.</i></p><p><i>from <a href="http://webofdata.wordpress.com/2010/04/14/oh-it-is-data-on-the-web/" rel="bookmark" title="Permanent Link: Oh – it is data on the&nbsp;Web">Oh – it is data on the&nbsp;Web by Michael Hausenblas<br></a></i></p></blockquote>
<p>I believe that OData has loads of use cases but its important to understand its limitations as well and I think Michael has done a good job of explaining those limitations.</p><p><a href="http://twitter.com/jamiet" target="_blank">@Jamiet</a> <br></p><p>&nbsp;</p><img src="http://sqlblog.com/aggbug.aspx?PostID=24273" width="1" height="1">ODatalinked dataRDFsemantic webMicrosoft, OData and RDFhttp://sqlblog.com/blogs/jamie_thomson/archive/2010/02/03/microsoft-odata-and-rdf.aspxWed, 03 Feb 2010 19:53:00 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:21784jamiet5http://sqlblog.com/blogs/jamie_thomson/comments/21784.aspxhttp://sqlblog.com/blogs/jamie_thomson/commentrss.aspx?PostID=21784http://sqlblog.com/blogs/jamie_thomson/rsscomments.aspx?PostID=21784<p class="MsoNormal">Earlier today Chris Webb posted a blog entry entitled <a href="http://cwebbbi.spaces.live.com/Blog/cns%217B84B0F2C239489A%216224.entry">OData and Microsoft BI</a> where he remarked upon the increasing importance of Microsoft’s burgeoning <a href="http://www.odata.org/" target="_blank">OData protocol </a>for accessing data over HTTP. Chris also linked to Douglas Purdy’s blog post <a href="http://www.douglaspurdy.com/2010/02/01/odata-the-movie/">OData: The Movie</a> which listed the following Microsoft and non-Microsoft technologies that support (or soon will support) OData either as a data producer or a data consumer:</p> <ul> <li>Excel</li> <li>.Net client</li> <li>AJAX Client</li> <li>PHP client</li> <li>Java client</li> <li>Visual Studio</li> <li>Sharepoint</li> <li>SQL Server (via Reporting Services)</li> <li>Codename &quot;Dallas&quot;</li> <li>Websphere</li> </ul> <p class="MsoNormal">To that list I would add Windows Azure which exposes data from its storage engine using OData and also the forthcoming Live Framework technology that is expected to surface user-centric data from Microsoft’s various Live Services properties (e.g. SkyDrive, Messenger, Calendar).<o:p></o:p></p> <p class="MsoNormal"><o:p>&#160;</o:p></p> <p class="MsoNormal">Chris suggested that a pervasive format for data on the web would be a big step forward because any consumer that understood that format could talk to any producer that chose to expose it; win-win-win indeed. Unfortunately life is of course never that simple and as is so often the case there are many competing technologies in this space including (but, I suspect, not limited to) Microsoft’s OData, Google’s <a href="http://code.google.com/apis/gdata/index.html" target="_blank">GData </a>and the World Wide Web consortium’s <a href="http://www.w3.org/RDF/" target="_blank">Resource Description Framework (RDF)</a>.</p> <p class="MsoNormal">&#160;</p> <p class="MsoNormal">This is nothing new of course; we can draw parallels with Atom and RSS which were recent competing technologies used to expose blog syndication feeds. Interestingly both of these technologies generally sit side-by-side quite happily these days (read: <a href="http://www.25hoursaday.com/weblog/2009/01/06/WillTheOnlineIdentityWarTurnOutLikeTheXMLSyndicationWar.aspx" target="_blank">Will the Online Identity War turn out like the XML Syndication War?</a>) and it will be interesting to see whether the same will happen in the OData/GData/RDF space; will organisations opt to expose multiple service heads for their various databases? I await the answer to that one with interest.<o:p></o:p></p> <p class="MsoNormal"><o:p>&#160;</o:p></p> <p class="MsoNormal">RDF is of particular interest chiefly because one of its main proponents is Sir Tim Berners-Lee, the inventor of the world wide web. RDF has been knocking around for about 10 years now and Berners-Lee sees it as the technology that will underpin the growth of the fabled Semantic Web; indeed he has been heavily involved with the recently announced service <a href="http://data.gov.uk/">http://data.gov.uk</a> which exposes data held by the UK government and it is no surprise that that service exposes its data using RDF.<o:p></o:p></p> <p class="MsoNormal"><o:p>&#160;</o:p></p> <p class="MsoNormal">I don’t know too much about GData but I do have a working knowledge of both OData &amp; RDF so perhaps an overview and comparison of the two might be useful. To this observer it appears as though OData is closely tied to the tables-rows-and-columns paradigm that anybody familiar with traditional relational databases will understand. An OData service exposes multiple entities (roughly analogous to tables) and the relationships between them.<o:p></o:p></p> <p class="MsoNormal"> <br />RDF however is built around the concept of triples which I assert is more analogous to a conceptual Entity-Attribute-Value model (that assertion is something I hope to explore in a future blog post). The key difference between RDF and OData though is that an RDF document can contain links to RDF documents that are hosted on <i>other</i> services and attributes of entities are defined in terms of those other services. Put more simply, RDF data is one massively distributed, non-centralised, interlinked web of data and if that sounds an awful lot like the mass of HTML documents which form the world wide web then you shouldn’t be too surprised given that Berners-Lee is so heavily involved. The notion of linking data together in this way has also given rise to the very descriptive moniker <a href="http://linkeddata.org/" target="_blank">linked data</a> which you may well hear mentioned in the same sentence as “semantic web” from time to time.<o:p></o:p></p> <p class="MsoNormal"><o:p>&#160;</o:p></p> <p class="MsoNormal">This has been a rather rambling blog post and really its just me dumping some thoughts out onto your computer screen as you can tell from the rather unimaginative title. Nonetheless there is some interesting stuff going on here that I hope to explore in the future so if you're interested please return some time. If you have any thoughts I'd love to read them in the comments section below.<o:p></o:p></p> <p class="MsoNormal"><o:p>&#160;</o:p></p> <p class="MsoNormal"><a href="http://twitter.com/jamiet" target="_blank">@Jamiet</a><o:p></o:p></p><img src="http://sqlblog.com/aggbug.aspx?PostID=21784" width="1" height="1">ODatalinked dataRDFsemantic web