Jump to the latest version of diagram
Update 15.00 2nd May: Based on feedback I’m veering away from seeing this as a ‘stack’ distinct from the semantic web stack, towards trying to highlight specific ‘pieces of the linked data puzzle’ in the revised diagram towards the bottom of this post. Earlier section left intact for reference.
Update 5th May: Minor revisions to updated diagram at the bottom of the post.
I’m in the process of drafting a short working paper on ‘Linked international development data: practical issues’ as part of work with IKM Emergent (see a summary of our work so far on linked data here), and in trying to provide a brief, but comprehensive explanation of linked data, realised it would be useful to have some form of ‘linked data stack’ diagram – similar to the Semantic Web Stack diagram put forward by Tim Berners-Lee, and that is often used to show the different elements of the evolving semantic web architecture.
It’s one of those things I expected to turn up with a quick search – but (and I may just have been using the wrong terms) after a lot of searching and browsing I didn’t turn anything up – so, I’ve had a quick go at creating my own diagram:
As this is for an introductory article, I’ve tried to include explanations that don’t assume too much background knowledge of Internet architecture or specificities of RDF etc. I’ve also tried to illustrate some of the applications that linked open data can support. However, this is the product of a quick 1/2 hours work, and I’m keen to check:
(a) Is this already out there? What should I have been searching for…
(b) What have I missed? Are the selections of elements to include in the diagram reasonable? Are there missing elements? Would you arrange or define elements differently?
(c) Is the right to even talk of a linked open data stack? In fact, in the paragraphs where I’m writing about this I’m adopting the metaphor of a ‘jigsaw’ more than a stack: however, the idea of a stack seems useful also. Is there some reason I’m missing not have a talk of a LOD stack?
All comments/feedback very welcome…
Update: Parts of the Linked Open Data Puzzle (15.00, May 2nd 2011)
A number of useful comments encouraged me to revisit some of the W3C definitions of the Semantic Web and the Semantic Web stack, which, given W3C’s definition of the Semantic Web puts it as synonymous with the ‘Web of Data’, suggests that answer to (a) and (c) above is because, to most intents and purposes, and at least in a technical sense, the semantic web stack is the linked open data stack.
What I’ve done in the above is focussed on those particular elements that seemed relevant given the experience of linked data publishing I have, but to suggest a distinct stack from the Semantic Web stack is clearly not helpful. However, for the purposes of the working paper I’m composing I do need to (a) draw attention to some elements of Internet infrastructure not included in the current semantic web stack diagram (latest version available via W3C rather than Wikipedia); and (b) to leave out as-yet incomplete elements of the semantic web stack that are of limited relevance (at least in an introductory article) to those starting out working with linked data for development (rules; reasoning; cryptography etc.).
So, I’m back to the language of ‘jigsaw pieces’ – from a stack of elements, to pieces of a puzzle – broadly possible to cross-reference to the semantic web stack – but more focussed on the practical issues and pieces that the publisher of linked international development data will need to understand and put together in order to participate in the web of data (and it’s synonym, the semantic web). (5th May) Based on feedback from Richard Cygniak and others, it now looks like this:
Elements of a Linked Open Data Stack




