9

I'm trying to get my head around two very different approaches to data sharing: OData and Semantic Web/Linked Data. Is there a good comparison of the two?

As I understand it, OData combines syndication/CRUD (AtomPub), serialisation formats (XML, JSON), a data model, a query language, and some semantics/conventions governing use of those existing technologies. It's primarily intended for exposing data from one system so that others can consume it.

Linked Data is a data model, a rigorous commitment to URIs, an (optional?) serialisation format (RDF/XML), but (correct me if I'm wrong) doesn't say anything about transport, CRUD, etc. It seems intended to allow inferencing across lots of little chunks of data drawn from a wide variety of sources. (Not something of major importance to us right now - we would be synchronising large slabs of data between a small number of sources, and wanting to preserve provenance information).

I'm interested in technologies for sharing data between certain data management platforms, some of which I work on directly. OData seems more appealing as it's very straightforward to explain to developers: implement this API, follow that Atom standard, serialise the data like this. We're already doing something very similar for one platform: sharing XML-serialised data on an Atom feed, with URL parameters used to filter.

By contrast, my past experiences working with RDF have given me an impression of brittle, opaque (massive slabs of RDF/XML), inaccessible (using SPARQL vs SQL) technology - but perhaps I'm confusing the experience of working with a triplestore like Jena with simply exposing an existing database via a linked data API.

Any pointers, comments etc on the differences and similarities between these two approaches in terms of scope, technologies, ease, future potential etc would be great.

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
Steve Bennett
  • 114,604
  • 39
  • 168
  • 219
  • Steve - not sure this is the best forum for this type of question as it could drag on for a while. I'd love to discuss, though - would you either move the question to http://programmers.stackexchange.com/ or reach out to me from my new blog (bitwhys.com)? – Mark Stafford - MSFT Jun 19 '12 at 15:31
  • 2
    Just to briefly address some of your points about RDF/linked data technology: "massive slabs of RDF/XML" is not the norm, and sounds more like incorrect application of the technology. Calling SPARQL (as opposed to SQL) 'inaccessible' is a matter of taste I guess. But SPARQL is not required for applying Linked Data principles. It's merely convenient. – Jeen Broekstra Jun 19 '12 at 22:09
  • 1
    As of February/2015 the Linked Data Platform is a W3C recommendation: https://www.w3.org/TR/ldp/ LDP addresses the read-write part (CRUD in your question) of linked data that was missing. – Hector Correa Jan 25 '16 at 16:25

3 Answers3

7

I think discussing this in depth is not really what Stackoverflow is meant for, but just to give you some pointers to interesting discussions about differences and overlap:

One of the key differences seems to be that OData has no means to link data from different sources to each other. Essentially, you're still stuck in a silo.

It might also be interesting to check out various attempts to convert data between the two approaches. See a.o. http://answers.semanticweb.com/questions/1298/has-anyone-written-a-mapping-from-odata-to-rdf .

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
Jeen Broekstra
  • 21,642
  • 4
  • 51
  • 73
  • Thanks for the links - although imho the "you're still stuck in a silo" is overstating it imho. (See MS explicitly stating silo destruction as a goal here: http://blogs.msdn.com/b/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol-odata.aspx) – Steve Bennett Jun 19 '12 at 23:08
  • @SteveBennett well, what they state as their goal and what they actually provide is not necessarily the same, of course. The point is explored in more detail in some of the articles mentioned above. However, I'm no OData expert, so maybe I have overlooked a standardized mechanism for linking data. – Jeen Broekstra Jun 19 '12 at 23:20
  • I don't think "information silo" is synonymous with "information that cannot link externally". If you can get information in and out of a system easily, in a standard format with standard semantics, then much of the problem of silo-ification goes away, I think. – Steve Bennett Jun 19 '12 at 23:27
  • Ah I see. Well, it depends on your goals, but I think these things *are* synonymous, or at least very closely related. If you cannot relate your data to anyone else's data (even saying simple things like "this thing here is the same as that thing over there"), how is data exchange and integration from heterogeneous sources ever going to work? Which is the point of getting out of the silo: to make your data reusable in other environments. Without this, you've merely created a slightly bigger silo. YMMV: a slightly bigger silo may be enough for many use cases, of course :) – Jeen Broekstra Jun 19 '12 at 23:37
  • Exactly - in my context, a slightly bigger silo is plenty. Integrating 2 or 3 disparate information sources would be a huge improvement on where we're at now. And little additional pay-off after that. – Steve Bennett Jun 19 '12 at 23:48
4

OData may be easier, but its not better, by any means. SPARQL and RDF (forget RDF/XML, better to look at Turtle) satisfies everything in OData along with providing many more cutting edge features such as:

  • Federation Extensions
  • Linked Data
  • Reasoning and Inference (for the more brave)

Equally, the software supporting the standards is actually quite sophisticated. Most people interested in OData generally come from a Microsoft background, so take a look at dotNetRdf

William Greenly
  • 3,914
  • 20
  • 18
  • Ok, but for a technology that depends on the network effect, easier may mean better, right? A superior technology with low uptake isn't worth much in this area. – Steve Bennett Jun 21 '12 at 23:45
  • 3
    @Steve Bennet, given that Facebook, Google, the US and British governments (to name but a few players) produce RDF-based linked data online, it seems unwarranted to call the technology "low uptake". – Jeen Broekstra Jun 22 '12 at 03:39
  • Couldn't have said it better Jeen – William Greenly Jun 22 '12 at 08:47
3

Here's a comparison matrix:

http://uoccou.wordpress.com/2011/02/17/linked-data-odata-gdata-datarss-comparison-matrix/

Unfortunately the table formatting is pretty horrible, but the content is useful.

Steve Bennett
  • 114,604
  • 39
  • 168
  • 219