give rest and sparql to semantic web future of service oriented architectures

79
By Rohit Bhardwaj Principal Software Engineer [email protected] Kronos Inc. IEEE Computer Society and GBC/ACM June 18 th 2009

Upload: matia

Post on 12-Jan-2016

22 views

Category:

Documents


1 download

DESCRIPTION

Give REST and SPARQL to Semantic Web future of service oriented architectures. IEEE Computer Society and GBC/ACM June 18 th 2009. By Rohit Bhardwaj Principal Software Engineer [email protected] Kronos Inc. Agenda. Problem with current web Linked Data Principles - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Give REST and SPARQL to Semantic Web future of service oriented architectures

ByRohit Bhardwaj

Principal Software [email protected]

Kronos Inc.

IEEE Computer Society and GBC/ACMJune 18th 2009

Page 2: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 3: Give REST and SPARQL to Semantic Web future of service oriented architectures

How did we get here ?

3

Mainframes

70’s and 80’s Client Server

90’s

SOA2000’s

Web 2.0

Virtualization

SaaS

Utility Computing

Cloud Computing

GRID Computing

Storage Services

Multi Tenancy

Page 4: Give REST and SPARQL to Semantic Web future of service oriented architectures
Page 5: Give REST and SPARQL to Semantic Web future of service oriented architectures

Interoperability of data

Page 6: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 7: Give REST and SPARQL to Semantic Web future of service oriented architectures

Tim Berners Lee on the Semantic Web

People keep asking what Web 3.0 is. I think maybe when you've got an overlay of scalable vector graphics - everything rippling and folding and looking misty - on Web 2.0 and access to a semantic Web integrated across a huge space of data, you'll have access to an unbelievable data resource."– Tim Berners-Lee, 2006

Page 8: Give REST and SPARQL to Semantic Web future of service oriented architectures

RAW data to create new Plants

Page 9: Give REST and SPARQL to Semantic Web future of service oriented architectures

RAWDATA NOW

Page 10: Give REST and SPARQL to Semantic Web future of service oriented architectures

Raw Data to create Eco-System

Page 11: Give REST and SPARQL to Semantic Web future of service oriented architectures

Linked Data Principles1. 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 RDF information4. Include RDF statements that link to

other URIs so that they can discover related things

Tim Berners-Lee 2007http://www.w3.org/DesignIssues/LinkedData.html

Page 12: Give REST and SPARQL to Semantic Web future of service oriented architectures

Computer understands (RDFa) meaning of web page

Page 13: Give REST and SPARQL to Semantic Web future of service oriented architectures

Search engines will use semantics for the pageMore accurate searches

Page 14: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 15: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic Web “provides a common framework that allows data

to be shared and reused across application, enterprise, and community boundaries. It is a collaborative effort led by W3C (World Wide Web Consortium)…”

“Classical” Web: computers deliver documents (text, multimedia…)

Semantic Web: let computers process (interpret, combine, select, judge) and deliver information

Page 16: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic Web Overview

Page 17: Give REST and SPARQL to Semantic Web future of service oriented architectures

Technologies

Page 18: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 19: Give REST and SPARQL to Semantic Web future of service oriented architectures

RDFResource Description FrameworkW3C RecommendationSpecification for a graph metamodel to

comment on web resources (or anything)Uses a triple form

Subject Object

predicate

Page 20: Give REST and SPARQL to Semantic Web future of service oriented architectures

Subject Predicate Object

MADONNA LIKES SINGING

Page 21: Give REST and SPARQL to Semantic Web future of service oriented architectures

CURIE: Compact URIRDF uses URI (Uniform Resource Identifier)

to define subjects and predicates.

http://www.example.org/really/really/really/long/urls/to/work/with/is /very/difficult

Page 22: Give REST and SPARQL to Semantic Web future of service oriented architectures

Triples and N3 Notation (Graph)@prefix pref:

