Visualising OU Academic Participation with the BBC’s “In Our Time”

Although not an OU/BBC co-pro, the “get some academics in to chat to Melvyn” format of BBC Radio 4’s In Our Time means that the OU has, over the years, had a handful of academics appearing on the programme. I’ve been mulling over opportunities for playing with the BBC programmes linked data (no RDF required) I wondered how easy it would be to grab the programmes that OU academics have appeared on. For example, it’s increasingly possible to see programmes associated with particular places (h/t to @gothwin for that; see his post on A Crude BBC Places Linked Data mashup for an application of that data) although the organisations listing is still a bit sparse.

Looking through the programme data, the participants in a programme are listed separately, but not their affiliations. However, in the free text that is used in the long synopsis of the programme, a convention exists to identify the guests, with affiliation or short bio, who appeared on that particular programme:

In the post Augmenting OU/BBC Co-Pro Programme Data With Semantic Tags, I described how the Thomson Reuters’ OpenCalais entity extraction/semantic tagging service could be used to augment the BBC programme data with additional data fields based on analysis of the supplied text. One of the extraction services identifies a set of related fields termed PersonCareer, which detail (where possible) the name of a person, their role, and the organisation they work for. The convention used to list the guests on each programme is appropriate for the extraction of PersonCareer data, at least in some cases.