Nice diagram. There’s something similar with the Semantic Web Layer Cake which is a little less concrete and refers to the language of the semantic web http://en.wikipedia.org/wiki/Semantic_Web_Stack which I guess should be referenced.
I am curious about your “mashups” block and how that could be expanded. I think it’s quite big. One area to explore is the difference between mashups based on joining row level data and mashups based on joining aggregated data – where does aggregation happen, especially across datasets?
by referenced I mean what is the relationship between this stack and the SW layer cake..
Hi Tim
I wonder at the role of standard codes in the open data stack. I noted in a previous post of yours that you were using Wikipedia URIs I think to denote countries rather than ISO 3166 country codes. Since ISO codes are a curated authorative code list, it seems to be preferable to use these to link data sets. Of course in the absence of ISO-based full URLs, such codes cant be used without context, but they do admit to integration of a wide range of data sets . A compromise I guess might be to use the wikipedia ISO code URLS e.g
http://en.wikipedia.org/wiki/ISO_3166-2:AF or better since it supports SPARQL http://dbpedia.org/page/ISO_3166-2:AF. There are dozens of similar codes ISBNS, ICAO airport codes, Currency and language codes etc which are better known and standardized than any equivalent URI’s It seems a backward step to use arbitrary URIs instead.
Interesting to hear about work going on for linked aid data. I guess that field should be an excellent candidate for liked data since there are some basic stuff (e.g. countries, projects, sources) where there already are URI:s or models.
Is this coordinated with the IATI initiative in any way?
@Mark
A good question (and thanks for Simon Whitehouse for a tweet on this also). I’ll spend some time revisiting the literature on distinctions between Web of Data and Semantic Web. For Tom Heath they do appear to be interchangeable terms, but I’d suggest that in practical usage, linked data constructs the web of data, upon which semantic technologies (through use of rules, reasoning etc.) can then operate if required.
In a sense, this diagram tries to zoom in on salient points for the contributor to the web of data, ignoring the as-yet understandised elements of a semantic web stack, and updating some of the elements to highlight where the stack-in-practice diverges from the 2000 Semantic Web Stack diagram (i.e. we’ve not just got RDF-XML now, we’ve got a number of different RDF serializations etc.).
I definitely find that the Semantic Web stack doesn’t fully capture the issues I want to get to in the working paper I’m writing, but also that to create an alternative but related model may create confusion.
I suppose two ways forward from the insight you and Simon have pointed to:
(a) Better cross-reference in commentary or diagram with Semantic Web Stack;
or
(b) Try to see some of this as a zoomed-in / expanded element of an updated semantic web stack, with some bits (rules; logic; proof) played down / ommitted / highlighted as optional in current development of linked data.
Or is there a better resolution?
@Chris The question of which standard URI sets to use is certainly something I’ll be looking at in the working paper this is for.
In practice, the selection of URIs to use is, I think, a pragmatic decision – so to incorporate certain URI sets or vocabularies etc. as part of the stack (asides from the most minimal required, such as RDFS perhaps, although even this can be done without in certain contexts), would prioritise one set of applications, and on direction of evolution for the web of data over others.
I’m thinking of trying to introduce an understanding though of how the selection of URI sets is important by also talking of an ‘eco-system’ of open data – and looking at the governance of URIs (which is both a question of governance of the owner of the HTTP service that the DNS for a URI resolves to; and a question of governance of the concepts and lists of resources a URI provides a pointer to). That would highlight how in choosing what URIs to use you are playing a role in constructing the eco-system bit by bit – and are making quite substantial commitments about the standards or descriptions of the world you subscribe to or wish to be connected with…
@Peter Definitely. I’m working with a number of people linked to IATI. One of the key premises for the IKM Emergent (International Knowledge Management Emergent) linked information programme is that development data is broader than just aid data, and so we need to look at how to develop linked data and information infrastructures that are sensitive to this.
I’m hoping to get at least part of the working paper I’m working on complete in advance of the 12th/13th May Virtual Workshop on linking development data – and to use that workshop to help refine the thinking for it too…
Nice work! I’d swap URLs and RDF (because RDF builds on URLs, not the other way round); and make ontologies only a small box in a cut-out top corner of the vocabularies box. Other than that, it’s spot on and reflect reality much better than the canonical W3C “layer cake”.
Thanks Richard. I’ve made the updates you suggest in the latest version now in the post above.
It’s been an interesting to explore the contrast between an ‘inductively’ derived stack diagram, and looking at the canonical ‘design’ diagrams.
For a modern graphic of the common layered Semantic Web technology stack I would recommend you to have a look at http://smiy.org/2011/01/10/the-common-layered-semantic-web-technology-stack/
Furthermore, to get a rather technology independent view of what Linked Data really is, I would recommend you to have a look at http://smiy.org/2011/02/17/a-generalisation-of-the-linked-data-publishing-guideline/
Regarding your “graphic” I would recommend you to remove all descriptions to a legend rather then messing up your overview graphic with them.
@Zazi,
Thanks. My diagram above I suspect has different goals to yours.
I’ve very much aiming at concrete descriptions of how technologies are working in practice, for the beginner (and for policy audiences as well as technical audiences), rather than going for abstractions in this case.
The abstractions are certainly key to exploring where we’re heading: but in this I’m trying to capture where we are – and what an organisation in the international development sector looking at how they participate in the web of data might need to know about…
Okay, one more suggestion: I wouldn’t differentiate between vocabulary and ontology, because it is always quite difficult to draw a line between them. As you already pointed out, ontologies are vocabularies (in the context of your definitions) would be enough. So no extra box for ontologies is necessary.