<http://example.org/vocabulary#> .<#madonna> <pref:likes> <#singing> .

MADONNA LIKES SINGING

Subject Predicate Object

Page 23: Give REST and SPARQL to Semantic Web future of service oriented architectures

Vocabulary : FoaF

Britney MadonnaMadonnaKNOWS

Page 24: Give REST and SPARQL to Semantic Web future of service oriented architectures

Creating a triple so that Browser can understand <body xmlns:foaf="http//xmlns.com/foaf/0.1/"> <span about="#Britney" property="foaf:name"> Britney Spears </span> </body>

N3 notation: @prefix foaf: <http://xmlns.com/foaf/0.1/> . <#Britney> foaf:name "Britney Spears" .

#Britney

Britney SpearsNAME

Page 25: Give REST and SPARQL to Semantic Web future of service oriented architectures

Types and Relationships <body xmlns:foaf="http//xmlns.com/foaf/0.1/"> <span about="#Britney" typeof="foaf:Person"> property-"foaf:name"> Britney Spears </span> <span about="#Madonna" typeof="foaf:Person"> property-"foaf:name"> Madonna </span> <span about="#Britney" typeof="foaf:knows"> resource="#Madonna"> Britney is friend of Madonna </span> </body>

Page 26: Give REST and SPARQL to Semantic Web future of service oriented architectures

Relationship

#Britney

Britney SpearsNAME

PERSON

#Madonna

MadonnaNAME

KNOWS

Page 27: Give REST and SPARQL to Semantic Web future of service oriented architectures

Building Semantic webWeb of triples going to blogs, sites, countries,

places, things and their relationships between news, people, movies

Page 28: Give REST and SPARQL to Semantic Web future of service oriented architectures

RDFSRDF Schema (RDFS)– Vocabulary for RDF – taxonomies of classes andproperties, domain, range, …

:Dog rdfs:subClassOf :Animal.:Person rdfs:subClassOf :Animal.:hasChild rdfs:range :Animal;rdfs:domain :Animal.:hasSon rdfs:subPropertyOf :hasChild.:Max a :Dog.:Abel a :Person.:Adam a :Person;:hasSon :Abel.

Page 29: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 30: Give REST and SPARQL to Semantic Web future of service oriented architectures

Dbpedia Example

Page 31: Give REST and SPARQL to Semantic Web future of service oriented architectures

dbpediaAs of November 2008[update], the DBpedia

dataset describes more than 2.6 million things, including at least 213,000 persons, 328,000 places, 57,000 music albums, 36,000 films, 20,000 companies. The dataset features labels and short abstracts for these things in 30 different languages; 609,000 links to images and 3,150,000 links to external web pages; 4,878,100 external links into other RDF datasets, 415,000 Wikipedia categories, and 75,000 YAGO categories.[1]

Page 32: Give REST and SPARQL to Semantic Web future of service oriented architectures

Example

Page 33: Give REST and SPARQL to Semantic Web future of service oriented architectures
Page 34: Give REST and SPARQL to Semantic Web future of service oriented architectures

Community effort to Publish existing open license datasets as

Linked Data on the WebInterlink things between different data

sourcesDevelop clients that consume Linked

Data from the Web

Page 35: Give REST and SPARQL to Semantic Web future of service oriented architectures

Linked Data BrowsersTabulator Browser (MIT, USA)Disco Hyperdata Browser (FU Berlin, DE)OpenLink RDF Browser (OpenLink, UK)Zitgist RDF Browser (Zitgist, USA)Humboldt (HP Labs, UK)Fenfire (DERI, Irland)Marbles (FU Berlin, DE)

Page 36: Give REST and SPARQL to Semantic Web future of service oriented architectures

Example 1http://graphs.gapminder.org/world

Page 37: Give REST and SPARQL to Semantic Web future of service oriented architectures

Example 2http://bitmunk.com/media/6995806

Page 38: Give REST and SPARQL to Semantic Web future of service oriented architectures

