Linked Data Under the Hood

Post on 15-May-2015

637 views 1 download

Tags:

description

Presentation by Tim Hodson at the Talis Event 'The Web's Influence on Your Data' in London - 20th September 2011

Transcript of Linked Data Under the Hood

Tim Hodson

Technical Consultant

@timhodson

#talisldod

Linked DataUnder the hood

Where do I start?

http://www.flickr.com/photos/thienzieyung/5147954561

SPARQLtr

iple

RDFontologypropertyid

entifie

r

urlresourceAPI

merg

ing

modeldereference

http://www.flickr.com/photos/thienzieyung/5147954561

SPARQL

trip

le

RDF

ontology

property

identif

ier

url

resource API

merg

ing

model dereference

Simple Process

Model

Nam

e

Describ

e

Convert

Publish

Simple Process

Model

Nam

e

Describ

e

Convert

Publish

Simple Process

Model

Look at your data

http://www.flickr.com/photos/pss/4876189045/

What am I looking for?

Simple Process

Model

Simple Process

Model

Nam

e

identifier

identifier

thing

identifier

thing

identifier

thing1969-059A

identifier

thingspacecraft/1969-059A

1969-059A

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

28801.0kg

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

28801.0kg

Columbia

Apollo 11 CSM

CSM-107

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

28801.0kg

Columbia

Apollo 11 CSM

CSM-107

United States

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

28801.0kg

Columbia

Apollo 11 CSM

CSM-107

United States

Cape Canaveral

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

28801.0kg

Columbia

Apollo 11 CSM

CSM-107

United States

Cape Canaveral

Saturn 5

identifier

thingspacecraft/1969-059A

nasa.dataincubator.org/spacecraft/1969-059A

http://nasa.dataincubator.org/spacecraft/1969-059A

1969-059A

28801.0kg

Columbia

Apollo 11 CSM

CSM-107

United States

Cape Canaveral

Saturn 5

identifier

identifier

.../1969-059A

identifier

.../1969-059A

⤵mass

28801.0

identifier

.../1969-059A

⤵mass

28801.0

Apollo 11 CSM⤵name

identifier

.../1969-059A

⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

identifier

.../1969-059A

⤵⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

launch

../launch:1969-059

identifier

.../1969-059A

⤵⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

launch16 July 1969⤵

date../launch:1969-059

identifier

.../1969-059A

⤵⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

launch16 July 1969⤵

date

site⤵../launch:1969-059

Cape Canaveral

identifier

.../1969-059A

⤵⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

launch16 July 1969⤵

date

site

N 28° 27' 31''⤵lat

⤵../launch:1969-059

Cape Canaveral

identifier

.../1969-059A

⤵⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

launch16 July 1969⤵

date

site

N 28° 27' 31''

W 80° 31' 59''

⤵ ⤵lat

long

⤵../launch:1969-059

Cape Canaveral

identifier

.../1969-059A

⤵⤵mass

28801.0

Apollo 11 CSM⤵ Columbia⤵name name

launch16 July 1969⤵

date

site<../1969-059A> mass 28801.0 .<../1969-059A> name “Apollo 11 CSM” .<../1969-059A> name “Columbia” .<../1969-059A> launch <../launch/1969-059> .<../launch/1969-059> date 1969-07-16 .<../launch/1969-059> site <..site/capecanaveral> .<..site/capecanaveral> lat “N 28° 27' 31''” .<..site/capecanaveral> long “W 80° 31' 59''” .

N 28° 27' 31''

W 80° 31' 59''

⤵ ⤵lat

long

⤵../launch:1969-059

Cape Canaveral

That all looks a bit scary!

An easy structure for capturing dataSimple format

subject value

An easy structure for capturing dataSimple format

property

subject value

thingproperty

thing

An easy structure for capturing dataSimple format

property

subject value

thingproperty

thing

An easy structure for capturing dataSimple format

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/A

An easy structure for capturing dataSimple format

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/A hasParent

An easy structure for capturing dataSimple format

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/B../person/A hasParent

An easy structure for capturing dataSimple format

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/B

../person/B

../person/A hasParent

An easy structure for capturing dataSimple format

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/B

name../person/B

../person/A hasParent

An easy structure for capturing dataSimple format

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/B

name../person/B

../person/A hasParent

An easy structure for capturing dataSimple format

“Eric”

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

../person/B

name../person/B

../person/A hasParent

An easy structure for capturing dataSimple format

“Eric”

property

An easy way to bung stuff togetherSimple merging

subject value

thingproperty

thing

name../person/B../person/A hasParent

An easy structure for capturing dataSimple format

“Eric”

property

An easy way to bung stuff togetherSimple merging

RDF TripleMerging

RDF TripleMerging

The same identifier in a different place is still the same thing

Simple Process

Model

Nam

e

Simple Process

Model

Nam

e

Describ

e

Properties and Classes

Properties and Classes

Properties?

Properties and Classes

Properties?

Classes?

they describe why something is linked

Properties and Classes

Properties?

Classes?

they describe why something is linked

Properties and Classes

they group similarly typed things together

Properties?

Classes?

How do I know what terms to

use?

Tools

• prefix.cc

Tools

• prefix.cc

- namespace lookup

Tools

• prefix.cc

- namespace lookup

• schemapedia.com, schemacache.com

Tools

• prefix.cc

- namespace lookup

• schemapedia.com, schemacache.com

- vocabulary search

Tools

• prefix.cc

- namespace lookup

• schemapedia.com, schemacache.com

