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.
Gen AI in Business - Global Trends Report 2024.pdf
Lemmens kessler-agile-linked data v3-slideshare
1. AGILE conference, 4-6 June 2014, Castellón, Spain
Geo-Information Visualizations of
Linked Data
Rob Lemmens
University of Twente
Faculty 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 Geography
Hunter 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
2. 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
3. Linked Data
Machine-readable and semantically annotated data published online
Source: http://linkeddatabook.com/editions/1.0/#htoc8
4. 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
5. Linked Data
Source: Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
6. 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
7. 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)
8. 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
❸
❶ ❶
❷
9. 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)
10. 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)
11. 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
12. Data integration 3
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 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
13. Skill set needed
Locating data
o Example starting points: W3C SPARQL Endpoints and
datahub
o Requires a general understanding of the Linked Data
principles and potentially some proficiency in the
SPARQL query language.
Data access
o In-depth knowledge of the SPARQL query language
14. Skill set needed
Data integration
o Knowledge about different querying and caching
techniques to improve response time, depending on
how frequently the queried datasets are updated
Data output and visualization
o Depends on tool but generally proficiency is needed in
JavaScript and HTML
15. Conclusions
Linked Data integration is still a challenge
o 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
16. 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
17. Questions!
Rob Lemmens
r.l.g.Lemmens@utwente.nl
University of Twente
Faculty of Geo-
Information Science and
Earth Observation (ITC)
Enschede,
The Netherlands
Carsten Keßler
carsten.kessler@hunter.cuny.edu
Center for Advanced
Research of Spatial
Information and Department
of Geography
Hunter College, CUNY,
New York, USA
18. 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