webofdata
DESCRIPTION
GIven to the Edinburgh Tech Meetup on 8 July 2009. A quick introduction to how to publish linked data on the web.TRANSCRIPT
Getting started with the web of data
Bill Roberts
[email protected]://www.swirrl.com
http://webofdatablog.com
What is the web of data?
Tom Coates:
“A web of data sources, services for exploring and manipulating data, and ways that users can connect them together”
Linked data
“a method of exposing, sharing, and connecting data via dereferenceable URIs on the Web”
http://wikipedia.org/Linked_data
Linked data principles
From Sir TimBL:
1. Use URIs as names for things2. Use HTTP URIs so that people can look up those
names3. When someone looks up a URI, provide useful
information, using the standards4. Include links to other URIs so that they can discover
more things
http://www.readwriteweb.com/archives/interview_with_tim_berners-lee_part_1.php
Why publish linked data on the web?
• Be found by your customers• Because it’s your mission• As part of academic publishing• As a paid-for service• Complement your main product or service• Build a reputation or brand
Who’s doing it?
How do you find it?
• Sindice• Yahoo SearchMonkey • Google Rich Snippets• Following links• Data mashups/aggregators• SPARQL
How to get started?
Tom Scott of the BBC:
”...for those considering the Linked Data approach we’d say that 95% of the work is work you should be doing just to build for the (non-semantic) web. Get the fundamentals right and the leap to the Semantic Web is really more of a hop.”
Resource Description Framework
Subject/predicate/object (= Thing/attribute/value)
“Bill’s e-mail address is [email protected]”
BillBille-mail address
Everything gets a URI
<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#”><foaf:Person rdf:about="http://swirrl.com/bill.rdf#me">
<foaf:mbox rdf:resource=“mailto:[email protected]”></foaf:Person>
Don’t worry about the XML stuff: it’s just circles and arrows!
http://swirrl.com/bill.rdf#me
http://swirrl.com/bill.rdf#me
http://xmlns.com/foaf/0.1/mbox
Everything gets a URI
http://swirrl.com/bill.rdf#me
http://swirrl.com/bill.rdf#me
foaf:Personfoaf:Personrdf:type
<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#”><foaf:Person rdf:about="http://swirrl.com/bill.rdf#me">
<foaf:mbox rdf:resource=“mailto:[email protected]”></foaf:Person>
Ontologies
• Use existing ones where possible• Extend if you have to• Make your own if you really have to
– People: Friend of a Friend (FOAF)– People/companies: vCard– Dates: iCal– Authors, titles, etc: Dublin Core– E-Commerce: GoodRelations– Places: Geonames– Projects: Description of a Project (DOAP)
Publish for people AND machines
URI for a real thing: http://dbpedia.org/resource/Edinburgh
HTML representation: http://dbpedia.org/page/Edinburgh
RDF representation: http://dbpedia.org/data/Edinburgh.xml
Content negotiation
Tell me about resource/Edinburgh (in HTML)DBPedia
303 redirect to …/page/Edinburgh
Ok give me …/page/Edinburgh
HTML file
Content negotiationcurl –v –H “Accept: application/rdf+xml” http://dbpedia.org/resource/Edinburgh
Tell me about Edinburgh (in RDF) DBPedia
303 redirect to …/data/Edinburgh.xml
Ok give me the data
RDF+XML file
RDFa
• Mix the HTML and RDF markup in one file.
+ve: simpler as only one file-ve: sometimes you want to include data that
doesn’t really fit the HTML structure+ve: Google and Yahoo can use it (or at least
some of it)
Tools
• Validators – w3.org/RDF/Validator• Client libraries and frameworks - Jena• RDF databases - Sesame• Platforms – Talis
http://www.flickr.com/photos/mjjames/2767817164/
Looking for data publishing pilot studies…
<rdf:Description rdf:about="http://dbpedia.org/resource/Guinea_pig_breed"><skos:subject rdf:resource="http://dbpedia.org/resource/Category:Guinea_pigs"/></rdf:Description>
<rdf:Description rdf:about="http://dbpedia.org/resource/Guinea_pig_breed"><skos:subject rdf:resource="http://dbpedia.org/resource/Category:Guinea_pigs"/></rdf:Description>
Useful linksTom Coates “Native to a web of data” http://www.plasticbag.org/files/native/Linked Data: http://www.linkeddata.orgRDF primer http://www.w3.org/TR/rdf-primer/RDFa primer http://www.w3.org/TR/xhtml-rdfa-primer/Berners-Lee “Linked data – design issues” http://www.w3.org/DesignIssues/LinkedData.htmlBerners-Lee “Putting government data online” http://www.w3.org/DesignIssues/GovData.htmlTom Scott “Building coherence at bbc.co.uk” http://blogs.talis.com/nodalities/2009/01/building-coherence-at-bbccouk.phpRDF Validator http://www.w3.org/RDF/Validator/Sesame RDF database http://www.openrdf.orgJena – Semantic web framework for Java http://jena.sourceforge.net/Talis Platform http://www.talis.com/platform/Yahoo SearchMonkey http://developer.yahoo.com/searchmonkey/Google Rich Snippets http://www.google.com/support/webmasters/bin/answer.py?answer=99170
Thanks!
http://www.slideshare.net/billroberts/webofdata