<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>John's Weblog</title>
	<atom:link href="http://johngoodwin225.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://johngoodwin225.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sat, 14 Jan 2012 09:32:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='johngoodwin225.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>John's Weblog</title>
		<link>http://johngoodwin225.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://johngoodwin225.wordpress.com/osd.xml" title="John&#039;s Weblog" />
	<atom:link rel='hub' href='http://johngoodwin225.wordpress.com/?pushpress=hub'/>
		<item>
		<title>2011 in review</title>
		<link>http://johngoodwin225.wordpress.com/2012/01/04/2011-in-review/</link>
		<comments>http://johngoodwin225.wordpress.com/2012/01/04/2011-in-review/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 10:22:21 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=155</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog. Here&#8217;s an excerpt: A New York City subway train holds 1,200 people. This blog was viewed about 5,700 times in 2011. If it were a NYC subway train, it would take about 5 trips to carry that many people. Click here to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=155&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.</p>
<p><a href="/2011/annual-report/"><img src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" alt="" width="100%" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>A New York City subway train holds 1,200 people. This blog was viewed about <strong>5,700</strong> times in 2011. If it were a NYC subway train, it would take about 5 trips to carry that many people.</p></blockquote>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=155&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2012/01/04/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" medium="image" />
	</item>
		<item>
		<title>Introducing RAGLD</title>
		<link>http://johngoodwin225.wordpress.com/2011/12/21/introducing-ragld/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/12/21/introducing-ragld/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 13:04:18 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Geospatial]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[linked data web]]></category>
		<category><![CDATA[Ordnance Survey]]></category>
		<category><![CDATA[Seme4]]></category>
		<category><![CDATA[University of Southampton]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=150</guid>
		<description><![CDATA[RAGLD (Rapid Assembly of Geo-centred Linked Data) is a project looking at the development of a software component library to support the Rapid Assembly of Geo-centred Linked Data applications The advent of new standards and initiatives for data publication in the context of the World Wide Web (in particular the move to linked data formats) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=150&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>RAGLD (Rapid Assembly of Geo-centred Linked Data) is a project looking at the development of a software component library to support the Rapid Assembly of Geo-centred Linked Data applications</p>
<p>The advent of new standards and initiatives for data publication in the context of the World Wide Web (in particular the move to linked data formats) has resulted in the availability of rich sources of information about the changing economic, geographic and socio-cultural landscape of the United Kingdom, and many other countries around the world. In order to exploit the latent potential of these linked data assets, we need to provide access to tools and technologies that enable data consumers to easily select, filter, manipulate, visualize, transform and communicate data in ways that are suited to specific decision-making processes.In this project, we will enable organizations to press maximum value from the UK’s growing portfolio of linked data assets. In particular, we will develop a suite of software components that enables diverse organizations to rapidly assemble ‘goal-oriented’ linked data applications and data processing pipelines in order to enhance their awareness and understanding of the UK’s geographic, economic and socio-cultural landscape.A specific goal for the project will be to support comparative and multi-perspective region-based analysis of UK linked data assets (this refers to an ability to manipulate data with respect to various geographic region overlays), and as part of this activity we will incorporate the results of recent experimental efforts which seek to extend the kind of geo-centred regional overlays that can be used for both analytic and navigational purposes. The technical outcomes of this project will lead to significant improvements in our ability to exploit large-scale linked datasets for the purposes of strategic decision-making.RAGLD is a collaboative research initiative between the<a href="http://www.ordnancesurvey.co.uk/oswebsite/"> Ordnance Survey</a>, <a href="http://www.seme4.com/">Seme4 Ltd</a> and the <a href="http://www.ecs.soton.ac.uk/">University of Southampton</a>, and is funded in part by the <a href="http://www.innovateuk.org/">Technology Strategy Board‘s</a> “Harnessing Large and Diverse Sources of Data” programme. Commencing October 2011, the project runs for 18 months.</p>
<p>If you&#8217;d like to input into the requirements phase of the project I&#8217;d be very grateful if you could fill in <a href="http://www.ragld.com/news/2011/12/work-package-1-questionnaires">one of these questionnaires</a>. Many thanks in advance.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/150/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=150&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/12/21/introducing-ragld/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>Making things with Ordnance Survey Linked Data&#8230;</title>
		<link>http://johngoodwin225.wordpress.com/2011/11/03/making-things-with-ordnance-survey-linked-data/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/11/03/making-things-with-ordnance-survey-linked-data/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 10:52:50 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[Ordnance Survey]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[GIS]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=145</guid>
		<description><![CDATA[Following the example of &#8220;Making things with BBC data&#8221; I thought I&#8217;d ask the same question for Ordnance Survey linked data. Please leave a comment if you&#8217;ve used Ordnance Survey linked data for anything from a quick hack, full blown project or if you even just link to it in your data. Thanks! &#160; &#160;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=145&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Following the example of &#8220;<a href="http://fantasticlife.posterous.com/making-things-with-bbc-data">Making things with BBC data</a>&#8221; I thought I&#8217;d ask the same question for <a href="http://data.ordnancesurvey.co.uk">Ordnance Survey linked data</a>. Please leave a comment if you&#8217;ve used Ordnance Survey linked data for anything from a quick hack, full blown project or if you even just link to it in your data. Thanks!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=145&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/11/03/making-things-with-ordnance-survey-linked-data/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>Adventures with Kasabi&#8230;and a request for help&#8230;</title>
		<link>http://johngoodwin225.wordpress.com/2011/10/05/adventures-with-kasabi-and-a-request-for-help/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/10/05/adventures-with-kasabi-and-a-request-for-help/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 21:36:01 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[linked data]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[kasabi]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[Ordnance Survey]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=140</guid>
		<description><![CDATA[I&#8217;ve been playing around with Kasabi a bit of late. Kasabi is a new information market place from Talis that provides a useful place to publish your data, and then build services on top of it. By way of a quick example you&#8217;ll see that the currently Ordnance Survey Linked Data is hosted in Kasabi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=140&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.kasabi.com/2011/09/28/working-with-the-ordnance-survey-data/" target="_blank">I&#8217;ve been playing</a> around with <a href="http://beta.kasabi.com/" target="_blank">Kasabi</a> a bit of late. Kasabi is a new information market place from Talis that provides a useful place to publish your data, and then build services on top of it.</p>
<p>By way of a quick example you&#8217;ll see that the currently <a href="http://data.ordnancesurvey.co.uk/">Ordnance Survey Linked Data</a> is hosted in Kasabi <a href="http://beta.kasabi.com/dataset/ordnance-survey-linked-data">here</a>. There are a number of standard APIs provided with each dataset such as a <a href="http://beta.kasabi.com/dataset/ordnance-survey-linked-data/apis/sparql">SPARQL endpoint</a>, <a href="http://beta.kasabi.com/dataset/ordnance-survey-linked-data/apis/search">search API etc</a>. Kasabi provides an easy way to map complex SPARQL queries to simple API queries. For example, <a href="http://beta.kasabi.com/dataset/ordnance-survey-linked-data/apis/33m">this API </a>provides an easy way to do topological queries on the Ordnance Survey Linked Data. For example:</p>
<p>http://api.kasabi.com/dataset/ordnance-survey-linked-data/apis/33m?id=7000000000037256&#038;spatialrelation=touches&#038;apikey=yourkey</p>
<p>will find all regions that <a href="http://data.ordnancesurvey.co.uk/ontology/spatialrelations/touches" target="_blank">touch</a> <a href="http://data.ordnancesurvey.co.uk/id/7000000000037256" target="_blank">The City of Southampton</a>.</p>
<p>This <a href="http://beta.kasabi.com/dataset/ordnance-survey-linked-data/apis/34e" target="_blank">API</a> gives you a list of all postcodes (and their lat/long) within a particular region. For example:</p>
<p>http://api.kasabi.com/api/ordnance-survey-postcode-region?district=7000000000037256&#038;apikey=yourkey</p>
<p>will find all postcodes in<a href="http://data.ordnancesurvey.co.uk/id/7000000000037256" target="_blank">The City of Southampton</a>. Additionally we can apply a style sheet to get back the same information as KML:</p>
<p>http://api.kasabi.com/api/ordnance-survey-postcode-region?district=7000000000037256&#038;apikey=yourkey&#038;output=kml</p>
<p>Kasabi also provides a handy place to store and host data, and one Sunday afternoon I decided to see how easy it would be to create a couple of hyperlocal datasets: one for <a href="http://beta.kasabi.com/dataset/southampton-postcodes" target="_blank">Southampton</a> and one for <a href="http://beta.kasabi.com/dataset/hampshire-postcodes" target="_blank">Hampshire</a>. The basic approach in creating these hyperlocal datasets was to effectively &#8216;cookie cut&#8217; region specific data from a number of different <a href="http://beta.kasabi.com/dataset/hampshire-postcodes?quicktabs_services_on_datasets=5#quicktabs-services_on_datasets" target="_blank">linked (open) data sets</a> and put them into one store. So for Southampton and Hampshire we have a list of: airports, bus stops, stations, schools, GPs, hospitals, renewable energy generators, heritage sites, councillors, crime statistics, administrative regions and postcodes…   Each important element, like schools or hospitals, is linked to a postcode, district, ward—and in the case of Hampshire—county. The Ordnance Survey linked data is effectively acting as the clue between disparate sources of information. The fact that each of these datasets was provided as linked data, and furthermore referenced common identifiers for administrative regions and postcodes, meant it was very easy to bring them together in one store. Some sample queries are provided <a href="http://beta.kasabi.com/dataset/southampton-postcodes?quicktabs_services_on_datasets=0#quicktabs-services_on_datasets" target="_blank">here</a>. It gets more interesting when you combine elements from different datasets to, for example, ask questions like ‘<a href="http://beta.kasabi.com/dataset/southampton-postcodes/queries/portswood-gps" target="_blank">find me GPs in my ward, and all the bus stops within a 100 metre radius of those GPs</a>’.  If one were extra paranoid it would then be possible to extend the query to only find bus stops in areas of low anti-social crime levels. These queries are all well and good, or &#8216;nerdy, but nice&#8217; as <a href="http://twitter.com/#!/DirDigEng" target="_blank">Andrew Stott</a> put it.</p>
<p>What I was really hoping to do was build a nice webapp on top of this integrated data. Anyone who has seen my previous <a href="http://www.johngoodwin.me.uk/projects.html" target="_blank">mash-ups</a> will know that web design is not amongst my key skills, so <a href="twitter.com/zbeauvais" target="_blank">Zach Beauvais</a> suggested I put word out to the developer community to see if anyone fancied building on this data to make something cool and interesting like (for example) the (in)famous <a href="http://blog.newspaperclub.com/2009/10/16/data-gov-uk-newspaper/" target="_blank">postcode paper</a>. Any volunteers? <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=140&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/10/05/adventures-with-kasabi-and-a-request-for-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>Standard Model Ontology</title>
		<link>http://johngoodwin225.wordpress.com/2011/06/22/standard-model-ontology/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/06/22/standard-model-ontology/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 19:17:09 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[cern]]></category>
		<category><![CDATA[elementary particles]]></category>
		<category><![CDATA[Knowledge representation]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[owl2]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[standard model]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=136</guid>
		<description><![CDATA[A few years back me and my friend Robert Stevens discussed the how &#8216;cool&#8217; it would be to create an ontology for elementary particles and the standard model. We didn&#8217;t really proceed too far with this, however one recent rainy weekend I decided to give it some more thought. This [1] was the result &#8211; it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=136&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few years back me and my friend <a href="http://www.cs.man.ac.uk/~stevensr/">Robert Stevens</a> discussed the how &#8216;cool&#8217; it would be to create an ontology for elementary particles and the standard model. We didn&#8217;t really proceed too far with this, however one recent rainy weekend I decided to give it some more thought. <a href="http://www.johngoodwin.me.uk/ontologies/standardmodel.owl">This</a> [1] was the result &#8211; it is still far from complete and very much a work in progress. Interestingly the ontology does use a lot of the features of <a href="http://www.w3.org/TR/owl2-overview/">OWL2</a>.</p>
<p>It appears meanwhile that Robert has also been building his <a href="http://robertdavidstevens.wordpress.com/2010/12/18/an-ontology-of-sub-atomic-particles-2/">own version</a>.</p>
<p>Hopefully our efforts will see the start of some linked open data from CERN &#8211; I can dream <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;ll write up this work when the ontology is complete. Meanwhile comments welcome (comments aside from &#8220;you need to get out more&#8221; that is).</p>
<p>[1] &#8211; best viewed in <a href="http://protege.stanford.edu/download/registered.html#p4.1">Protege 4.1</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=136&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/06/22/standard-model-ontology/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>A Crude BBC Places Linked Data mashup</title>
		<link>http://johngoodwin225.wordpress.com/2011/01/20/a-crude-bbc-places-linked-data-mashup/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/01/20/a-crude-bbc-places-linked-data-mashup/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 09:39:53 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[linked data]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[dbpedia]]></category>
		<category><![CDATA[mashup]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=121</guid>
		<description><![CDATA[Last night I did some more experimenting with the Python rdflib directory. This time I did a crude (it&#8217;s not that pretty or polished yet) mashup of some of the BBC linked data and DBpedia linked data. The Beeb have been in the linked data business for a while and their initial efforts were around [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=121&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last night I did some more experimenting with the Python rdflib directory. This time I did a crude (it&#8217;s not that pretty or polished yet) mashup of some of the <a href="http://www.bbc.co.uk">BBC </a>linked data and <a href="http://dbpedia.org/About">DBpedia</a> linked data.</p>
<p>The Beeb have been in the linked data business for a while and their initial efforts were around <a href="http://www.bbc.co.uk/programmes">programmes </a>and <a href="http://www.bbc.co.uk/music">music</a> (but you also check out the great linked data powered <a href="http://www.bbc.co.uk/wildlifefinder/">wildlife finder</a>).</p>
<p>Recently they&#8217;ve started to experiment with tagging their programmes with relevant <a href="http://www.bbc.co.uk/programmes/people">people</a>, <a href="http://www.bbc.co.uk/programmes/places">places </a>and <a href="http://www.bbc.co.uk/programmes/organisations">organisations</a>.</p>
<p>I decided it might be quite nice to have a simple mashup showing TV and radio shows about different places. To this end I did a quick linked data mashup to produce some KML showing this information.</p>
<p>To do this I again used Python&#8217;s <a href="http://www.rdflib.net/">rdflib</a>. Here it was a simple case of following links from a place to a TV/radio programme and loading the RDF into a graph. It was then a case of executing a simple SPARQL query over this graph to get a KML file containing programme details and a lat/long coordinate for plotting it on a map. The BBC place data did not contain lat/long for all the places, but luckily they did include a &#8216;sameAs&#8217; to the place information in DBpedia. Here all we had to do was follow the &#8216;sameAs&#8217; link and load in the DBpedia data.</p>
<p>I explained how to use rdflib to do this sort of thing in my last <a href="http://johngoodwin225.wordpress.com/2011/01/18/how-can-i-use-the-ordnance-survey-linked-data-a-python-rdflib-example/">post</a>, but meanwhile here is the <a href="http://www.johngoodwin.me.uk/bbc/rdf.py">source code</a> and here is the <a href="http://www.johngoodwin.me.uk/bbc/bbc.kml">KML</a>. The KML can be used with a mapping API of your choice, but for a quick view drop the KML URL into the search box on Google maps or view in Google Earth.</p>
<p>At the moment this is a bit clunky, but it&#8217;s just a start&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=121&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/01/20/a-crude-bbc-places-linked-data-mashup/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>How can I use the Ordnance Survey Linked Data: a python rdflib example</title>
		<link>http://johngoodwin225.wordpress.com/2011/01/18/how-can-i-use-the-ordnance-survey-linked-data-a-python-rdflib-example/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/01/18/how-can-i-use-the-ordnance-survey-linked-data-a-python-rdflib-example/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 20:27:01 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[Ordnance Survey]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=106</guid>
		<description><![CDATA[In this blog post I talked about the potential of (Ordnance Survey) linked data. Partly motivated by this challenge I decided to write up how I did the mash up of data.gov.uk data and Ordnance Survey linked data. This post is a slightly different take on a previous post. For this mashup I used Python [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=106&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this <a href="http://blog.ordnancesurvey.co.uk/2011/01/how-linked-data-can-reap-benefits/">blog post</a> I talked about the potential of (Ordnance Survey) linked data. Partly motivated by this <a href="http://memespring.co.uk/2011/01/linked-data-rdfsparql-documentation-challenge/">challenge </a>I decided to write up how I did the mash up of <a href="http://data.gov.uk/">data.gov.uk</a> data and Ordnance Survey <a href="http://data.ordnancesurvey.co.uk/">linked data</a>. This post is a slightly different take on a previous <a href="http://johngoodwin225.wordpress.com/2010/10/25/so-what-can-i-do-with-the-new-ordnance-survey-linked-data/">post</a>.</p>
<p>For this mashup I used Python 2.7 and<a href="http://www.rdflib.net/"> rdflib 3.0.0</a>.</p>
<p>First off you need to install rdflib. Full instructions on doing this can be found <a href="http://www.rdflib.net/">here</a>. If you use <a href="http://pypi.python.org/pypi/setuptools">easy_install </a>you can install rdflib by typing:</p>
<p><code><strong>easy_install -U "rdflib&gt;=3.0.0"</strong></code></p>
<p>You will also need to install rdfextras (see <a href="http://code.google.com/p/rdflib/source/browse/wiki/IntroSparql.wiki">here</a>). This can also be done using easy_install</p>
<p><code><strong>easy_install rdfextras</strong></code></p>
<p>You are now good to go. The next thing I needed was the BIS funding data. This can be downloaded <a href="http://source.data.gov.uk/data/education/bis-research-explorer/">here</a>. The original BIS data gives location for various organisations via a URI based on the organisation&#8217;s postcode. For example:</p>
<p><strong><code>&lt;http://education.data.gov.uk/id/institution/UniversityOfWalesSwansea&gt;<br />
&lt;http://research.data.gov.uk/def/project/location&gt;<br />
&lt;http://education.data.gov.uk/id/institution/BabrahamBioscienceTechnolgiesLtd/SA28PP&gt; .</code></strong></p>
<p>I edited the data to point to URIs for postcodes in the Ordnance Survey linked data (note these weren&#8217;t available when the BIS data was created). Now we have:</p>
<p><strong><code>&lt;http://education.data.gov.uk/id/institution/UniversityOfWalesSwansea&gt;<br />
&lt;http://research.data.gov.uk/def/project/location&gt;<br />
&lt;http://data.ordnancesurvey.co.uk/id/postcodeunit/SA28PP&gt; .</code></strong></p>
<p>This triple basically states the location of the University of Wales in terms of its postcode.</p>
<p>So the edited RDF data now contains location information for research institutions in terms of a postcode URI, and it also contains information about the research projects worked on by those institutions and how much funding those projects received. Using rdflib it is very straight forward to load this data into Python and use it programmatically. Here&#8217;s how:</p>
<p>These first few lines load the necessary libraries and plugins:</p>
<p><strong><code>import logging<br />
import rdflib</code></strong></p>
<p><strong><code># Configure how we want rdflib logger to log messages<br />
_logger = logging.getLogger("rdflib")<br />
_logger.setLevel(logging.DEBUG)_hdlr = logging.StreamHandler()<br />
_hdlr.setFormatter(logging.Formatter('%(name)s %(levelname)s: %(message)s'))<br />
_logger.addHandler(_hdlr)</code></strong></p>
<p><strong><code>from rdflib import Graph<br />
from rdflib import URIRef, Literal, BNode, Namespace, ConjunctiveGraph<br />
from rdflib import RDF<br />
from rdflib import RDFS<br />
rdflib.plugin.register('sparql', rdflib.query.Processor,'rdfextras.sparql.processor', 'Processor')<br />
rdflib.plugin.register('sparql', rdflib.query.Result, 'rdfextras.sparql.query', 'SPARQLQueryResult')</code></strong></p>
<p><code> </code></p>
<p>&nbsp;</p>
<p><code> </code></p>
<p>we now create a Graph in which to store the RDF:</p>
<p><strong><code>store = Graph()</code></strong></p>
<p>the data can be easily loaded from the web or hard drive. In this case I have the files stored locally:</p>
<p><strong><code>store.parse("file:/C:/Projects/RDFPythonPlay/data/businessdatagovuk.nt", format="nt")<br />
store.parse("file:/C:/Projects/RDFPythonPlay/data/educationdatagovuk.nt", format="nt")<br />
store.parse("file:/C:/Projects/RDFPythonPlay/data/patentsdatagovuk.nt", format="nt")<br />
store.parse("file:/C:/Projects/RDFPythonPlay/data/researchdatagovuk.nt", format="nt")</code></strong></p>
<p>Recall from <a href="http://blog.ordnancesurvey.co.uk/2011/01/how-linked-data-can-reap-benefits/">here</a> that I am interested in seeing which parties are funding in which local authority areas. The data as it stands will not let me do this. However, the OS postcode linked data provides information about the local authority areas that a postcode is contained in. All I now have to do is &#8216;follow my nose&#8217; and load in the postcode data. I can do this by going through the triples containing links between organisations and postcodes via the location property. First I set up a few namespace bindings:</p>
<p><strong><code># Bind a few prefix, namespace pairs.<br />
store.bind("PROJECT", "http://research.data.gov.uk/def/project/")<br />
store.bind("FOAF", "http://xmlns.com/foaf/0.1/")</code></strong></p>
<p><code> </code></p>
<p><strong><code># Create a namespace object for the project and FOAF namespaces.<br />
PROJECT = Namespace("http://research.data.gov.uk/def/project/")<br />
FOAF = Namespace("http://xmlns.com/foaf/0.1/")</code></strong></p>
<p>I can now iterate over the triples in the store and find those who subject is a type of foaf:Organization, and which contain the location property. An example of such a triple would be the one we had above:</p>
<p><strong><code>&lt;http://education.data.gov.uk/id/institution/UniversityOfWalesSwansea&gt;<br />
&lt;http://research.data.gov.uk/def/project/location&gt;<br />
&lt;http://data.ordnancesurvey.co.uk/id/postcodeunit/SA28PP&gt; .</code></strong></p>
<p>I can then lookup the data behind the postcode URI and load this into the store. This is all done by the following code:</p>
<p><strong><code># For each foaf:Organization in the store get the postcode</code></strong></p>
<p><strong><code> </code></strong></p>
<p><strong><code>for organization in store.subjects(RDF.type, FOAF["Organization"]):<br />
for postcode in store.objects(organization, PROJECT["location"]):<br />
try:<br />
print postcode<br />
store.parse(postcode)<br />
except:<br />
print '404 not found'</code></strong></p>
<p>Now the data in the store will contain a link from organisation to postocde, and a link from postcode to local authority area. We can now traverse the graph to find the link from organisation to local authority area. We can now use a simple SPARQL query to retrieve a list of projects giving the local authority areas the participating organisations are based in. The SPARQL query to do this is:</p>
<p><strong><code>select distinct ?label ?districtlabel<br />
where<br />
{<br />
?organisation &lt;http://research.data.gov.uk/def/project/project&gt; ?project .<br />
?project &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; ?label .<br />
?organisation &lt;http://research.data.gov.uk/def/project/location&gt; ?x .<br />
?x &lt;http://data.ordnancesurvey.co.uk/ontology/postcode/district&gt; ?district .<br />
?district &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; ?districtlabel . }</code></strong></p>
<p>We can now add that into our Python code as follows and print out the query answers:</p>
<p><code><br />
<strong>query = """select distinct ?label ?districtlabel \</strong><br />
<strong> where \</strong><br />
<strong> {\</strong><br />
<strong> ?organisation &lt;http://research.data.gov.uk/def/project/project&gt; ?project .\</strong><br />
<strong> ?project &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; ?label . \</strong><br />
<strong> ?organisation &lt;http://research.data.gov.uk/def/project/location&gt; ?x . \</strong><br />
<strong> ?x &lt;http://data.ordnancesurvey.co.uk/ontology/postcode/district&gt; ?district . \</strong><br />
<strong> ?district &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; ?districtlabel . }"""</strong><br />
</code></p>
<p><strong><code>answers = store.query(query).serialize('python')</code></strong></p>
<p><strong><code> </code></strong></p>
<p><code><strong>for (label,districtlabel) in answers:</strong><br />
<strong> print "%s was funded in %s" % (label,districtlabel)</strong><br />
</code></p>
<p>To summarise, this post shows how you just need rdflib and Python to build a simple linked data mashup &#8211; no separate triplestore is required! RDF is loaded into a Graph. Triples in this Graph reference postcode URIs. These URIs are de-referenced and the RDF behind them is loaded into the Graph. We have now enhanced the data in the Graph with local authority area information. So as well as knowing the postcode of the organisations taking part in certain projects we now also know which local authority area they are in. Job done! We can now analyse funding data at the level of postcode, local authority area and (as an exercise for the ready) European region.</p>
<p>[Python note - WordPress keeps messing with my indentation and I'm too tired to fix. I hope that doesn't detract from your enjoyment of this blog post <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=106&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/01/18/how-can-i-use-the-ordnance-survey-linked-data-a-python-rdflib-example/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>2010 in review</title>
		<link>http://johngoodwin225.wordpress.com/2011/01/02/2010-in-review/</link>
		<comments>http://johngoodwin225.wordpress.com/2011/01/02/2010-in-review/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 10:17:48 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=103</guid>
		<description><![CDATA[The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Wow. Crunchy numbers A helper monkey made this abstract painting, inspired by your stats. A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=103&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads Wow.</p>
<h2>Crunchy numbers</h2>
<div style="width:288px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;">
<p><img src="http://s0.wp.com/i/annual-recap/abstract-stats-6.png" alt="Featured image" /></p>
<p><em>A helper monkey made this abstract painting, inspired by your stats.</em></p>
</div>
<p>A Boeing 747-400 passenger jet can hold 416 passengers.  This blog was viewed about <strong>4,400</strong> times in 2010.  That&#8217;s about 11 full 747s.</p>
<p>&nbsp;</p>
<p>In 2010, there were <strong>4</strong> new posts, growing the total archive of this blog to 19 posts.</p>
<p>The busiest day of the year was October 26th with <strong>341</strong> views. The most popular post that day was <a style="color:#08c;" href="http://johngoodwin225.wordpress.com/2010/10/25/so-what-can-i-do-with-the-new-ordnance-survey-linked-data/">So what can I do with the new Ordnance Survey Linked Data?</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>twitter.com</strong>, <strong>johngoodwin.me.uk</strong>, <strong>blog.ordnancesurvey.co.uk</strong>, <strong>Google Reader</strong>, and <strong>blogs.talis.com</strong>.</p>
<p>Some visitors came searching, mostly for <strong>john goodwin blog</strong>, <strong>foaf genealogy</strong>, <strong>genealogy rdf</strong>, <strong>semantic genealogy</strong>, and <strong>rdf genealogy</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://johngoodwin225.wordpress.com/2010/10/25/so-what-can-i-do-with-the-new-ordnance-survey-linked-data/">So what can I do with the new Ordnance Survey Linked Data?</a> <span style="color:#999;font-size:8pt;">October 2010</span><br />
4 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://johngoodwin225.wordpress.com/2010/06/16/some-quick-linked-data-hacks/">Some quick linked data hacks</a> <span style="color:#999;font-size:8pt;">June 2010</span><br />
19 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://johngoodwin225.wordpress.com/2009/10/25/location-location-location-exploring-ordnance-survey-linked-data/">/location /location /location &#8211; exploring Ordnance Survey Linked Data</a> <span style="color:#999;font-size:8pt;">October 2009</span><br />
4 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://johngoodwin225.wordpress.com/2010/10/25/location-location-location-%e2%80%93-exploring-ordnance-survey-linked-data-part-2/">/location /location /location – exploring Ordnance Survey Linked Data &#8211; Part 2</a> <span style="color:#999;font-size:8pt;">October 2010</span><br />
3 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://johngoodwin225.wordpress.com/2009/11/04/genealogy-and-linked-data-revisited/">Genealogy and Linked Data (revisited)</a> <span style="color:#999;font-size:8pt;">November 2009</span><br />
6 comments</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=103&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2011/01/02/2010-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/abstract-stats-6.png" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
		<item>
		<title>So what can I do with the new Ordnance Survey Linked Data?</title>
		<link>http://johngoodwin225.wordpress.com/2010/10/25/so-what-can-i-do-with-the-new-ordnance-survey-linked-data/</link>
		<comments>http://johngoodwin225.wordpress.com/2010/10/25/so-what-can-i-do-with-the-new-ordnance-survey-linked-data/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 16:42:25 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[linked data]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[linked data web]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[openspace]]></category>
		<category><![CDATA[Ordnance Survey]]></category>
		<category><![CDATA[ordnance survey openspace]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=99</guid>
		<description><![CDATA[In a previous post I wrote up some of the features of the new Ordnance Survey Linked Data. In this blog post I want to run through a concrete example of the sort of thing you can build using this linked data. A while ago Talis built their BIS Explorer. The aim of this application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=99&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a previous <a href="http://johngoodwin225.wordpress.com/2010/10/25/location-location-location-–-exploring-ordnance-survey-linked-data-part-2/">post</a> I wrote up some of the features of the new Ordnance Survey Linked Data. In this blog post I want to run through a concrete example of the sort of thing you can build using this linked data.</p>
<p>A while ago Talis built their <a href="http://bis.clients.talis.com/">BIS Explorer</a>. The aim of this application was to allow users to &#8220;<em>identify centres of excellence at the click of a button</em>” and more can be read about the application <a href="http://blogs.talis.com/nodalities/2010/02/linked-data-visualisation-launched-at-prime-ministers-conference.php">here</a>. This data mash-up took different data sources about funded research projects and joined them together using linked data. In the original application you could, for example, look at funded research projects by European Region in Great Britain. This can be seen <a href="http://bis.clients.talis.com/regions">here</a>. At the time this demo was created Ordnance Survey was yet to publish its postcode data as linked data, but if they had it would have been very easy to get a more fine grained view of research projects down at the county and district level. Here&#8217;s how&#8230;</p>
<p>The basic data model of the original BIS data was fairly straight forward. Universities and businesses have a link to the projects they worked on. For each university there is also postcode information. Things get interesting if instead of/as well as linking to a string representation of a postcode you link to the URI for said postcode. This can be done by using the property:</p>
<p><a href="http://data.ordnancesurvey.co.uk/ontology/postcode/postcode">http://data.ordnancesurvey.co.uk/ontology/postcode/postcode</a></p>
<p>So say we wanted to do this for <a href="http://education.data.gov.uk/id/institution/ImperialCollegeOfScienceTechnologyAndMedicine">Imperial College</a>. All we need is this (this example is in N-Triple format) in our data:</p>
<p>&lt;<a href="http://education.data.gov.uk/id/institution/ImperialCollegeOfScienceTechnologyAndMedicine">http://education.data.gov.uk/id/institution/ImperialCollegeOfScienceTechnologyAndMedicine</a>&gt;</p>
<p>&lt;<a href="http://data.ordnancesurvey.co.uk/ontology/postcode/postcode">http://data.ordnancesurvey.co.uk/ontology/postcode/postcode</a>&gt;</p>
<p>&lt;<a href="http://data.ordnancesurvey.co.uk/id/postcodeunit/W68RF">http://data.ordnancesurvey.co.uk/id/postcodeunit/W68RF</a>&gt; .</p>
<p>Now, by the power of linked data, connecting to a resource for the postcode means we can now enrich our university dataset with knowledge of the ward, county and district the university is in. Also, given that the university is connected to a project we have a link from project to region. Through the link from project to university to postcode to region we can now start to have a more finely grained view on which areas are getting more funding.</p>
<p>So how do we do this in practice? There are the steps I followed.</p>
<ol>
<li>Download the BIS data from <a href="http://source.data.gov.uk/data/education/bis-research-explorer/">here</a> and load it into a triple store (linked data database) of your choice. There are plenty of good open source ones available e.g. <a href="http://www.openrdf.org/">Sesame</a> or <a href="http://openjena.org/TDB/">TDB</a> to name two.</li>
<li>I then then added the links to postcode URIs as described above.</li>
<li>Following that I loaded the data for the postcodes in a similar manner to that described <a href="http://johngoodwin225.wordpress.com/2010/06/16/some-quick-linked-data-hacks/">here</a>. A relatively simple script retrieved the RDF for the relevant postcodes and loaded the RDF into my store. The nice thing about linked data and RDF is that the stores are like a big bucket of data and you can keep throwing more and more in. Hopefully future linked data tools will make this step trivial, but for now some scripting was required.</li>
<li>Job done. I now have links from research projects to regions.</li>
</ol>
<p>Basically what I created from this was an aggregation of various datasets that you can now query. This is something that is made very easy using linked data and URIs to identify things like postcodes. As more publishers release data in linked data form there is more and more potential for building services and applications on top of aggregations of these datasets.  So that&#8217;s what I decided to do&#8230;</p>
<p>This <a href="http://www.johngoodwin.me.uk/bis-mashup/meshup.html">application</a> (I make the usual apology for my lack of web development skills and for the slowness which some caching would not doubt sort out) builds a clickable map view of this data aggregation. The <a href="http://openspace.ordnancesurvey.co.uk/openspace/">OS OpenSpace API</a> makes it possible to retrieve the unit ID for selected polygons. I can then use this unit ID in a SPARQL query to find the projects funded in that region.</p>
<p>However, it would have been easier if there was a RESTful API on top of the data aggregation that would have let me retrieve these results instead of doing some SPARQL. So that is what I decided to build next using the <a href="http://code.google.com/p/linked-data-api/">Linked Data API</a>. The linked data API basically lets you create RESTful type shortcuts to relatively complex SPARQL query. Due to my lack of PHP skills it was an initially bumpy ride getting it to work (see <a href="http://groups.google.co.uk/group/linked-data-api-discuss/browse_thread/thread/850b9558572ad8a6">here</a>) but I got there in the end and the result was an API that lets you return research projects by selecting regions either through their SNAC codes or Ordnance Survey IDs, e.g:</p>
<p><a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/county/os/&amp;usg=AFQjCNEBt1wFbNVcaEqXyP2TEbL34JGxmQ">http://www.johngoodwin.me.uk/bis/api/project/county/os/</a>{unit id},</p>
<p>e.g. <a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/county/os/17765&amp;usg=AFQjCNEnDilY4E35f989FWLmMB-QHUCZpw">http://www.johngoodwin.me.uk/bis/api/project/county/os/17765</a></p>
<div><a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/district/os/&amp;usg=AFQjCNEvc7tGV_crO7h_jrtgr48C9mqr2w">http://www.johngoodwin.me.uk/bis/api/project/district/os/</a>{unit id},</div>
<div>e.g. <a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/district/os/37256&amp;usg=AFQjCNHUg2Cps5G9ISEROD1-TUN9aNXHsw">http://www.johngoodwin.me.uk/bis/api/project/district/os/37256</a></div>
<div></div>
<div><a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/euro/os/&amp;usg=AFQjCNFKsADcuW-9LhEPWXVR1t2oorwJiQ">http://www.johngoodwin.me.uk/bis/api/project/euro/os/</a>{unit id},</div>
<div>e.g. <a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/euro/os/41424&amp;usg=AFQjCNEQGTY4BuOEZV0bkYlbRXpORE_Tag">http://www.johngoodwin.me.uk/bis/api/project/euro/os/41424</a></div>
<div></div>
<div><a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/district/snac/&amp;usg=AFQjCNEzzQeoLjZYngxva0sH_2J2qiSmjA">http://www.johngoodwin.me.uk/bis/api/project/district/snac/</a>{snac id},</div>
<div>e.g. <a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/district/snac/00MS&amp;usg=AFQjCNE-lrPaK9ek4B7cwM5ovGApChxuwA">http://www.johngoodwin.me.uk/bis/api/project/district/snac/00MS</a></div>
<div></div>
<div><a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/county/snac/&amp;usg=AFQjCNHRQwfjFA1Hw0mCIM6ijBzcZsYOkA">http://www.johngoodwin.me.uk/bis/api/project/county/snac/</a>{snac id},</div>
<div>e.g. <a href="http://www.google.com/url?sa=D&amp;q=http://www.johngoodwin.me.uk/bis/api/project/county/snac/24&amp;usg=AFQjCNEuUMKQv9Xb2wTACKdSCLx5hzZp4g">http://www.johngoodwin.me.uk/bis/api/project/county/snac/24</a></div>
<p>&nbsp;</p>
<p>results can be returned in different formats using content negotiation [1] or by simple adding the relevant .html, .json to the URI, e.g.:</p>
<p><a href="http://www.johngoodwin.me.uk/bis/api/project/euro/os/41424.html">http://www.johngoodwin.me.uk/bis/api/project/euro/os/41424.html</a></p>
<p><a href="http://www.johngoodwin.me.uk/bis/api/project/euro/os/41424.json">http://www.johngoodwin.me.uk/bis/api/project/euro/os/41424.json</a></p>
<p>I hope this example shows how linked data can be useful in building applications on top of data aggregations. To summarise:</p>
<ol>
<li>Publishers release data in linked data format.</li>
<li>Having data in a common format (RDF) with dereferencable URIs makes it relatively each to retrieve and aggregate from a number of resources, especially if data is linked to URIs for &#8216;things&#8217; and not just &#8216;strings&#8217;.</li>
<li>The linked data API makes it possible to build a RESTful service on top of a data aggregation so web developers need not be put of by complex SPARQL queries.</li>
<li>Applications can then built using these services.</li>
</ol>
<p>[1] for some reason the HTML conneg only seems to work in Firefox.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=99&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2010/10/25/so-what-can-i-do-with-the-new-ordnance-survey-linked-data/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
		<item>
		<title>/location /location /location – exploring Ordnance Survey Linked Data &#8211; Part 2</title>
		<link>http://johngoodwin225.wordpress.com/2010/10/25/location-location-location-%e2%80%93-exploring-ordnance-survey-linked-data-part-2/</link>
		<comments>http://johngoodwin225.wordpress.com/2010/10/25/location-location-location-%e2%80%93-exploring-ordnance-survey-linked-data-part-2/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 13:20:17 +0000</pubDate>
		<dc:creator>John Goodwin</dc:creator>
				<category><![CDATA[linked data]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[linked data web]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[Ordnance Survey]]></category>

		<guid isPermaLink="false">http://johngoodwin225.wordpress.com/?p=87</guid>
		<description><![CDATA[Ordnance Survey have now released an update to their linked data, which can be seen here. The new data now includes postcode information as well as a few changes to the administrative geography data. In this post I&#8217;ll go through what&#8217;s in the data, and give a few sample SPARQL queries. I spoke a bit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=87&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://data.ordnancesurvey.co.uk/id/ordnancesurvey">Ordnance Survey</a> have now released an update to their linked data, which can be seen <a href="http://data.ordnancesurvey.co.uk/">here</a>. The new data now includes postcode information as well as a few changes to the administrative geography data. In this post I&#8217;ll go through what&#8217;s in the data, and give a few sample <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a> queries.</p>
<p>I spoke a bit about the administrative geography data in a <a href="http://johngoodwin225.wordpress.com/2009/10/25/location-location-location-exploring-ordnance-survey-linked-data/">previous blog post</a> &#8211; but the data has changed a bit since then. Just to re-cap the administrative geography linked data contains information about administrative and voting geographic regions. These include <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/UnitaryAuthority">unitary authorities</a>, <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/County">counties</a>, <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/Ward">wards</a>, <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/WestminsterConstituency">constituencies</a>, <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/WelshAssemblyElectoralRegion">Welsh Assembly regions</a> and a whole lot more [1]. Here are some examples:</p>
<ul>
<li><a href="http://data.ordnancesurvey.co.uk/id/7000000000037256">The City of Southampton</a></li>
<li><a href="http://data.ordnancesurvey.co.uk/id/7000000000017765">The County of Hampshire</a></li>
<li><a href="http://data.ordnancesurvey.co.uk/id/7000000000041421">The South East</a></li>
<li><a href="http://data.ordnancesurvey.co.uk/id/7000000000025160">Tunbridge Wells</a></li>
<li><a href="http://data.ordnancesurvey.co.uk/id/7000000000041535">North Wales</a></li>
<li><a href="http://data.ordnancesurvey.co.uk/id/7000000000041429">Scotland</a></li>
</ul>
<p>If you want to find a full list of the sorts of thing you can find in the data simply go to the <a href="http://api.talis.com/stores/ordnance-survey/services/sparql">query interface </a>(or SPARQL endpoint as it is know) and try the following query:</p>
<p><strong>select distinct ?type </strong></p>
<p><strong>where { ?a a ?type . }</strong></p>
<p>Now you have the list all of type of things in the data you can as for lists of instances of those types.</p>
<p>For example, the following query will return all of the unitary authorities:</p>
<p><strong>select ?a </strong></p>
<p><strong>where </strong><strong>{</strong></p>
<p><strong>?a a &lt;http://data.ordnancesurvey.co.uk/ontology/admingeo/UnitaryAuthority&gt; . </strong></p>
<p><strong>}</strong></p>
<p>All of the names of all the regions have now been modelled using the <a href="http://www.w3.org/2004/02/skos/">SKOS</a> vocabulary. If you want to find the official names of all the unitary authorities you can simple issue a query like:</p>
<p><strong>select ?a ?name</strong></p>
<p><strong></strong><strong>where</strong></p>
<p><strong>{ </strong></p>
<p><strong>?a a &lt;http://data.ordnancesurvey.co.uk/ontology/admingeo/UnitaryAuthority&gt; .</strong></p>
<p><strong>?a &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  .}</strong></p>
<p>Also included in the data are two attributes called <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/hasUnitID">Unit ID</a> and <a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/hasAreaCode">Area Code</a>. These values are useful if you want to produce a mashup using this data and display it by boundary.</p>
<p>So for example, for Southampton (<a rel="nofollow" href="http://data.ordnancesurvey.co.uk/id/7000000000037256" target="_blank">http://data.ordnancesurvey.co.uk/id/7000000000037256</a>) the area code is UTA (for unitary authority) and the unit ID is 37256. These values can be used as follows:</p>
<p><strong>/*here we set-up the our variable called ‘boundaryLayer’ with the strategies that we require. In this case, it is its ID and type i.e. Unitary Authority */</strong></p>
<p><strong> boundaryLayer = new OpenSpace.Layer.Boundary(“Boundaries”, </strong></p>
<p><strong>{ strategies: [new OpenSpace.Strategy.BBOX()], admin_unit_ids: ["37256"], area_code: ["UTA"] }); </strong></p>
<p><strong>//then we add the bounadry to the map osMap.addLayer(boundaryLayer);</strong></p>
<p><strong> //this effectively refreshes the map, so that the boundary is visible </strong></p>
<p><strong>osMap.setCenter(osMap.getCenter());</strong></p>
<p>to display the Southampton boundary using the OS OpenSpace API. See <a rel="nofollow" href="http://openspace.ordnancesurvey.co.uk/openspace/support.html" target="_blank">http://openspace.ordnancesurvey.co.uk/openspace/support.html</a> for more details.</p>
<p>Arguably the most useful information in this data are the qualitative spatial relationships between different regions. Regions are related to the regions they <a href="http://data.ordnancesurvey.co.uk/ontology/spatialrelations/contains">contain</a>, they are <a href="http://data.ordnancesurvey.co.uk/ontology/spatialrelations/within">within</a> and they <a href="http://data.ordnancesurvey.co.uk/ontology/spatialrelations/touches">touch</a>. In the case of the touching relationship only regions of the same type have an explicit touching relationship. The exception to this are unitary authorities, counties, district and metropolitan district that also have touching relationships between each other. The following simple query will return a list of all counties, districts and unitary authorities that border The City of Southampton. It will also return their names:</p>
<p><strong>PREFIX spatialrelations: &lt;http://data.ordnancesurvey.co.uk/ontology/spatialrelations/&gt;</strong></p>
<p><strong>select ?a ?name</strong></p>
<p><strong>where </strong></p>
<p><strong>{ </strong></p>
<p><strong>?a spatialrelations:touches &lt;http://data.ordnancesurvey.co.uk/id/7000000000037256&gt; .</strong></p>
<p><strong>?a &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  .</strong></p>
<p><strong>}</strong></p>
<p>If you are only interested in the bordering counties you can add an extra line to your query:</p>
<p><strong>PREFIX spatialrelations: &lt;http://data.ordnancesurvey.co.uk/ontology/spatialrelations/&gt; </strong></p>
<p><strong>select ?a ?name </strong></p>
<p><strong>where</strong></p>
<p><strong>{ </strong></p>
<p><strong>?a spatialrelations:touches &lt;http://data.ordnancesurvey.co.uk/id/7000000000037256&gt; .</strong></p>
<p><strong>?a &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  .</strong></p>
<p><strong>?a a &lt;http://data.ordnancesurvey.co.uk/ontology/admingeo/County&gt; .</strong></p>
<p><strong>}</strong></p>
<p>Similarly, the following query returns all the county electoral divisions (and their names) within Hampshire:</p>
<p><strong>PREFIX spatialrelations: &lt;http://data.ordnancesurvey.co.uk/ontology/spatialrelations/&gt; </strong></p>
<p><strong>select ?a ?name</strong></p>
<p><strong>where</strong></p>
<p><strong>{ </strong></p>
<p><strong>?a spatialrelations:within &lt;http://data.ordnancesurvey.co.uk/id/7000000000017765&gt; .</strong></p>
<p><strong>?a &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  .</strong></p>
<p><strong>?a a &lt;http://data.ordnancesurvey.co.uk/ontology/admingeo/CountyElectoralDivision&gt; .</strong></p>
<p><strong> }</strong></p>
<p>For convenience some shortcuts have been added to the data in this release. For certain nesting geographies, such as the county &#8211; district &#8211; parish or district &#8211; ward nestings, various new properties have been added. For example, the property &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/countyElectoralDivision">counyElectoralDivision</a>&#8216; relates all counties to their constituent county electoral divisions. The above query can now be done in a simpler way:</p>
<p><strong>PREFIX admingeo: &lt;http://data.ordnancesurvey.co.uk/ontology/admingeo/&gt;</strong></p>
<p><strong>select ?a ?name</strong></p>
<p><strong>where </strong></p>
<p><strong>{ </strong></p>
<p><strong>&lt;http://data.ordnancesurvey.co.uk/id/7000000000017765&gt; admingeo:countyElectoralDivision ?a .</strong></p>
<p><strong>?a &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  .</strong></p>
<p><strong>}</strong></p>
<p>Similar predicates such as &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/county">county</a>&#8216;, &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/district">district</a>&#8216;, &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/ward">ward</a>&#8216;, &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/admingeo/westminsterConstituency">constituency</a>&#8216; etc. provide similar shortcuts. For example, the following returns all the Westminster constituencies in South East England.</p>
<p><strong>PREFIX admingeo: &lt;http://data.ordnancesurvey.co.uk/ontology/admingeo/&gt;</strong></p>
<p><strong>select ?a ?name </strong></p>
<p><strong>where {</strong></p>
<p><strong>&lt;http://data.ordnancesurvey.co.uk/id/7000000000041421&gt; admingeo:westminsterConstituency ?a .</strong></p>
<p><strong>?a &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  . }</strong></p>
<p>The most significant introduction to this data is the inclusion of postcode information. The data now contains information about <a href="http://data.ordnancesurvey.co.uk/ontology/postcode/PostcodeUnit">postcode units</a>, <a href="http://data.ordnancesurvey.co.uk/ontology/postcode/PostcodeSector">postcode sectors</a>, <a href="http://data.ordnancesurvey.co.uk/ontology/postcode/PostcodeDistrict">postcode districts</a> and <a href="http://data.ordnancesurvey.co.uk/ontology/postcode/PostcodeArea">postcode areas</a>. For each postcode unit an easting/northing coordinate value is given [2] along with the district, ward and county (where applicable) that contains said postcode unit. An example of this can be seen for the Ordnance Survey postcode <a href="http://data.ordnancesurvey.co.uk/id/postcodeunit/SO164GU">SO16 4GU</a>. Each postcode is also related to its containinb postcode area, sector and district.</p>
<p>The properties &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/postcode/ward">ward</a>&#8216;, &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/postcode/district">district</a>&#8216; and &#8216;<a href="http://data.ordnancesurvey.co.uk/ontology/postcode/county">county</a>&#8216; relate a postcode to the relevant regions. The simple query:</p>
<p><strong>PREFIX postcode: &lt;http://data.ordnancesurvey.co.uk/ontology/postcode/&gt;</strong></p>
<p><strong>select ?district</strong></p>
<p><strong>where { </strong></p>
<p><strong>&lt;http://data.ordnancesurvey.co.uk/id/postcodeunit/SO164GU&gt; postcode:district ?district .</strong></p>
<p><strong>}</strong></p>
<p>returns the unitary authority that contains the postcode SO16 4GU.</p>
<p>This query:</p>
<p><strong>PREFIX spatialrelations: &lt;http://data.ordnancesurvey.co.uk/ontology/spatialrelations/&gt;</strong></p>
<p><strong>select ?postcode </strong></p>
<p><strong>where</strong></p>
<p><strong>{</strong></p>
<p><strong>?postcode spatialrelations:within &lt;http://data.ordnancesurvey.co.uk/id/postcodearea/SO&gt; .</strong></p>
<p><strong>}</strong></p>
<p>returns all the postcodes in the SO postcode area.</p>
<p>We can combine the above two queries to find the areas, along with their names, covered by the postcode area SO:</p>
<p><strong>PREFIX spatialrelations: &lt;http://data.ordnancesurvey.co.uk/ontology/spatialrelations/&gt;</strong></p>
<p><strong>PREFIX postcode: &lt;http://data.ordnancesurvey.co.uk/ontology/postcode/&gt;</strong></p>
<p><strong>select distinct ?district ?name</strong></p>
<p><strong>where</strong></p>
<p><strong>{</strong></p>
<p><strong>?postcode spatialrelations:within &lt;http://data.ordnancesurvey.co.uk/id/postcodearea/SO&gt; .</strong></p>
<p><strong>?postcode postcode:district ?district .</strong></p>
<p><strong>?district &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?name  .</strong></p>
<p><strong>}</strong></p>
<p>Hopefully these few examples will give you enough information to fully explore this new release of the Ordnance Survey linked data. For those of you who don&#8217;t like SPARQL watch this space &#8211; hopefully we will soon(ish) have an API built on top of this data to allow for even easy access.</p>
<p>[1] you&#8217;ll notice the &#8216;isDefinedBy&#8217; link currently returns a 404 &#8211; not for long I hope <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[2] lat/long to follow</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johngoodwin225.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johngoodwin225.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johngoodwin225.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johngoodwin225.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johngoodwin225.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johngoodwin225.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johngoodwin225.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johngoodwin225.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johngoodwin225.wordpress.com&amp;blog=4667458&amp;post=87&amp;subd=johngoodwin225&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johngoodwin225.wordpress.com/2010/10/25/location-location-location-%e2%80%93-exploring-ordnance-survey-linked-data-part-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/64269fa8ed6ba1f7cb08133b32e56eda?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">john225</media:title>
		</media:content>
	</item>
	</channel>
</rss>
