chris gutteridge: rdf crash course

45
Christopher Gutteridge @cgutteridge Datageek

Upload: devxs

Post on 26-Jun-2015

304 views

Category:

Education


0 download

DESCRIPTION

A Lightning Talk at DevXS2011

TRANSCRIPT

Page 1: Chris Gutteridge: RDF Crash Course

Christopher Gutteridge@cgutteridge

Datageek

Page 2: Chris Gutteridge: RDF Crash Course

Christopher Gutteridge@cgutteridge

University of Southampton, Linked Open Data Architect

Page 3: Chris Gutteridge: RDF Crash Course

Christopher Gutteridge@cgutteridge

University of Southampton, Linked Open Data Architect Gardener

Page 4: Chris Gutteridge: RDF Crash Course

RDFWTF?

Page 5: Chris Gutteridge: RDF Crash Course
Page 6: Chris Gutteridge: RDF Crash Course
Page 7: Chris Gutteridge: RDF Crash Course
Page 8: Chris Gutteridge: RDF Crash Course
Page 9: Chris Gutteridge: RDF Crash Course
Page 10: Chris Gutteridge: RDF Crash Course
Page 11: Chris Gutteridge: RDF Crash Course
Page 12: Chris Gutteridge: RDF Crash Course

URL

Page 13: Chris Gutteridge: RDF Crash Course

URL

URI

Page 14: Chris Gutteridge: RDF Crash Course

“Christopher Gutteridge”

“Simon Phipps”“Steve Lee”

“OggCamp”

Page 15: Chris Gutteridge: RDF Crash Course

“Christopher Gutteridge”

“Simon Phipps”“Steve Lee”

“OggCamp”

http://id.ecs.soton.ac.uk/person/1248

http://oggcamp.org/#oggcamp2011

Page 16: Chris Gutteridge: RDF Crash Course

“Christopher Gutteridge”

“Simon Phipps”“Steve Lee”

“OggCamp”

http://id.ecs.soton.ac.uk/person/1248

http://oggcamp.org/#oggcamp2011

http://www.w3.org/2000/01/rdf-schema#label

http://www.w3.org/2000/01/rdf-schema#label

http://www.w3.org/2000/01/rdf-schema#label

http://purl.org/prog/attendee

http://purl.org/prog/attendeehttp://purl.org/prog/attendee

http://www.w3.org/2000/01/rdf-schema#label

Page 17: Chris Gutteridge: RDF Crash Course

Linked Data

Page 18: Chris Gutteridge: RDF Crash Course

303See Other

Page 19: Chris Gutteridge: RDF Crash Course

303 See Other

<http://id.southampton.ac.uk/building/59>

<http://data.southampton.ac.uk/building/59.rdf>

<http://data.southampton.ac.uk/building/59.html>

Page 20: Chris Gutteridge: RDF Crash Course

<http://users.ecs.soton.ac.uk/cjg/foaf.rdf#me>

<http://users.ecs.soton.ac.uk/cjg/foaf.rdf>

Page 21: Chris Gutteridge: RDF Crash Course

<http://id.ecs.soton.ac.uk/person/1248> <http://www.w3.org/2000/01/rdf-schema#label> “Christopher Gutteridge” .

<http://oggcamp.org/#oggcamp2011> <http://purl.org/prog/attendee> <http://id.ecs.soton.ac.uk/person/1248> .

“N-Triples”

Page 22: Chris Gutteridge: RDF Crash Course

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix prog: <http://purl.org/prog/> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://id.ecs.soton.ac.uk/person/1248> rdfs:label “Christopher Gutteridge” ;

rdf:type foaf:Person ; foaf:homepage <http://users.ecs.soton.ac.uk/cjg> .

<http://oggcamp.org/#oggcamp2011> prog:attendee <http://id.ecs.soton.ac.uk/person/1248> ,

<http://semantictweet.com/webmink> .

“Turtle”

Page 23: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .

Page 24: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .

Page 25: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

Page 26: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

Page 27: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<graph>

Page 28: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<A><subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<B>

Page 29: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<A><subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<B>

Page 30: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<A+B><subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

Page 31: Chris Gutteridge: RDF Crash Course

<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

<A+B><subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .<subject> <predicate> <object> .

Page 32: Chris Gutteridge: RDF Crash Course

"If HP knew what HP knows, we'd be three times more profitable."

Lew Platt

32

Page 33: Chris Gutteridge: RDF Crash Course

Where else?

• Oxford• Edinburgh• Open University• Bristol• Lincoln• Edinburgh• Leeds

33

Page 34: Chris Gutteridge: RDF Crash Course

Where else?

• Oxford• Edinburgh• Open University• Bristol• Lincoln• Edinburgh• Leeds

• Müenster, Germany

34

Page 35: Chris Gutteridge: RDF Crash Course

Where else?

• Oxford• Edinburgh• Open University• Bristol• Lincoln• Edinburgh• Leeds

• Müenster, Germany• Tsinghua, China

35

Page 36: Chris Gutteridge: RDF Crash Course

Transparency+

Utility

36

Page 37: Chris Gutteridge: RDF Crash Course

• How much did the University spend on Taxis in December 2011?

37

Page 38: Chris Gutteridge: RDF Crash Course

• Where am I going?

38

Page 39: Chris Gutteridge: RDF Crash Course

• Where am I going?• How can I get there?

39

Page 40: Chris Gutteridge: RDF Crash Course

• Where am I going?• How can I get there?• Where do I get coffee on the way?

40

Page 41: Chris Gutteridge: RDF Crash Course

41

“Triple Store”(database)

Google Docs

Excel (via email)

Spreadsheet (CSV)

RDF direct from application

DatabaseRDF Document Web Page

Map (KML)

Page 42: Chris Gutteridge: RDF Crash Course

Datasets

• Buildings and Places• Points of Service• Menus and Prices• Publications• Programmes & Modules

• Bus Stops & Routes• Teaching Rooms &

Facilities• Payments over £500• …

42

No research data?

…Not yet, that’s a different shape problem to organisational data!

Page 43: Chris Gutteridge: RDF Crash Course

Data Sources

• Buildings and Estates• Transport Office • Catering• Nuffield Theatre• Student Helpers• Finance• Romanse (Bus Times)

• MUD• BANNER• Syllabus+• EPrints & EdShare• UniStats

43

Page 44: Chris Gutteridge: RDF Crash Course

Crowd-Sourcing

44

Page 45: Chris Gutteridge: RDF Crash Course

Colin-Sourcing

45