GovHack 2012: A Day in the Life

View it Online | Fork it!

Over 100 years of data, information and imagery has been captured in the many datasets available for GovHack, but how does the average person connect with this? Do they care what the rainfall was on the 1st March 1965? Do you want to browse photos from 60 years ago? Maybe, maybe not. However, every person has a nostalgic interest in the events around the time of their birth, their families births, their friends births – how has the world changed? Was I born on a rainy day? How much did bread cost back then? Why did people wear such ‘funny’ clothes?

A Day in the Life aims to take as many datasets as possible that invoke nostalgia and interest. Simply enter a date and a location and you will see a point in time snapshot of what the world looked like then. Photos from the period are selected from the National Archives, population and currency information is provided by the Australian Bureau of Statistics specific to the location selected and rainfall and temperature is displayed from the Bureau of Meteorology.

To provide that extra connection to the past datasources from dbpedia have been consumed to provide information on historic events.

Connect with your past and get started here: A Day in the Life

Approach

The National Archives image metadata as well as historical datasets for temperature and rainfall from BOM and population and price index from ABS were processed and loaded into MongoDB. SPARQL queries were developed to extract additional relevant linked data information from dbpedia to supplement the existing datasets. A web application providing REST-based APIs was developed to support querying and retrieving data from the datasets. A tablet-friendly Web UI was developed on top of the REST API to present the information.

API

In order to consume the several datasets that are used an API was required. Firstly the datasets converted to JSON and loaded into a flexible MongoDB database. This allowed easy access to the data using a REST API and ensure that minimal processing is carried out on each request whilst keeping the response simple and easily consumable by other programs. Sat between MongoDB and the rest of the world is a Java Servlet acting as our API layer, this receives the incoming requests, queries the MongoDB database or dbpedia and provides results as JSON or single values. Please see below for the API reference.

Technology

  • MongoDB
  • SPARQL
  • HTML5
  • jQuery & JSON
  • REST API (see below)
  • Java Servlets
  • Apache Tomcat
  • Virtual Machine with Ubuntu provided by ninefold
Share Comments
comments powered by Disqus