THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Jamie Thomson

This is the blog of Jamie Thomson, a data mangler in London working for Dunnhumby

Microsoft, OData and RDF

Earlier today Chris Webb posted a blog entry entitled OData and Microsoft BI where he remarked upon the increasing importance of Microsoft’s burgeoning OData protocol for accessing data over HTTP. Chris also linked to Douglas Purdy’s blog post OData: The Movie 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:

  • Excel
  • .Net client
  • AJAX Client
  • PHP client
  • Java client
  • Visual Studio
  • Sharepoint
  • SQL Server (via Reporting Services)
  • Codename "Dallas"
  • Websphere

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).


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 GData and the World Wide Web consortium’s Resource Description Framework (RDF).


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: Will the Online Identity War turn out like the XML Syndication War?) 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.


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 which exposes data held by the UK government and it is no surprise that that service exposes its data using RDF.


I don’t know too much about GData but I do have a working knowledge of both OData & 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.

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 other 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 linked data which you may well hear mentioned in the same sentence as “semantic web” from time to time.


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.



Published Wednesday, February 3, 2010 5:53 PM by jamiet

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



James Senior said:

Hey Jamie

good post, this is an interesting space right now. Are you coming to Mix? You should ;)

cheers James

February 3, 2010 1:18 PM

jamiet said:


I'd love to mate, especially because I think I know what that wink alludes to. no can do tho I'm afraid, too busy and I can't afford it now that there is no-one else to pay for it - the downside of being self-employed!!!


February 3, 2010 1:28 PM

John Erickson said:

Thanks very much for this post, Jamie! It is one of the few I've seen that begins to point out the key differences between the OData and Linked Data models, the most important being the ability of Linked Data (via RDF) to inter-link datasets.

February 4, 2010 10:40 AM

Kingsley Idehen said:

A few comments re. OData and HTTP based Linked Data.


1. HTTP protocol

2. REST based Client-Server communication pattern

3. Entity-Attribute-Value Graph Model


1. OData introduces new content types that aren't understood by existing HTTP user agents (e.g. browsers)

2. OData doesn't leverage HTTP content negotiation which decouples data representation from communication layer .

Short-term, OData and Linked Data will meet via Middleware working in either direction, by this I mean:

1. OData to Linked Data via RDFizer Middleware

2. Linked Data to OData via {no-buzzy-name-yet} Middleware.


1. - post about URLs, URIs, and Linked Data meme

February 4, 2010 11:07 AM

SSIS Junkie said:

A couple of months back I wrote a blog post entitled Microsoft, OData and RDF where I gave a high level

April 14, 2010 6:51 AM

Leave a Comment


This Blog


Privacy Statement