790 likes | 930 Views
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
E N D
Give REST and SPARQL to Semantic Web future of service oriented architectures IEEE Computer Society and GBC/ACM June 18th 2009 By RohitBhardwaj Principal Software Engineer rbhardwaj@kronos.com Kronos Inc.
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying SemWeb Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
How did we get here ? Cloud Computing Utility Computing Virtualization SaaS Web 2.0 GRID Computing Multi Tenancy Storage Services 2000’s SOA 90’s Mainframes 70’s and 80’s Client Server
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying SemWeb Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
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 NOW
Linked Data Principles • Use URIs as names for things • Use HTTP URIs so that people can look up those names • When someone looks up a URI, provide useful RDF information • Include RDF statements that link to other URIs so that they can discover related things Tim Berners-Lee 2007 http://www.w3.org/DesignIssues/LinkedData.html
Search engines will use semantics for the page More accurate searches
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying SemWeb Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
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
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying SemWeb Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
RDF • Resource Description Framework • W3C Recommendation • Specification for a graph metamodel to comment on web resources (or anything) Uses a triple form predicate Subject Object
Subject Predicate Object MADONNA LIKES SINGING
CURIE: Compact URI • RDF 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 Madonna KNOWS
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 Spears #Britney NAME
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 Spears NAME KNOWS PERSON #Madonna Madonna NAME
Building Semantic web • Web of triples going to blogs, sites, countries, places, things and their relationships between news, people, movies
RDFS • RDF Schema (RDFS) • – Vocabulary for RDF – taxonomies of classes and • properties, 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.
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying SemWeb Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
dbpedia • As 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]
Community effort to • Publish existing open license datasets as Linked Data on the Web • Interlink things between different data sources • Develop clients that consume Linked Data from the Web
Linked Data Browsers • Tabulator 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 1 • http://graphs.gapminder.org/world
Example 2 • http://bitmunk.com/media/6995806
Some more examples • http://richard.cyganiak.de/2007/10/lod/ • http://www4.wiwiss.fu-berlin.de/bizer/pub/lod-datasets_2009-03-05.html • http://www.openstreetmap.org/ • http://revyu.com/ • DBpedia Mobile
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying SemWeb Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
OWL • Web Ontology Language (OWL) • W3C Recommendation • Designed to support different levels of expression with • different computational requirements • OWL Lite • OWL DL • OWL Full
“Berlin” Ontology example: Berlin local transport service
Agenda • Problem with current web • Linked Data Principles • Semantic Web Overview • RDF and RDFa • Dbpedia • OWL • Querying Semantic Web Data • Semantic Web Services • WS-Tenacity • REST • Conclusion • References
Querying Semantic Web Data: SPARQL • Emerging W3C Standard for querying RDF • SPARQL Protocol and RDF Query Language • It has been a moving target, but various tools are starting to support it • ARQ SPARQL Processor for Jena • Rasqal RDF query library for Redland • Pellet, KAON2 OWL DL Reasoners
SPARQL • Simple 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 DEMO • http://demo.openlinksw.com/sparql_demo/# • http://www.sparql.org/query.html
Semantic Search • One of the primary goals of semantic web • Not only keyword full-text search • Query includes relations between resources • Connecting data: mash-up from different sources • Within enterprise or enterprises • Relevant research: “semantic desktop” • semantic search within data in a single PC
Web of Data Search Engines • SWSE (DERI, Ireland) • Swoogle (UMBC, USA) http://swoogle.umbc.edu/ • Falcons (IWS, China) • Sindice (DERI, Ireland) • Watson (Open University, UK) • MicroSearch (Yahoo, Spain)