lemmens kessler-agile-linked data v3-slideshare

Post on 10-May-2015

895 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

r.l.g.Lemmens@utwente.nl

University of TwenteFaculty 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 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

top related