Rather more reliable is the extraction of University names as Facility data types. What this means is that we can tag each programme with a list of Facilities relating to the universities represented by guests on the programme, and then – where a PersonCareer is extracted, attempt to text match the PersonCareer/Organization name with the extracted Facility name. (Sample code is available here. I had “issues” with character encodings, so there is an element if hackery involved:-( In order to aggregate data from across programmes in the series, I built up a network of programmes and participating institutions using a NetworkX representation, which then gets dumped to output files in a variety of graph formats.)

Here’s an example of the output, filtered to show programmes and programme tags (from the BBC data, rather than Calais extracted tags) that had some sort of association with the Open University:

The above diagram is actually a filtered view over the whole programme’n’university representation network using the Gephi ego network filter:

Node sizing is related to degree in this sub-network, and nodes are coloured according to node type (person, institution, tag, programme.) The graph shows programmes that an OU academic appeared on, and (where possible) which OU academic, by name. Programme tags from the BBC programme data are also shown, as are other institutions that appeared on the same programmes as the OU.

Here’s a snapshot of the full graph – you’ll notice there is some mismatch* in references between the universities mentioned that could possibly be reconciled using a string similarity technique or maybe running the data through Google Refine and using one or more of its string similarity/reconciliation tools.

* things are actually even more pathological: in some cases, I think that Oxbridge Colleges may be identified in PersonCareer metadata as the career organisation, rather than the university affiliation, which may well have been recognised as a Facility. If an organisation identified in a PersonCareer is not one of the Facilities added that has been identified and added to the graph, the organisation is also added. The question we’re left with is: do the errors such as they are make this graph, such as it is, completely use less, or is it better than nothing and something we can work with and improve incrementally as and how we can. [UPDATE: related maybe? Making Linked Data work isn’t the problem]

I’m not sure what the next step should be, but linking the OU ego-graph into the OU Linked Data would be one way forward. For example, displaying papers in ORO authored by appearing academics, or trying to relate programmes to related courses on the OU course catalogue (or even though not indexed in the OU Linked Data store, courses on OpenLearn). A big problem with brokering the Linked Data connections is that I’d have to do free text/regular expression searches on the OU Linked Data store using terms from the BBC/OpenCalais data. THat is, there are no common unique identifier/URIs that can be used as “proper” linking terms:-(

Open University Undergraduate Module Map

Picking up on Linked Data Now Exposing Module Information, which describes how to query the Open University linked data store for course (that is, module) information, I’ve just posted an SVG map of how all the current* OU undergraduate course relate.

* if I understood @mdaquin correctly… specifically, a course is current if a description field is available for it.

You can see the graph here or by clicking through on the image below (if you’re using at least Firefox, Safari or Chrome, you should be able to click and drag the image to move it around, as well as zoom in and out.

The links between courses are the ‘related to’ links contained within the linked data. The nodes are sized according to degree and coloured according to modularity group, following application of the Gephi modularity statistic. The layout is an expanded form of a Yifan Hu layout.

The modularity statistic seems to identify clusters of courses reasonably well, allowing a student of potential student to get an overall view of the courses offered by the OU along with the courses that are naturally taken together. It may be interesting to explore the extent to which this sort of view may be used as a navigation surface, or made a little more interactive, for example by displaying information about a course (maybe including price and start date?!;-) when a user hovers over a course node.

OU Related Courses Network Visualisation Using Protovis and Open University Open Data

This is something I’ve been meaning to do for ages, so spurred on by Martin Hawksey’s wonderful Google Gadgets port of my ad hoc Twitter network visulisation thing using Protovis (which Martin points out doesn’t work with IE9), I finally got round to it today: a wiring up of the OU modules Linked Data to the protovis app:

The data is pulled in from the OU Linked Data endpoint via Sparqlproxy (which provides a JSON output from the query that I can pull directly into the web page).

The query I’m using looks for courses related to the course of interest, and the courses related to those courses:

PREFIX xsd: <;
select distinct ?name1 ?code2 ?name2 ?code3 ?name3 from <; where {
?x a <;.
?x <; <;.
?x <; ?name1.
?x <; ?z.
?z <; ?name2.
?x <; 'T215'^^xsd:string.
?z <; ?code2.
?z <; ?zz.
?zz <; ?name3.
?zz <; ?code3.
} LIMIT 100

(The endpoint is; the explicit ‘T215’ course code identifier is paramterised in the URI that runs the query through Sparqlproxy.)

There’s all sorts of opportunities for coloring the nodes (eg to distinguish between the focal point course, it’s direct neighbours, and the neighbours of those neighbors) but that’s an exercise for another day. I should probably have a go at labeling them sensibly too…

(The ability to drag nodes around within the graph has also been added (back) – Martin noticed the order of a couple of the Protovis commands influenced whether this worked or not. Being able to relayout the chart reminds me how rubbish the force layout algorithm Protovis uses actually is!)

Drawing on Martin’s work (i.e. directly pinching his Google Gadget definition!) I also created a widget/gadget (XML) that lets you view the network of courses around a course in your own page…

Here’s the config page:

Of course, this being a hosted blog, I donlt think I can directly embed the gadget to prove that it works…

Related: Linked Data Now Exposing Module Information
Getting Started With Course Linked Data
Open University Undergraduate Module Map

PS to do – a reimagining of this, probably using arbor.js, where we just do the direct neigbours of a course code, but allow nodes to be clickable so that additional nodes and edges can be added to the graph dynamically… It might also be interesting to support search by keywords, and display courses that match keywords (in one colour) as well as related courses (in another), along with edges showing which courses are related…?

Where Course Data Would Help…

Some fragments that possibly make for a useful jigsaw, based on a use case of trying to think up possible projects for an OU Masters course, and wondering what other modules students taking the project course are likely to have – or are required to have – already taken:

  • The OU Masters level Computing Project course (T802) is a compulsory course in several qualifications:

    I would like a list of other modules associated with those qualifications, and a rank of how many of those qualifications each appears in. A handful of graphs come to mind too: a bipartite graph showing connections between each of those qualifications and their compulsory modules; a bipartite graph showing connections between each of those qualifications and their eligible (“defining, but not compulsory” modules); collapsed versions of the bipartite graphs showing modules with edges between them where they co-occur in a qualification.

  • Clicking through on one of the qualification links, eg to the MSc in Information Systems, I see this:

    …but no link to the Postgraduate Diploma in Information Systems (E10) ( So, first up, I’d like data relating to precursor qualifications required for the Masters. And second up, information about the modules with those qualifications:

I’m not sure if this info is available in either the OU Linked Data store or via the OU XCRI feed but I’m not minded to waste the rest of my Sunday finding out. All I wanted was a list of modules that potential students on T802 might be expected to have taken…

PS fwiw, here’s a qualification entry from the OU XCRI feed:

            <title>Postgraduate Diploma in Technology Management</title>
            <subject>Engineering, Technology and Design</subject>
            <description xsi:type="xcri:metadataKeywords">E08,
      Postgraduate Diploma in Technology Management,
      Postgraduate qualification,
      Open University
            <description xsi:type="xcri:abstract">
                <div xmlns="">
                    <p>This diploma provides an analytical view of strategic issues in technology management, equipping you for senior technology management roles.</p>
            <description xsi:type="xcri:aim">
                <div xmlns="">
                    <p>This postgraduate diploma course represents the second qualification level in the technology management programme. The diploma builds on the operational focus of the postgraduate certificate by providing you with concepts and tools to support the effective strategic management of technology. The compulsory modules in the diploma link the fields of strategic management and technology strategy. There is also the opportunity to extend your technology management studies by choosing optional modules relevant to your particular interests. The qualification provides an analytical view of strategic issues in technology management, and will equip you for senior technology management roles.</p>
            <description xsi:type="xcri:learningOutcome">
                <div xmlns="">
                    <p>The technology management programme develops analytical skills and provides practically relevant knowledge that will equip you well for a variety of management and leadership roles. The competent technology manager is a highly valued professional, capable of ensuring that the organisation reaps all the potential rewards from its investment in technology of whatever type. You will develop a range of job-related and transferable skills such as critical thinking, creative problem solving, and the ability to cope with rapid technological change. The capabilities in research and problem-solving developed can be exploited in all professional situations at all management levels. Employers are also impressed by the commitment and determination it takes to succeed with the OU while keeping up family and work commitments. These benefits, together with the opportunities to add value by applying your learning to the workplace as you study, make technology management programmes very attractive vehicles towards success in senior management roles.</p>
                    <p>There is more information about how OU study can improve your employability in the OU’s Employability Statement from our Careers Advisory Service. You can also read or download our publication OU study and your career and look at our subject pages to find out about career opportunities.</p>
                <title>Postgraduate Diploma in Technology Management</title>
                <type>The Open University</type>
                <scheme>The Open University</scheme>
                <level />
                <description>See individual course components for details of presentations of OU courses.</description>
                <duration>Please refer to individual modules or contact the Student Registration &amp; Enquiry Service for details.</duration>
                <studyMode>The Open University offers part time distance education - known as supported open learning - which allows students to work at home in their own time, usually with the support of a personal tutor.</studyMode>
                <attendancePattern>Part time distance education course</attendancePattern>
                    <description>The Open University offers part time distance education - known as supported open learning - which allows students to work at home in their own time, usually with the support of a personal tutor. </description>
                <cost>Costs are paid per unit not per qualification.</cost>
                <enquireTo>Contact name: Student Registration &amp; Enquiry Service, Contact phone: 0845 3006090, Contact email:</enquireTo>

So, no information there – let alone data – about what modules are involved…? (I also wonder about the quality of some of the data that is being published (start date of 1900-01-01, for example?) and how/where some of the semantics are defined, such as: what sort of credit points are the 120 unspecificed level points associated with the qualification?)

Of course, the intention behind the XCRI feed is not to provide scaffolding mapping out the module structure of OU offerings (it’s published as a marketing info syndication feed – thoughts on how well it might, does or doesn’t fit that purpose via the comments, please;-), but I was hoping that it might be repurposable/appropriatable as such ;-)