barcamprdu linkeddata

23
Linked Data BarCampRDU 2010 Intro slides - Dave Johnson Monday, October 25, 2010

Upload: david-m-johnson

Post on 11-May-2015

753 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Barcamprdu linkeddata

Linked DataBarCampRDU 2010

Intro slides - Dave Johnson

Monday, October 25, 2010

Page 2: Barcamprdu linkeddata

Motivations

Data model for machine readable web

Monday, October 25, 2010

Page 3: Barcamprdu linkeddata

HTML is great for people with browsers

Monday, October 25, 2010

Page 4: Barcamprdu linkeddata

Not so great for software that needs to extract meaningful data from web

Monday, October 25, 2010

Page 5: Barcamprdu linkeddata

Motivations

Data model for HTTP / REST based web services

Monday, October 25, 2010

Page 6: Barcamprdu linkeddata

HTTP is pretty good for creating, retrieving, updating and deleting resources on the web

Image by Paul Downeyhttp://www.flickr.com/photos/psd/421186578/

Monday, October 25, 2010

Page 7: Barcamprdu linkeddata

XML and JSON based formats are pretty good for representing resources

Photo by Alex Waterhouse-Haywardhttp://blog.alexwaterhousehayward.com/2007_11_14_archive.html

Monday, October 25, 2010

Page 8: Barcamprdu linkeddata

But, just because a resource is represented in XML or JSON doesn’t mean you know how to parse it or what the data means

Monday, October 25, 2010

Page 9: Barcamprdu linkeddata

Enter RDF• Resource Description Framework (RDF)

• Simple data model

• Resources identified by URI

• Resources have property values

• Property values can be literal values

• Or URI links to other resources

• Property value also known as triple

• Subject - resource (identified by URI)

• Predicate - property type (identified by URI)

• Object - value of property

• RDF data can be represented in XML, JSON and other formats

• If it’s an RDF representation then you know how to parse it or what the data means

Monday, October 25, 2010

Page 10: Barcamprdu linkeddata

Common vocabularies• RDF provides ways to specify vocabularies of

