18
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

Lemmens kessler-agile-linked data v3-slideshare

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

Page 1: Lemmens kessler-agile-linked data v3-slideshare

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

Page 2: Lemmens kessler-agile-linked data v3-slideshare

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

Page 3: Lemmens kessler-agile-linked data v3-slideshare

Linked DataMachine-readable and semantically annotated data published online

Source: http://linkeddatabook.com/editions/1.0/#htoc8

Page 4: Lemmens kessler-agile-linked data v3-slideshare

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

Page 5: Lemmens kessler-agile-linked data v3-slideshare

Linked Data

Source: Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/

Page 6: Lemmens kessler-agile-linked data v3-slideshare

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

Page 7: Lemmens kessler-agile-linked data v3-slideshare

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)

Page 8: Lemmens kessler-agile-linked data v3-slideshare

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

❶ ❶

Page 9: Lemmens kessler-agile-linked data v3-slideshare

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)

Page 10: Lemmens kessler-agile-linked data v3-slideshare

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)

Page 11: Lemmens kessler-agile-linked data v3-slideshare

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

Page 12: Lemmens kessler-agile-linked data v3-slideshare

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

Page 13: Lemmens kessler-agile-linked data v3-slideshare

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

Page 14: Lemmens kessler-agile-linked data v3-slideshare

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

Page 15: Lemmens kessler-agile-linked data v3-slideshare

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

Page 16: Lemmens kessler-agile-linked data v3-slideshare

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

Page 17: Lemmens kessler-agile-linked data v3-slideshare

Questions!

Rob Lemmens

[email protected]

University of TwenteFaculty of Geo-Information Science and Earth Observation (ITC)Enschede,The Netherlands

Carsten Keßler

[email protected]

Center for Advanced Research of Spatial Information and Department of GeographyHunter College, CUNY,New York, USA

Page 18: Lemmens kessler-agile-linked data v3-slideshare

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