FUZZ Firefox plug-in

Page 39: Give REST and SPARQL to Semantic Web future of service oriented architectures

FUZZ Plug-in

Page 40: Give REST and SPARQL to Semantic Web future of service oriented architectures

OpenLink Firefox Plug-in

Page 41: Give REST and SPARQL to Semantic Web future of service oriented architectures

Some more exampleshttp://richard.cyganiak.de/2007/10/l

od/http://www4.wiwiss.fu-berlin.de/bize

r/pub/lod-datasets_2009-03-05.htmlhttp://www.openstreetmap.org/http://revyu.com/DBpedia Mobile

Page 42: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 43: Give REST and SPARQL to Semantic Web future of service oriented architectures

OWLWeb Ontology Language (OWL)W3C RecommendationDesigned to support different levels of

expression withdifferent computational requirements

OWL Lite

OWL DLOWL Full

Page 44: Give REST and SPARQL to Semantic Web future of service oriented architectures

“Berlin” Ontology example:

Berlin local transport service

Page 45: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying Semantic Web DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 46: Give REST and SPARQL to Semantic Web future of service oriented architectures

Querying Semantic Web Data: SPARQLEmerging W3C Standard for querying RDFSPARQL Protocol and RDF Query LanguageIt has been a moving target, but various tools

are starting to support itARQ SPARQL Processor for JenaRasqal RDF query library for RedlandPellet, KAON2 OWL DL Reasoners

Page 47: Give REST and SPARQL to Semantic Web future of service oriented architectures

SPARQLSimple Protocol and RDF Query Language– SQL like language for RDF querying

SELECT ?name ?mbox WHERE { ?x foaf:name ?name . ?x foaf:mbox ?mbox . }

– graph matching/construction– SELECT, CONSTRUCT, DESCRIBE, ASK– ORDER BY, DISTINCT, OFFSET, LIMIT• Operates on any RDF graph– i.e., including RDFS/OWL

Page 48: Give REST and SPARQL to Semantic Web future of service oriented architectures

SPARQL DEMOhttp://demo.openlinksw.com/sparql_demo/#http://www.sparql.org/query.html

Page 49: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic SearchOne of the primary goals of semantic web

Not only keyword full-text searchQuery includes relations between

resourcesConnecting data: mash-up from different

sourcesWithin enterprise or enterprises

Relevant research: “semantic desktop” semantic search within data in a single

PC

Page 50: Give REST and SPARQL to Semantic Web future of service oriented architectures

Web of Data Search EnginesSWSE (DERI, Ireland)Swoogle (UMBC, USA)

http://swoogle.umbc.edu/Falcons (IWS, China)Sindice (DERI, Ireland)Watson (Open University, UK)MicroSearch (Yahoo, Spain)

Page 51: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 52: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic Web ServicesSemantic enrichment of Web ServicesSemantic interoperability

Special ontologies developed for the description of services: OWL-S, WSMO, …

service matchmaking to allow service discovery, composition and execution

Page 53: Give REST and SPARQL to Semantic Web future of service oriented architectures

OWL-SOWL ontology for describing servicesOWL-S Matchmaking:

Description of input and output conditions as a concept

Page 54: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 55: Give REST and SPARQL to Semantic Web future of service oriented architectures

WS-Tenacity

SOA = WSDL + SOAP + UDDI

Page 56: Give REST and SPARQL to Semantic Web future of service oriented architectures

WS-ComplexityReal Complexity

Hard things hardArtificial Complexity

Easy things are (still!) hard

Page 57: Give REST and SPARQL to Semantic Web future of service oriented architectures

WS-InoperabilitySOAP

Message-oriented requestMixes verb space and content space (No

nouns!)WSDL

What You See Is What You GetUDDI

Published metadata about serviceSimultaneously complex and limited

Page 58: Give REST and SPARQL to Semantic Web future of service oriented architectures

WS-FlexibilityIf you build it...

