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

Preview:

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 rbhardwaj@kronos.com Kronos Inc. Agenda. Problem with current web Linked Data Principles - PowerPoint PPT Presentation

Citation preview

ByRohit Bhardwaj

Principal Software Engineerrbhardwaj@kronos.com

Kronos Inc.

IEEE Computer Society and GBC/ACMJune 18th 2009

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

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

Interoperability of data

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

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

RAW data to create new Plants

RAWDATA NOW

Raw Data to create Eco-System

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

Computer understands (RDFa) meaning of web page

Search engines will use semantics for the pageMore accurate searches

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

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

Semantic Web Overview

Technologies

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

RDFResource Description FrameworkW3C RecommendationSpecification for a graph metamodel to

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

Subject Object

predicate

Subject Predicate Object

MADONNA LIKES SINGING

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

Triples and N3 Notation (Graph)@prefix pref:

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

MADONNA LIKES SINGING

Subject Predicate Object

Vocabulary : FoaF

Britney MadonnaMadonnaKNOWS

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

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>

Relationship

#Britney

Britney SpearsNAME

PERSON

#Madonna

MadonnaNAME

KNOWS

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

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

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.

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

Dbpedia Example

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]

Example

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

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)

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

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

FUZZ Firefox plug-in

FUZZ Plug-in

OpenLink Firefox Plug-in

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

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

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

expression withdifferent computational requirements

OWL Lite

OWL DLOWL Full

“Berlin” Ontology example:

Berlin local transport service

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

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

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

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

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

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)

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

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

OWL-SOWL ontology for describing servicesOWL-S Matchmaking:

Description of input and output conditions as a concept

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

WS-Tenacity

SOA = WSDL + SOAP + UDDI

WS-ComplexityReal Complexity

Hard things hardArtificial Complexity

Easy things are (still!) hard

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

WS-FlexibilityIf you build it...

Amazon supports both SOAP-based and RESTful Web Services

Developers have spoken (80-90% prefer REST)

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

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

PerformanceScalabilityGeneralitySimplicityModifiability

Separation of Concerns

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

Noun SpaceResources are an abstraction for what is

availableFilesGenerated ContentComputational ResultsConcepts/Organizations/People

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

Verb SpaceConstrained semantics for acting upon

resourcesTraditionally

GETPOSTPUTDELETE

Allows intermediaries to apply security/caching policies

REST Architecture

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

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

manipulationStandard metadata languages

Scalability

Content Negotiation

Access Control

Architectural Migration

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

Can layer on complexity as necessaryNothing necessarily to buy

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

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

Semantic Web Examples

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

Semantic Web Examples

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

Semantic Web Examples

Questions?

Specifications

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

Recommended