The Ordnance Survey is Great Britain's national mapping authority, maintaining the definitive record of every geographic feature in Great Britain. They are also pioneers in making their public data available as standardised Linked Data.
The OS used to outsource the hosting of the data and associated developer APIs. When the managed hosting offering was discontinued by the external service provider, the OS took the opportunity to complement their extensive data modeling experience with providing the Linked Data hub themselves.
Credit to whom credit is due: Leigh and Julian did most of the back-end development, and also the documentation and on-site training. The datasets were modeled and created at the OS by John Goodwin.
Together, we planned and prototyped the individual front-end features. I focused mainly on designing and scripting the in-browser components.
The old HTML pages consisted of flat key-value lists. This is still a common approach for many data-centric sites. RDF systems are schema-agnostic and therefore Linked Data views are usually auto-rendered by generic queries and algorithms.
However, we aimed at more context-aware and user-friendly views. The new site was expected to get indexed by search engines (all Linked Data views contain RDFa), which would in turn increase the number of people finding the site. We wanted everyone to feel welcome, no matter if tech-savvy or just someone trying to find out more about a ward.
The challenge was to implement a processing layer that would work for all resource types, but at the same time allow bespoke additions. Given the large number of geographic items in the data, we obviously wanted to integrate the OS OpenSpace maps and map overlays, and also link out to the OS web shop in a meaningful way.
We achieved this by reserving a full-width map space at the top of each Linked Data view, which would not affect the remaining layout when hidden. We also optimised how the different parts of a resource description (label, summary, text properties, links to other entities) are arranged on the screen.
With a map as visual entry point, a human-friendly resource summary (generated by a nifty script), and with textual facts separated from links, the pages work for website visitors and developers alike.
Instead of simply linking out to a schema file from the Linked Data views, we wanted to also provide HTML pages for the OS-specific ontology terms, so that developers could conveniently explore schemas, classes, and properties.
In the new OS data hub, this is done in a similar way as with instance data. But in addition to the basic resource information, shortcuts to all other terms from the same vocabulary are provided as well, leading to a handy schema overview and simplified navigation.
The standard query interface for Linked Data is SPARQL, an SQL-ish language optimised for graph queries. SPARQL is an important tool for power users already familiar with a dataset. To also attract the other 98% ;-) of potential users, we decided to add a few more, easier to understand options to the mix.
Our solution is a multi-API inline explorer which guides developers from simple keyword searches (Search API) towards complex graph query operations (SPARQL API). Results from the keyword search contain Linked Data identifiers which can be used to issue queries against the Lookup API, which in turn returns detailed resource descriptions that make the underlying schema more obvious for later SPARQL experiments. Additionally, the inline SPARQL explorer is pre-configured with a list of typical sample queries, to help lower the complexity barrier.
Another easy-to-understand interface is the Reconciliation form, where labels can be turned into re-usable identifiers.
For each of the APIs, we built individual explorers on dedicated pages (where more screen estate is available for focused development). All of the API endpoints offer a variety of response formats, including JSON and XML.
Quick Search is another entry-point for non-developers. It shows typed results while you enter simple keywords into a search form on the home page.