Amazon supports both SOAP-based and RESTful Web Services

Developers have spoken (80-90% prefer REST)

Page 59: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 60: Give REST and SPARQL to Semantic Web future of service oriented architectures

REST is HistoryREST (REpresentational State Transfer)Based largely on Roy Fielding’s Ph.D. thesisArchitectural style designed to promote

PerformanceScalabilityGeneralitySimplicityModifiability

Page 61: Give REST and SPARQL to Semantic Web future of service oriented architectures

Separation of Concerns

HTTP://REST.BLUEOXEN.NET/CGI-BIN/WIKI.PL?RESTTRIANGLE

Page 62: Give REST and SPARQL to Semantic Web future of service oriented architectures

Noun SpaceResources are an abstraction for what is

availableFilesGenerated ContentComputational ResultsConcepts/Organizations/People

What comes back can change over timeThink about today’s /. Page

Page 63: Give REST and SPARQL to Semantic Web future of service oriented architectures

Verb SpaceConstrained semantics for acting upon

resourcesTraditionally

GETPOSTPUTDELETE

Allows intermediaries to apply security/caching policies

Page 64: Give REST and SPARQL to Semantic Web future of service oriented architectures

REST Architecture

Page 65: Give REST and SPARQL to Semantic Web future of service oriented architectures

The Web as ModelScalabilityAddressabilityBookmarkabilityEvolvable architectureSimple, Generalized ModelCoordination on the Edge (Republishability)

Page 66: Give REST and SPARQL to Semantic Web future of service oriented architectures

Web Building BlocksStandard URI Scheme addressesDocuments, Data, Services, ConceptsLogical resolution to concrete representationStandard application protocols for

manipulationStandard metadata languages

Page 67: Give REST and SPARQL to Semantic Web future of service oriented architectures

Scalability

Page 68: Give REST and SPARQL to Semantic Web future of service oriented architectures

Content Negotiation

Page 69: Give REST and SPARQL to Semantic Web future of service oriented architectures

Access Control

Page 70: Give REST and SPARQL to Semantic Web future of service oriented architectures

Architectural Migration

Page 71: Give REST and SPARQL to Semantic Web future of service oriented architectures

RESTful Web ServicesPutting the “Web” in Web ServicesReusing existing technologiesSimple things easy, hard thing possible

Can layer on complexity as necessaryNothing necessarily to buy

Page 72: Give REST and SPARQL to Semantic Web future of service oriented architectures

AgendaProblem with current webLinked Data PrinciplesSemantic Web OverviewRDF and RDFaDbpediaOWLQuerying SemWeb DataSemantic Web ServicesWS-TenacityRESTConclusionReferences

Page 73: Give REST and SPARQL to Semantic Web future of service oriented architectures

ConclusionSemantic web is futureRDFa and Ontology languages help computers

understandREST is AN AnswerFor architectural styles that support it, REST

allows systems to be simple but completePromotes separation of noun, verb and content

spaces for simplicity and extensibilitySystems built on principles of REST

demonstrate great scalabilitySome places REST is not the right answer

Page 74: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic Web Examples

http://simile.mit.edu/wiki/Exhibit/Examples

Page 75: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic Web Examples

http://simile.mit.edu/wiki/Exhibit/Examples

Page 76: Give REST and SPARQL to Semantic Web future of service oriented architectures

Semantic Web Examples

Page 77: Give REST and SPARQL to Semantic Web future of service oriented architectures

Questions?

Page 78: Give REST and SPARQL to Semantic Web future of service oriented architectures

Specifications

Page 79: Give REST and SPARQL to Semantic Web future of service oriented architectures

ReferencesRoy Fielding’s Thesis

http://tinyurl.com/cvamhOpenLink Data Explorer 0.25 for firefoxhttp://microformats.org/about/http://www.openstreetmap.org/http://rdfa.info/abouthttp://www.dataportability.org/Tabulator, Disco RDF Browser