Web of Data 101 Keith Alexander (Talis) Yves Raimond (QMUL/BBC A&Mi) WOD-PD 2008, October 22 nd , 2008
Outline Introduction to linked data 1 st  hacking session SPARQL 2 nd  hacking session What's out there?
The Web of Data
The Web Names (URIs) Documents (HTML, XML, JSON, ...) Interactions with names (HTTP) Names Documents HTTP GET
Links
What does it look like, now? Names identify documents, e.g. HTML, XML, etc. Documents are interlinked: <a href=” http://moustaki.org/ ” />
Web of documents
We understand...
We understand...
Machines don't...
Shortcomings Untyped links Friend? City? Favorite artist? Opacity Me? That gig? A pizza? ”Give me bands that I listened to in the month who are making a gig next to my current location”
The Google way Let's aggregate a massive amount of documents. By using the linkage information and statistical analysis, we can infer enough to provide a good search service.
Right, but... Search is not everything ”Give me bands that I listened to in the last month who are making a gig next to my current location” Information extraction must cover: Multiple domains Multiple media Frustrating Documents often generated from database Why reverse-engineer the ”view” process?
Silos and views
Solution Easy, let's just build web services on top of the WS-* stack, wrapping every single possible database query
Just jocking :-)
Web of data Let's get back to the Web: Names (URIs) Documents (HTML, XML, JSON, ...) Interactions (HTTP GET/POST/PUT/DELETE) Not only documents can be named !! Persons, cities, bands, WOD-PD... Documents can hold  structured data Stuff that your program can use Problem solved. Session finished.
Web of data A web of things
RDF RDF is the web standard for such structured data RDF data model: Subject (URI) Property (URI) Object (URI or literal)
RDF literals Literals are just string values They can have language tags associated with them Or they can have a datatype associated with them Or they can be  plain
RDF example http://moustaki.org/foaf.rdf#moustaki http://xmlns.com/foaf/0.1/based_near http://dbpedia.org/resource/London
http://dbpedia.org/resource/The_Clash http://dbpedia.org/property/origin http://dbpedia.org/resource/London
http://moustaki.org/foaf.rdf#moustaki http://xmlns.com/foaf/0.1/interest http://dbpedia.org/resource/The_Clash
RDF Me The Clash London
The nice thing about all those URIs … is that you can look them up to get more information about the things they signify. Even the properties and types are URIs.  This means you can look them up to get more information about their semantics. Web ontologies You can also do handy things like retrieve the labels (rdfs:label) of the predicates, to create dynamic user interfaces.
Writing RDF RDF is the data model Different ways to serialise RDF RDF/XML Turtle RDFa (RDF embedded in XHTML)
RDF/XML <foaf:Person rdf:about=” http://moustaki.org/foaf.rdf#moustaki ”> <foaf:knows rdf:resource=” http://sw-app.org/mic.xhtml#i ”/> <foaf:interest rdf:resource=” http://dbpedia.org/resource/The_Clash ”> <foaf:name>Yves Raimond</foaf:name> </foaf:Person>
Turtle < http://moustaki.org/foaf.rdf#moustaki > a foaf:Person; foaf:interest < http://dbpedia.org/resource/The_Clash >; foaf:knows < http://sw-app.org/mic.xhtml#i >; foaf:name ”Yves Raimond” .
Summary - Linked Data principles Use URIs as names for things Use HTTP URIs so that people can look up those names When someone looks up a URI, provide useful RDF information Include RDF statements that link to other URIs so that they can discover related things Tim Berners-Lee, 2007 http://www.w3.org/DesignIssues/LinkedData.html
Example http://dbtune.org/jamendo/artist/5 RDF representation: This is an artist http://purl.org/ontology/mo/MusicArtist It made two records http://dbtune.org/jamendo/record/33 http://dbtune.org/jamendo/record/174 It is based near a place http://sws.geonames.org/2991627/ More information about that place? GET it!
Tabulator demo

