Mapping How Programming Languages Influenced Each Other According to Wikipedia



prefix gephi:<>
prefix foaf: <>
  ?a gephi:label ?an .
  ?b gephi:label ?bn .
  ?a <> ?b
?a a <>.
?b a <>.
?a <> ?b.
?a foaf:name ?an.
?b foaf:name ?bn.

As to how I found the <; relation, I had a play around with the SNORQL query interface for DBpedia looking for possible relations using queries along the lines of:

?a <> ?b.
?a rdf:type ?c.
?b a ?c.
} limit 50 offset 150







  1. Pingback: Visualising Related Entries in Wikipedia Using Gephi « OUseful.Info, the blog…
  2. Pingback: Grayson Hodnett
  3. Chris Rusbridge

    It’s interesting, but kind of hard to understand what the visualisation means. I can see a cluster of list processing languages over to the left, and OO languages in the middle. But why does Algol get so far separated from Algol 60 and Algol 68, with FORTAN and Pascal in between. I guess the actual locations are artefacts and we should see distances in terms of steps that are hard to see. But I can’t see a direct link from Algol to the others, or from Pascal to Object Pascal.

    I also realise this doesn’t mean your code is wrong, maybe these are artefacts of the ways that myriad Wikipedia editors expressed themselves. The Wikipedia article on Algol 60 mentions the generic term Algol many times, but not as a language itself. It doesn’t mention that Algol 60 was influenced by Algol, even though the Algol article says it influenced “Most subsequent imperative languages (so-called ALGOL-like languages) e.g. Simula, C, CPL, Pascal, Ada”. The article on Algol starts “ALGOL (short for ALGOrithmic Language) is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and was the standard method for algorithm description used by the ACM, in textbooks, and academic works for the next 30 years and more.[2] In the sense that most modern languages are “algol-like”,[3] it was arguably the most successful of the four high level programming languages with which it was roughly contemporary, Fortran, Lisp, and COBOL.”

    So is this visulaisation seductive but ultimately thoroughly misleading, giving a veneer of sense but hiding away really bad underlying data?

    • Tony Hirst

      @chris I was making no claims at all about anything the visualisation does or doesn’t say, or the way in which it may or may not be interpreted, nor even, I think, what the node sizing is related to? The point of the post was to demonstrate a recipe about how to get particular subsets of data out of DBpedia and into Gephi. That is all… ;-)

      PS FWIW, I think one of the major benefits to be had from these sorts of visualisation is in support of a visual analytical conversation between the analyst and the data. It also helps, as you say, to identify those cases where there may be something wrong with the data (as Martin Hawksey says, “data use == data validation”), which is an important part of the process of working with data. One thing I try to avoid doing on the blog is produce anything that might be construed as being intended as a ‘finished graphic’. Pretty much all of the “visualisations” I post here are sketches, snapshots of a process that is an ongoing conversation between myself and the data, and that as a consequence is only really meaningful to anyone who is aware of the full history of that conversation.

      The programming languages image was intended simply as an illustration of the structure of the data and some of the manipulations that could be applied to it, rather than as a meaningful visualisation. And it was not my intention at all to claim it as a “true” statement about the relationships between computer languages. At the most, it is a statement made about the claims made within a set of Wikipedia pages (a set that is opaque to me) that make use of a particular structured relation in a particular context.

  4. Pingback: Mapping Related Musical Genres on Wikipedia/DBPedia With Gephi « OUseful.Info, the blog…
  5. Pingback: Day 22: An HTML (or Java) Language Translator for your blog « From Scratch
  6. Pingback: A Look at How Programming Languages Influence Each Other -
  7. Pingback: DevX – Your Information Source for Enterprise Application Development | Anthro Engineering
  8. Pingback: Wikimedia Research Newsletter, August 2012 — Wikimedia blog
  9. Pingback: Aprendiendo a programar: en busca de mi primer lenguaje | Uikimania
  10. Pingback: Aprendiendo a programar desde cero: capítulo 1 - Chismes Mundo | Chismes Mundo