I thought I’d try and work on a small project that merges a couple of my current interests: the Semantic Web, SPARQL endpoints and developing Mac applications with Objective-C and Cocoa. Basically, a Mac desktop client that allows me to query SPARQL endpoints.
A SPARQL endpoint allows agents (human or otherwise) to query RDF data stores via the SPARQL language. For example, a number of endpoints have been made available with the recent launched data.gov.uk website.
The projects I’m involved with at work - within the Web Futures team in the Institute of Learning and Research Technology (ILRT), University of Bristol, are often focussed on Semantic Web technologies. We are looking to utilise SPARQL endpoints in our current projects - Research Revealed and Visualising China - and have started a spin-off project called Arnos* that will develop a ‘system to present a number of sparql stores as one sparql endpoint, passing through user credentials to each of the stores’.
Each SPARQL endpoint usually comes with a simple form that allows you to send queries. However, from my point of view, it would be useful to have a desktop tool that allows me to store the location of different endpoints, query the endpoints, provide syntax highlighting, keep a history of queries etc.
Why Objective C and Cocoa? I’ve been doing web development for twelve or more years and I fancied doing something different. These days I tend to use Macs most of the time for development - both at home and work. Over the last eighteen months I’ve been playing with Cocoa and Cocoa Touch and have developed an application called Sensory Play for the iPhone.
So, I’m going to develop something I will use, give me a better understanding of dealing with endpoints and, hopefully, others will find it useful. :)
At the moment the project is called ‘LinkedDataViewer’ - yes, it needs a better name. The first release (0.1) allows you to add SPARQL endpoints and send SPARQL “SELECT” queries. Subsequent releases will provide support for CONSTRUCT and DESCRIBE queries etc. Here’s a screen shot of the 0.1 release:
Some of the things I’d like to include are:
- Support for all SPARQL query types and display data in an appropriate format
- Support for analysing voiD descriptions - will this link to examples and documentation?
- Keep a history of queries
- Provide an option of a tabular view for SELECT queries