• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Linked data: spreading data over the web
 

Linked data: spreading data over the web

on

  • 703 views

 

Statistics

Views

Total Views
703
Views on SlideShare
703
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Linked data: spreading data over the web Linked data: spreading data over the web Presentation Transcript

  • Linked Data: Spreadingdata over the webDamian Steerd.steer@bris.ac.uk
  • OverviewWhat is linked data?A brief primer on RDFHow we used linked data in Research RevealedThe hidden world of data on the webRecent developments: Facebook, Google, Yahoo, Bing
  • Information Management: AProposal
  • “To a computer, then, the web is a flat, boring worlddevoid of meaning.This is a pity, as in fact documents on the web describereal objects and imaginary concepts, and give particularrelationships between them.”
  • Real ...
  • ...and imaginary objects
  • Data
  • Linked DataUse URIs as names for thingsUse HTTP URIs so thatpeople can look up thosenames.When someone looks up aURI, provide usefulinformation, using thestandards (RDF*, SPARQL)Include links to other URIs. sothat they can discover morethings.
  • RDF is simple<http://www.bristol.ac.uk/> <http://purl.org/dc/terms/hasVersion> <http://m.bristol.ac.uk> .<http://www.bristol.ac.uk/> <http://purl.org/dc/terms/title> “Bristol University homepage” .
  • RDF is simple subject predicate<http://www.bristol.ac.uk/> object <http://purl.org/dc/terms/hasVersion> <http://m.bristol.ac.uk> .<http://www.bristol.ac.uk/> <http://purl.org/dc/terms/title> “Bristol University homepage” .
  • RDF is simple subject predicate<http://www.bristol.ac.uk/> object <http://purl.org/dc/terms/hasVersion> <http://m.bristol.ac.uk> .<http://www.bristol.ac.uk/> literal <http://purl.org/dc/terms/title> “Bristol University homepage” .
  • Writing it can be easy@prefix dc: <http://purl.org/dc/terms/> .<http://www.bristol.ac.uk> dc:title “Bristol University homepage” ; dc:hasVersion <http://m.bristol.ac.uk> .
  • Writing it... rdf/xml - the standard n-triples - line-oriented, simple turtle - human friendly, n-triples with shortcuts RDFa - embedded in (x)html various JSON
  • Publishing it What’s ‘http://purl.org/dc/terms/hasVersion’? GET http://purl.org/dc/terms/hasVersion 302 http://dublincore.org/2010/10/11/dcterms.rdf#hasVersion GET ... 200 <bunch of rdf/xml, some of which concerns dc:hasVersion> “Follow your nose”
  • Publishing it Upload an rdf file. Put everything in that. URLs like <http://example.com/about.rdf#me> Upload an rdf and html version. Content negotiate. <../about#me> yields html page in browser. <../about#me> yields rdf page if agent asks for it. <../about/me> redirect and (perhaps) content negotiate.
  • DBpediaWikipedia as linkeddata
  • http://dbpedia.org/resource/Bristol Infoboxes as machine readable data Some cleaning of categories Solid base for linked data (there’s a bit of everything)
  • Querying: SPARQLPREFIX dc: <http://purl.org/dc/terms/>SELECT ?homepage ?versionWHERE { ?homepage dc:title “Bristol University homepage” ; dc:hasVersion ?version .}
  • Querying: SPARQLPREFIX dc: <http://purl.org/dc/terms/>SELECT ?origin ?homepage ?versionWHERE { GRAPH ?origin { ?homepage dc:title “Bristol University homepage” ; dc:hasVersion ?version . }}
  • Try on sparql.orgPREFIX dc: <http://purl.org/dc/terms/>SELECT *FROM <http://purl.org/dc/terms/hasVersion>WHERE { dc:hasVersion ?p ?o}
  • Result p o <http://purl.org/dc/terms/modified> "2008-01-14" <http://purl.org/dc/terms/issued> "2000-07-11" <http://dublincore.org/usage/terms/history/ <http://purl.org/dc/terms/hasVersion> #hasVersion-003> <http://www.w3.org/2000/01/rdf-schema#label> "Has Version" @en-US <http://www.w3.org/2000/01/rdf- <http://purl.org/dc/elements/1.1/relation> schema#subPropertyOf> "A related resource that is a version, edition, or<http://www.w3.org/2000/01/rdf-schema#comment> adaptation of the described resource." @en-US "This term is intended to be used with non-literal values <http://www.w3.org/2004/02/skos/core#note> as defined in the DCMI Abstract Model (http:// dublincore.org/documents/abstract-model/). As of<http://www.w3.org/2000/01/rdf-schema#isDefinedBy> <http://purl.org/dc/terms/> December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range <http://www.w3.org/1999/02/22-rdf-syntax- declaration." @en-US<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ns#Property> <http://www.w3.org/2000/01/rdf- <http://purl.org/dc/terms/relation> schema#subPropertyOf>
  • Run your own store$ curl -O http://openjena.org/repo-dev/org/openjena/fuseki/0.2.1-SNAPSHOT/fuseki-0.2.1-20110904.172006-16.zip$ unzip fuseki*.zip$ cd Fuseki-0.2.1-SNAPSHOT$ mkdir DB$ ./fuseki-server --loc DB --update /my-datahttp://localhost:3030/
  • ResearchRevealedIntegrating the university’s research data
  • Facetted browsing
  • Behind the scenesLots of internal dataFunding council dataResearcher contributedOther third-partysources
  • Publishing our data All staff have a contact page. Err, actually we seem to have dozens. Links to my organisation My organisation links to members and parent organisation
  • Publishing data with RDFaRDF-in-attributesAdds a few attributesto htmlLinks and content canbecome objects.Attributes introduceproperties.
  • RDFa<html xmlns:foaf="http://xmlns.com/foaf/0.1/">...<div id="container" about="#person"typeof="foaf:Person"> <h1 property=”foaf:name”>Damian...</h1> <h3> <a href="http://..." rel="foaf:homepage">Homepage</a>
  • RDFa<html xmlns:foaf="http://xmlns.com/foaf/0.1/">...<div id="container" about="#person"typeof="foaf:Person"> <h1 property="foaf:name">Damian...</h1> <h3> <a href="http://..." rel="foaf:homepage">Homepage</a>
  • Linking with the BritishLibrary BL converted bibliographic data New books published in the UK since 1950 3 million records (1E8 triples) Ought to be some crossover
  • Data needed mungingprefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>prefix dc: <http://purl.org/dc/terms/>prefix ilrt: <http://www.ilrt.org/#>insert into <urn:x:normalised>{ ?person foaf:name ?nlabel } where{ select ?person (ilrt:normaliseName(?label) as ?nlabel) { graph ?g1 { ?s dc:contributor ?person } graph ?g2 { ?person rdfs:label ?label }
  • Linking with the BritishLibrary At the time the data wasn’t great Authors were strings We enriched BL data more than the other way around Much improved now
  • Linked data in the wild
  • BBC Nature
  • Ask the web about penguinsselect (count(*) as ?size)from <http://www.bbc.co.uk/nature/life/Aptenodytes>where{?s ?p ?o}=> 58
  • BBC Programmes
  • Ask about the One Showprefix po: <http://purl.org/ontology/po/>select ?synopsis from<http://www.bbc.co.uk/programmes/b0171t8n>{ <http://www.bbc.co.uk/programmes/b0171t8n#programme> po:long_synopsis ?synopsis }=> “Alex Jones and Joe Crowley are joinedby the actor Neil Morrissey. Larry Lambvisits a small village in France to findout about a British WWII airman who hasbeen honoured there since 1944. Marcus
  • Facebook Open GraphProtocol
  • Open Graph ProtocolUses RDFaFound in: IMDB Rotten Tomatoes ...
  • Schema.org
  • Schema.orgNOT RDF. But awfully close.Richer than OGP (in initial incarnation)Augment results
  • Questions?
  • http://incubator.apache.org/jena/http://sparql.org/