- vocabulary search

• sindice.com, ckan.net, LOD Diagram

Tools

• prefix.cc

- namespace lookup

• schemapedia.com, schemacache.com

- vocabulary search

• sindice.com, ckan.net, LOD Diagram

- identify data sets to link with

Tools

• prefix.cc

- namespace lookup

• schemapedia.com, schemacache.com

- vocabulary search

• sindice.com, ckan.net, LOD Diagram

- identify data sets to link with

• Kasabi Linked Data Marketplace

Tools

• prefix.cc

- namespace lookup

• schemapedia.com, schemacache.com

- vocabulary search

• sindice.com, ckan.net, LOD Diagram

- identify data sets to link with

• Kasabi Linked Data Marketplace

- access other data sources

Tools

Why don’t I just use my own

terms for things?

Add ValueLink to external sources

Simple Process

Model

Nam

e

Describ

e

Simple Process

Model

Nam

e

Describ

e

Convert

Conversion

•Database / spreadsheet export

Conversion

•Database / spreadsheet export- Script/program convert

Conversion

•Database / spreadsheet export- Script/program convert

•Pull existing Linked Data from sites

Conversion

•Database / spreadsheet export- Script/program convert

•Pull existing Linked Data from sites- URI matching

Conversion

•Database / spreadsheet export- Script/program convert

•Pull existing Linked Data from sites- URI matching

- Linksets

Conversion

•Database / spreadsheet export- Script/program convert

•Pull existing Linked Data from sites- URI matching

- Linksets

•Google Refine

Conversion

•Database / spreadsheet export- Script/program convert

•Pull existing Linked Data from sites- URI matching

- Linksets

•Google Refine- Facet analysis

Conversion

•Database / spreadsheet export- Script/program convert

•Pull existing Linked Data from sites- URI matching

- Linksets

•Google Refine- Facet analysis

- Reconciliation API

Conversion

What does my data look like

now?

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XMLMachine to machine

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-TriplesMachine to machine

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-TriplesMachine to machine

Processing

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-Triples

•Turtle

Machine to machine

Processing

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-Triples

•Turtle

Machine to machine

Processing

Human readable

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-Triples

•Turtle

•RDFa

Machine to machine

Processing

Human readable

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-Triples

•Turtle

•RDFa

Machine to machine

Processing

Human readable

Html embedded

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

•RDF/XML

•N-Triples

•Turtle

•RDFa

Machine to machine

Processing

Human readable

Html embedded

All valid RDF

RDF Flavours

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

Simple Process

Model

Nam

e

Describ

e

Convert

Simple Process

Model

Nam

e

Describ

e

Convert

Publish

Put it on a web server

http://www.flickr.com/photos/traftery/4773457853

SPARQL

SPARQL RDF Query LanguageSPARQL

SPARQL RDF Query Language

•Triple pattern matching

SPARQL

SPARQL RDF Query Language

•Triple pattern matching

SPARQL

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

SPARQL

16 July 1969⤵date

⤵../launch:1969-059

Cape Canaveral

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

SPARQL

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

•Requires a SPARQL-endpoint

SPARQL

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

•Requires a SPARQL-endpoint

•Backed by a Triple Store

SPARQL

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

•Requires a SPARQL-endpoint

•Backed by a Triple Store

- Local hosted

SPARQL

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

•Requires a SPARQL-endpoint

•Backed by a Triple Store

- Local hosted

- Hosted

SPARQL

SPARQL RDF Query Language

•Triple pattern matching

- uses Turtle

•Requires a SPARQL-endpoint

•Backed by a Triple Store

- Local hosted

- Hosted

- Managed Service - Talis

SPARQL

eh?

Linked Data Views

HTML based views of your dataLinked Data Views

HTML based views of your data

•Linked Data API

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

•Bespoke Views

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

•Bespoke Views- Hand crafted webpages

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

•Bespoke Views- Hand crafted webpages

•Backed by a Triple Store

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

•Bespoke Views- Hand crafted webpages

•Backed by a Triple Store- Local hosted

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

•Bespoke Views- Hand crafted webpages

•Backed by a Triple Store- Local hosted

- Hosted

Linked Data Views

HTML based views of your data

•Linked Data API- Puelia

- Elda

•Bespoke Views- Hand crafted webpages

•Backed by a Triple Store- Local hosted

- Hosted

- Managed Service - Talis

Linked Data Views

Links

Follow your noseLinks

Follow your noseLinks

Is RDF the only way to do Linked

Data?

Web Standards

But I just want to let people use

my data.

http://www.flickr.com/photos/jwilde/3499946512

http://www.flickr.com/photos/jwilde/3499946512

Accessing your Data

http://www.flickr.com/photos/jwilde/3499946512

Accessing your Data

Data API

http://www.flickr.com/photos/jwilde/3499946512

Accessing your Data

Data API}All have APIs

http://www.flickr.com/photos/jwilde/3499946512

Accessing your Data

Data API}All have APIs

All different!

Summary

Model

Nam

e

Describ

e

Convert

Publish

SPARQL

trip

le

RDFontologypropertyid

entifie

r

urlresourceAPI

merg

ing

model

Summary

Model

Nam

e

Describ

e

Convert

Publish

SPARQL

triple

RDFontologyproperty

identifier

url resourceAPI

merging

model

http://www.flickr.com/photos/thienzieyung/5147954561

trip

leRDFURI

http://www.flickr.com/photos/thienzieyung/5147954561

triple

RDF

URI

http://consulting.talis.com