properties (e.g. http://www.w3.org/TR/rdf-schema/, http://www.w3.org/TR/owl-ref/ )

• And ontologies: resource classes with agreed upon sets properties

• Two of many examples:

abstract, accessRights, accrualMethod, accrualPeriodicity, accrualPolicy, alternative, audience, available, bibliographicCitation, conformsTo, contributor, coverage, created, creator, date, dateAccepted, dateCopyrighted, dateSubmitted, description, educationLevel, extent, format, hasFormat, hasPart, hasVersion, identifier, instructionalMethod, isFormatOf, isPartOf, isReferencedBy, isReplacedBy, isRequiredBy, issued, isVersionOf, language, license, mediator, medium, modified, provenance, publisher, references, relation, replaces, requires, rights, rightsHolder, source, spatial, subject, tableOfContents, temporal, title, type, valid, contributor, coverage, creator, date, description, format, identifier, language, publisher, relation, rights, source, subject, title, type

Classes: | Agent | Document | Group | Image | LabelProperty | OnlineAccount | OnlineChatAccount | OnlineEcommerceAccount | OnlineGamingAccount | Organization | Person | PersonalProfileDocument | Project |

Properties: | account | accountName | accountServiceHomepage | age | aimChatID | based_near | birthday | currentProject | depiction | depicts | dnaChecksum | familyName | family_name | firstName | focus | fundedBy | geekcode | gender | givenName | givenname | holdsAccount | homepage | icqChatID | img | interest | isPrimaryTopicOf | jabberID | knows | lastName | logo | made | maker | mbox | mbox_sha1sum | member | membershipClass | msnChatID | myersBriggs | name | nick | openid | page | pastProject | phone | plan | primaryTopic | publications | schoolHomepage | sha1 | skypeID | status | surname | theme | thumbnail | tipjar | title | topic | topic_interest | weblog | workInfoHomepage | workplaceHomepage | yahooChatID |

FOAF

Monday, October 25, 2010

Page 11: Barcamprdu linkeddata

ExampleBlog entry in RDF / Turtle

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix dcterms: <http://purl.org/dc/terms/> .@prefix foaf: <http://http://xmlns.com/foaf/0.1/> .@prefix oslc: <http://open-services.net/ns/core#> .@prefix oslc_blog: <http://open-services.net/ns/bogus/blogs#> .

<http://example.com/blogs/entry/1> rdf:type oslc_blog:Entry ; dcterms:content "Anything dirty or dingy or dusty. \n Anything ragged or rotten or rusty." ; dcterms:creator [ rdf:type foaf:Person ; foaf:name "Oscar T. Grouch" ] ; dcterms:modified "2002-10-10T12:00:00-05:00" ; dcterms:title "I love trash" .

URI of this resource http://example.com/blogs/entry/1

Monday, October 25, 2010

Page 12: Barcamprdu linkeddata

ExampleChange Request in RDF / XML <?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:oslc="http://open-services.net/ns/core#" xmlns:oslc_cm="http://open-services.net/ns/cm#" xmlns:ex="http://example.com/bugtracker">

<rdf:Description rdf:about="http://example.com/bugs/2314"> <rdf:type rdf:resource="http://open-services.net/ns/cm#ChangeRequest" />

<dcterms:identifier> 00002314 </dcterms:identifier> <oslc:shortTitle>Bug 2314</oslc:shortTitle> <dcterms:title> Invalid installation instructions </dcterms:title> <dcterms:type> Defect </dcterms:type> <oslc:instanceShape rdf:resource="http://example.com/shapes/defect" /> <dcterms:description> Invalid installation instructions indicating invalid patches to be applied. </dcterms:description>

...</rdf:RDF>

URI of this resource http://example.com/bugs/2314

Monday, October 25, 2010

Page 13: Barcamprdu linkeddata

ExampleRDFa embedded in HTML

<div about="/alice/posts/trouble_with_bob" xmlns:dc="http://purl.org/dc/elements/1.1/">

<h2 property="dc:title">The trouble with Bob</h2> The trouble with Bob is that he takes much better photos than I do:! <div about="http://example.com/bob/photos/sunset.jpg"> <img src="http://example.com/bob/photos/sunset.jpg" /> <span property="dc:title">Beautiful Sunset</span> by <span property="dc:creator">Bob</span>. </div> </div>

Monday, October 25, 2010

Page 14: Barcamprdu linkeddata

Linked Data

Tim Berners-Lee outlined four principles of Linked Data in his Design Issues: Linked Data note, paraphrased along the following lines:

1. Use URIs to identify things.2. Use HTTP URIs so that these things can be referred to and

looked up ("dereferenced") by people and user agents.3. Provide useful information about the thing when its URI is

dereferenced, using standard formats such as RDF/XML.4. Include links to other, related URIs in the exposed data to

improve discovery of other related information on the Web.

Monday, October 25, 2010

Page 15: Barcamprdu linkeddata

Problems with RDF

• Representations

• RDF/XML is a nightmare of complexity

• RDF/JSON not really there yet

• Perceptions of complexity

• RDF/XML doesn’t help

• Weird terminology: blank nodes, triples and reification, etc.

• I need a triple-store and a SPARQL query engine?

• Slow adoption, has it crossed the chasm?

But... RDF is not RDF/XML, you can use other formats

But... there are some JSON representations out there

Yes, there is some learning curve but the underlying data

model is simple: resources with property values

You might need an RDF parser but not a full stack of RDF technology to benefit

Who knows? We’ll review some evidence of momentum later...

Monday, October 25, 2010

Page 16: Barcamprdu linkeddata

Linked Data momentumLinked Data major part of upcoming Drupal 7 release

http://sf2010.drupal.org/conference/sessions/story-rdf-drupal7-and-what-it-means-web-large

Monday, October 25, 2010

Page 17: Barcamprdu linkeddata

Linked Data momentumUS government

using Linked Data to provide access to government data

Monday, October 25, 2010

Page 18: Barcamprdu linkeddata

Linked Data momentumUK government

using Linked Data to provide access to government data

Monday, October 25, 2010

Page 19: Barcamprdu linkeddata

Linked Data momentum

http://www.readwriteweb.com/archives/how_best_buy_is_using_the_semantic_web.php

Best Buy using Linked Data and RDFa to increase traffic and

provide better service to customers

Monday, October 25, 2010

Page 20: Barcamprdu linkeddata

Linked Data momentum

http://www.youtube.com/watch?v=B2vqL8fujgE

http://open-services.net

OSLC specs build on Linked Data to enable integration of software development tools

Monday, October 25, 2010

Page 21: Barcamprdu linkeddata

How to benefit

• Web site designers and operators

• Use RDFa to mark-up data in your web pages

• Benefits:

• Search engines can index your data more effectively

• Software can more easily parse and make sense of your data

Monday, October 25, 2010

Page 22: Barcamprdu linkeddata

How to benefit• REST API developers

• Use RDF as the data model for your REST web services

• Define your resources in terms of RDF properties

• Provide RDF representations of your resources

• Benefits:

• You don’t have to invent a new data model or a new XML or JSON format

• You can use standard property types

• And common vocabulary means easier inter-op with other web apps

Monday, October 25, 2010

Page 23: Barcamprdu linkeddata

Learn more

• O’Reilly Programming the Semantic Web

• http://oreilly.com/catalog/9780596153823

• W3C Linked Data initiative

• http://esw.w3.org/LinkedData

• Tim Berners-Lee: The next web of open linked data

• http://www.youtube.com/watch?v=OM6XIICm_qo

• Tim Berners-Lee: Linked Data is Blooming: Why You Should Care

• http://www.readwriteweb.com/archives/linked_data_is_blooming_why_you_should_care.php

Monday, October 25, 2010