A complete example of how to create linked data

Purpose and preliminaries

This tutorial shows on a real estate example how to create Linked Data. In three movies we explain what data such business might use and how their database can be enriched by Linked Data solution. We also argue that this approach can deliver more relevant information to the client as shown in a real-world example.

In odert to freely follow the tutorial assume you already know:

  • Linked Data principles
  • What is URI and URL?
  • SPARQL syntax
  • What is RDF?
  • What are entities, their types and properties in DBpedia?
  • What are prefixes and what they are used for?
  • The basic knowledge about bash commands

Screencast structure

This tutorial is based on the following pipeline:

Pipeline

In this tutorial we work with statistical data. The first movie defines the problem and a solution we are going to apply. The second movie covers all actions performed in Google Refine and RDF Extension for Google Refine. In this movie we remove some metadata and make some small touch-ups, to prepare our data to the next step, which is - skeleton creation and transformation to RDF. This step is shown in the details in the second movie as well. The third movie is focused on interlinking and publishing the data on the web. We show how Silk can be used to create ‘sameAs’ links. Moreover, we show how to use Pubby to publish our newly created Linked Data on the Web

Movie 1 - Definition of the use case


Movie 2 - Creating RDF

Movie 3 - Interlinking and publishing

Slides used in a movie

  • Slide 1 - Movie 1 (00:00)
  • Slide 2 - Movie 1 (00:10)
  • Slide 3 - Movie 1 (00:26)
  • Slide 4 - Movie 1 (01:15)
  • Slide 5 - Movie 1 (03:06)
  • Slide 6 - Movie 1 (03:09)
  • Slide 7 - Movie 1 (03:11)
  • Slide 8 - Movie 1 (03:22) and Movie 3 (01:58)
  • Slide 9 - Movie 1 (03:45) and Movie 2 (00:00)
  • Slide 10 - Movie 2 (00:25)
  • Slide 11 - Movie 2 (00:58)
  • Slide 12 - Movie 2 (02:!5)
  • Slide 13 - Movie 2 (06:54)
  • Slide 14 - Movie 2 (07:11)
  • Slide 15 - Movie 2 (11:07)
  • Slide 16 - Movie 2 (11:25)
  • Slide 17 - Movie 2 (12:08)
  • Slide 18 - Movie 2 (15:03)
  • Slide 19 - Movie 2 (12:12)
  • Slide 20 - Movie 2 (12:16)
  • Slide 21 - Movie 2 (13:06)
  • Slide 22 - Movie 3 (00:00) and Movie 3 (12:11)
  • Slide 23 - Movie 3 (02:20)
  • Slide 24 - Movie 3 (3:55) and Movie 3 (4:50)
  • Slide 25 - Movie 3 (12:20)

Resources

Datasets we downloaded

Links to tools and tutorials

Data cube vocabulary

Google Refine Projects

Data Uploaded to Fuseki

Download all below files as a zip archive HERE

Final SPARQL query

PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

select distinct ?description ?Hackney ?Inslington ?Haringey ?Tower_hamlets
from <http://data/london_boroughs>
from <http://data/energy>
from <http://data/crime_data>

where {
{ <http://example.org/dataset/london-boroughs/hackney> ?p ?Hackney.
<http://example.org/dataset/london-boroughs/islington> ?p ?Inslington.
<http://example.org/dataset/london-boroughs/haringey> ?p ?Haringey.
<http://example.org/dataset/london-boroughs/tower-hamlets> ?p ?Tower_hamlets.
?p rdfs:label ?description.
}
UNION
{ <http://example.org/dataset/energy_consumption/hackney> ?p ?Hackney.
<http://example.org/dataset/energy_consumption/islington> ?p ?Inslington.
<http://example.org/dataset/energy_consumption/haringey> ?p ?Haringey.
<http://example.org/dataset/energy_consumption/tower-hamlets> ?p ?Tower_hamlets.
?p rdfs:label ?description.
}
UNION
{<http://example.org/dataset/police-records/hackney> ?p ?Hackney.
<http://example.org/dataset/police-records/islington> ?p ?Inslington.
<http://example.org/dataset/police-records/haringey> ?p ?Haringey.
<http://example.org/dataset/police-records/tower-hamlets> ?p ?Tower_hamlets.
?p rdfs:label ?description.
}
FILTER (
?description = "Largest migrant population by country of birth" ||
?description = "Second Largest Migrant Population by Country" ||
?description = "Third Largest Migrant Population by Country of Birth" ||
?description = "Percentage of resident population born abroad" ||
?description = "New Homes (net)" ||
?description = "Homes Owned outright" ||
?description = "Rented from Housing association" ||
?description = "Rented from Private landlord" ||
?description = "Population density" ||
?description = "Average Band D Council Tax charge (£)" ||
?description = "Achievement of 5 or more A*- C grades at GCSE or equivalent including English and Maths" ||
?description = "Robbery 2008"||
?description = "Robbery 2009" ||
?description = "Robbery 2010"||
?description = "Burglary 2008"||
?description = "Burglary 2009" ||
?description = "Burglary 2010"||
?description = "Drugs 2008"||
?description = "Drugs 2009" ||
?description = "Drugs 2010" ||
?description = "Petroleum transport" ||
?description = "Petroleum industry" ||
?description = "Natural gas domestic" ||
?description = "Natural gas industry"
)}
ORDER BY ?description