“1. It is completely entrenched in a community who are deeply technically focused. They’re nice people, but I’ve had a good bunch of conversations and never once has anyone been able to articulate for me the why or the how of Linked Data, and why it is better than focusing on simple MRD approaches, and in that lack of understanding we have a problem. I’m not the sharpest tool, but I’m not stupid either, and I’ve been trying to understand for a fair amount of time…”

It was a huge learning curve for me too; but once i got through everything it turns it that it’s really rather simple – and since I’ve been able to introduce a few fellow develops to linked data in a couple of hours – which is much better than the 6 month learning curve I went through – it is important to note though that this is not only a whole new tech stack, but also a whole old tech stack, used properly – so much of the comprehension time comes from getting rid of the old bad habits and misunderstandings about http / uri’s and the like. A caveat of being a developer for years, I’ve found that many “new” developers can pick up on linked data and the enabling technologies much easier than old devs, purely for the aforementioned reason.

“2. There are very few (read: almost zero) compelling use-cases for Linked Data. And I don’t mean the TBL “hey, imagine if you could do X” scenario, I mean real use-cases. Things that people have actually built. And no, Twine doesn’t cut it.”

If it helps any, rebuilt a full application to do things the linked data way, dropped the rdbms, used only a quad store, all data models in owl, all data in rdf; accessed via HTTP and sparql rather than sql – the system dropped from 2500+ classes to under 30, the system is 10x faster at least, and the functionality exposed (both implemented and unimplemented) is virtually endless.

The key features of linked data behind the firewall (eg negating consuming and exposing linked open data) are the predicate, the uri and triple/quad store – together this little setup let’s you “link” all your data, store it all in a single “table” and know what that data is due to the “predicate” (which is a class + property in a single value).

This opens up a new realm of functionality to us developers, allowing you to query all your data as if in the same table, store any data, extend classes however you want, and also multi extend classes (which you can’t do any other way) – for example “class A extends B,C,D,E”. Further, to extend your system lets say by adding in 2 new properties to a class, all you need to do is change the class blueprint (the owl file) and everything else is done, the data is magically stored as it’s rdf, it’s all linked in and queriable via sparql and the quad store, and all you need to do is allow the app to save the new predicate, and use it where needed.

All that is behind the firewall, when you put 2+2 together and realise that everybodies data could be stored the same using open models (owl) that are web accessible, then you suddenly see that all you can build applications which literally have access to all the data in the world.

A simple example is the good old “select your country” drop down, normally this means build a country table, find all the countries + associated iso codes and insert them, make a class Country then all code to work with it – in the linked data world, it’s just a simple SPARQL query to the web and you have all that data instantly with no real coding – further still if a country changes name or a new on comes about.. then your data is magically updated too. Thats just a basic “select your country” – grok that you can do that for everything and you won’t look back 🙂

re: “3. The entry cost is high – deeply arcane and overly technical, whilst the value remains low. Find me something you can do with Linked Data that you can’t do with an API. If the value was way higher, the cost wouldn’t matter so much.”

Agreed about the cost (at the minute, as it’s adopted more demo’s and code will be available and cost to entry will be much lower) – as for the value, in the 10 years I’ve been developing nothing has ever came close, developing is fun again, the world is my oyster, and I have some very happy clients who pay me very well – I can offer my clients functionality they couldn’t dream of, and that virtually no other dev can offer them; not only that, but things that used to take me weeks I can now do in minutes/hours. I’ve never seen anything of higher value.

re: “But right now, what do you get if you publish Linked Data? And what do you get if you consume it?”

You have to go behind the firewall first to see the benefits, as outlined above, then you’ll see what can be gained by publishing and consuming – really though, focus on getting it implemented without the “open” bit, then you’ll naturally just want to open up your data and consume other peoples 🙂

do hope that helps!

Nathan