Web of data

  • 1.
    Web of Data101 Keith Alexander (Talis) Yves Raimond (QMUL/BBC A&Mi) WOD-PD 2008, October 22 nd , 2008
  • 2.
    Outline Introduction tolinked data 1 st hacking session SPARQL 2 nd hacking session What's out there?
  • 3.
  • 4.
    The Web Names(URIs) Documents (HTML, XML, JSON, ...) Interactions with names (HTTP) Names Documents HTTP GET
  • 5.
  • 6.
    What does itlook like, now? Names identify documents, e.g. HTML, XML, etc. Documents are interlinked: <a href=” http://moustaki.org/ ” />
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Shortcomings Untyped linksFriend? City? Favorite artist? Opacity Me? That gig? A pizza? ”Give me bands that I listened to in the month who are making a gig next to my current location”
  • 12.
    The Google wayLet's aggregate a massive amount of documents. By using the linkage information and statistical analysis, we can infer enough to provide a good search service.
  • 13.
    Right, but... Searchis not everything ”Give me bands that I listened to in the last month who are making a gig next to my current location” Information extraction must cover: Multiple domains Multiple media Frustrating Documents often generated from database Why reverse-engineer the ”view” process?
  • 14.
  • 15.
    Solution Easy, let'sjust build web services on top of the WS-* stack, wrapping every single possible database query
  • 16.
  • 17.
    Web of dataLet's get back to the Web: Names (URIs) Documents (HTML, XML, JSON, ...) Interactions (HTTP GET/POST/PUT/DELETE) Not only documents can be named !! Persons, cities, bands, WOD-PD... Documents can hold structured data Stuff that your program can use Problem solved. Session finished.
  • 18.
    Web of dataA web of things
  • 19.
    RDF RDF isthe web standard for such structured data RDF data model: Subject (URI) Property (URI) Object (URI or literal)
  • 20.
    RDF literals Literalsare just string values They can have language tags associated with them Or they can have a datatype associated with them Or they can be plain
  • 21.
    RDF example http://moustaki.org/foaf.rdf#moustakihttp://xmlns.com/foaf/0.1/based_near http://dbpedia.org/resource/London
  • 22.
  • 23.
  • 24.
    RDF Me TheClash London
  • 25.
    The nice thingabout all those URIs … is that you can look them up to get more information about the things they signify. Even the properties and types are URIs. This means you can look them up to get more information about their semantics. Web ontologies You can also do handy things like retrieve the labels (rdfs:label) of the predicates, to create dynamic user interfaces.
  • 26.
    Writing RDF RDFis the data model Different ways to serialise RDF RDF/XML Turtle RDFa (RDF embedded in XHTML)
  • 27.
    RDF/XML <foaf:Person rdf:about=”http://moustaki.org/foaf.rdf#moustaki ”> <foaf:knows rdf:resource=” http://sw-app.org/mic.xhtml#i ”/> <foaf:interest rdf:resource=” http://dbpedia.org/resource/The_Clash ”> <foaf:name>Yves Raimond</foaf:name> </foaf:Person>
  • 28.
    Turtle < http://moustaki.org/foaf.rdf#moustaki> a foaf:Person; foaf:interest < http://dbpedia.org/resource/The_Clash >; foaf:knows < http://sw-app.org/mic.xhtml#i >; foaf:name ”Yves Raimond” .
  • 29.
    Summary - LinkedData principles Use URIs as names for things Use HTTP URIs so that people can look up those names When someone looks up a URI, provide useful RDF information Include RDF statements that link to other URIs so that they can discover related things Tim Berners-Lee, 2007 http://www.w3.org/DesignIssues/LinkedData.html
  • 30.
    Example http://dbtune.org/jamendo/artist/5 RDFrepresentation: This is an artist http://purl.org/ontology/mo/MusicArtist It made two records http://dbtune.org/jamendo/record/33 http://dbtune.org/jamendo/record/174 It is based near a place http://sws.geonames.org/2991627/ More information about that place? GET it!
  • 31.