Upload
rob-lemmens
View
897
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Geo-Information Visualizations of Linked Data. Linked Data provides an ever-growing source of geographically referenced data for application development. In this paper, we analyse the workflow behind the development of such an application. Using two examples based on worldwide development aid and refugee data, we discuss the steps from locating data for use and data integration, up to the actual visualization in a web-based application. At each step, we discuss the skill set required for completion and point to potential challenges. This includes RDF, SPARQL, HTTP requests, HTML, and JavaScript. We conclude the paper by putting our case study in the context of GIScience curriculum development.
Citation preview
AGILE conference, 4-6 June 2014, Castellón, Spain
Geo-Information Visualizations of Linked DataRob Lemmens
University of TwenteFaculty of Geo-Information Science and Earth Observation (ITC)Enschede,The Netherlands
Carsten Keßler
Center for Advanced Research of Spatial Information (CARSI) and Department of GeographyHunter College, CUNY,New York, USA
Full paper available at: http://www.agile-online.org/Conference_Paper/cds/agile_2014/agile2014_155.pdf
Cite this work as follows:Lemmens, R. and Keßler, C. (2014), Geo-Information Visualizations of Linked Data. In:Huerta, Schade, Granell (Eds): Connecting a Digital Europe through Location and Place. Proceedings of the AGILE'2014 International Conference on Geographic Information Science, Castellón, June, 3-6, 2014. ISBN: 978-90-816960-4-3
Starting points
Analysis of workflow behind the development of a Linked Data application
Visualization of Linked Data query results Challenges for the GIScience curriculum: Which skill set is
required?
Linked data principles Workflow – App development Data integration use case Skill set needed Conclusions
Objectives
Outline
Linked DataMachine-readable and semantically annotated data published online
Source: http://linkeddatabook.com/editions/1.0/#htoc8
Linked Data
Principles:
1. Use URIs as names for things.2. Use HTTP URIs, so that people can look up those names.3. When someone looks up a URI, provide useful information,
using the standards (RDF, SPARQL).4. Include links to other URIs, so that they can discover more
things.
Source: http://linkeddatabook.com/editions/1.0/#htoc8
Linked Data
Source: Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
Workflow - App development based on Linked Data
Mobile App
Triple store - SPARQL
end point
Geo-Database
Triplification (live or static)
Creation of SPARQL queries
Execution of SPARQL queries
Web App
Information end-users
App developers
Data producers
Information retrieval
Information provision
Triple store discovery
Discovery of interesting
semantic links
Visualisation of SPARQL query
results
Service developers
Visual navigation of semantic links
Use case
Data sources
International Aid Transparency Initiative (IATI) - information on international aid projects (http://aidtransparency.net)
Office of the United Nations High Commissioner for Refugees (UNHCR) refugee statistics (self-hosted)
Humanitarian eXchange Language (HXL) (http://hxl.humanitarianresponse.info)
DBpedia (http://dbpedia.org) Currency conversion rates (http://currency2currency.org)
Creating web-based visualizations of humanitarian data, coming from different sources Comparing refugee flow with money flow (aid projects)
Data integration -Overview
D3 Map Starter KitDBPedia
2 Char Country
code
OCHA/UNHCR IATI
3 Char Country
code
HXL
Country boundaries (TopoJSON)
Refugee information
2 Char Country
code
3 Char Country
code
Aid project information
3 Char Country
code
Dataset merge in main app
Dataset merge in SPARQL
query
Third party Country boundaries (CSV)
Country Full names
Country Full names
Country boundaries
Refugee information
Aid project information
Country Full names
Country boundaries
Aid project information
Country boundaries
Refugee information
Dataset merge in SPARQL
query
Dataset merge in main app
Dataset merge in main app
Country boundaries (TopoJSON)
Dataset merge in main app
Country boundaries
Refugee information
Aid project information
❸
❶ ❶
❷
Data integration 1a - Aid project information
D3 Map Starter KitIATI
2 Char Country
code
Aid project information
Dataset merge in main app
Third party Country boundaries (CSV)
Country Full names
Country Full names
Country boundaries
Aid project information
❶
Separate visualizations (D3)
Data integration 1b - Refugee information
DBPedia
2 Char Country
code
OCHA/UNHCR
3 Char Country
code
HXL
Refugee information
3 Char Country
code
3 Char Country
code
Country Full names
Country boundaries
Refugee information
Dataset merge in SPARQL
query
Dataset merge in main app
Country boundaries (TopoJSON)
❶
Separate visualizations (D3)
Data integration 2
D3 Map Starter KitDBPedia
2 Char Country
code
OCHA/UNHCR IATI
3 Char Country
code
Refugee information
2 Char Country
code
3 Char Country
code
Aid project information
Dataset merge in main app
Third party Country boundaries (CSV)
Country Full names
Country Full names
Country boundaries
Aid project information
Country boundaries
Refugee information
Dataset merge in SPARQL
query
Dataset merge in main app
Country boundaries (TopoJSON)
Dataset merge in main app
Country boundaries
Refugee information
Aid project information
❶ ❶
❷
Combined visualization by app merge
Data integration 3D3 Map Starter KitDBPedia
2 Char Country
code
OCHA/UNHCR IATI
3 Char Country
code
HXL
Country boundaries (TopoJSON)
Refugee information
2 Char Country
code
3 Char Country
code
Aid project information
3 Char Country
codeDataset merge
in SPARQL query
Third party Country boundaries (CSV)
Country Full names
Country Full names
Country boundaries
Refugee information
Aid project information
Country Full names
Dataset merge in main app
Combined visualization by SPARQL query
Skill set needed
Locating datao Example starting points: W3C SPARQL Endpoints and
datahubo Requires a general understanding of the Linked Data
principles and potentially some proficiency in the SPARQL query language.
Data accesso In-depth knowledge of the SPARQL query language
Skill set needed
Data integrationo Knowledge about different querying and caching
techniques to improve response time, depending on how frequently the queried datasets are updated
Data output and visualizationo Depends on tool but generally proficiency is needed in
JavaScript and HTML
Conclusions
Linked Data integration is still a challengeo Federated query approach proved too slow o Workaround: download subsets of the data and integrate them
locally – is practical, but not in the spirit of Linked Data Many frameworks such as D3 have sophisticated functionalities but
simple visualizations need profound knowledge of RDF, SPARQL, HTTP requests, HTML, and JavaScript
GIScience curricula need to be extended to a broader range of web standards
Hands-on lab exercises that ask for the development of creative solutions, rather than following “click-through” instructions
Outlook – Analyzing other parts of the workflow
Mobile App
Triple store - SPARQL
end point
Geo-Database
Triplification (live or static)
Creation of SPARQL queries
Execution of SPARQL queries
Web App
Information end-users
App developers
Data producers
Information retrieval
Information provision
Triple store discovery
Discovery of interesting
semantic links
Visualisation of SPARQL query
results
Service developers
Visual navigation of semantic links
Questions!
Rob Lemmens
University of TwenteFaculty of Geo-Information Science and Earth Observation (ITC)Enschede,The Netherlands
Carsten Keßler
Center for Advanced Research of Spatial Information and Department of GeographyHunter College, CUNY,New York, USA
SPARQL Query
prefix hxl: <http://hxl.humanitarianresponse.info/ns/#>prefix dbpprop:<http://dbpedia.org/property/>
SELECT DISTINCT ?fromCode ?toCode (SUM(?count) AS ?refugees) WHERE {
?pop hxl:atLocation ?to ;hxl:placeOfOrigin ?from ;hxl:personCount ?count .
?to hxl:atLocation ?country .
?country dbpprop:isoCode ?toCode .?from dbpprop:isoCode ?fromCode .
FILTER (?count > 0)
} GROUP BY ?fromCode ?toCode ORDER BY ?fromCode