Are you ready for Cloud Computing?
Download
Report
Transcript Are you ready for Cloud Computing?
IEEE Computer Society and
GBC/ACM
June 18th 2009
By
Rohit Bhardwaj
Principal Software Engineer
[email protected]
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
SOA
Mainframes
Client Server
3
Interoperability of data
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 to create new Plants
RAW
DATA
NOW
Raw Data to create Eco-System
Linked Data Principles
1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those
names
3. When someone looks up a URI, provide useful
RDF information
4. 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
Computer understands (RDFa)
meaning of web page
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
Semantic Web Overview
Technologies
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
MADONNA
LIKES
Object
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
Subject
LIKES
Predicate
SINGING
Object
Vocabulary : FoaF
Britney
KNOWS
Madonna
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
NAME
Britney Spears
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
NAME
K
N
O
W
S
#Madonna
Britney
Spears
PERSON
NAME
Madonna
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 Example
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]
Example
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
FUZZ Firefox plug-in
FUZZ Plug-in
OpenLink Firefox Plug-in
Some more examples
http://richard.cyganiak.de/2007/10/lod/
http://www4.wiwiss.fu-
berlin.de/bizer/pub/lod-datasets_2009-0305.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)
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 Services
Semantic enrichment of Web Services
Semantic interoperability
Special ontologies developed for the description of
services: OWL-S, WSMO, …
service matchmaking to allow service discovery,
composition and execution
OWL-S
OWL ontology for describing services
OWL-S Matchmaking:
Description of input and output conditions as a concept
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
WS-Tenacity
SOA = WSDL + SOAP + UDDI
WS-Complexity
Real Complexity
Hard things hard
Artificial Complexity
Easy things are (still!) hard
WS-Inoperability
SOAP
Message-oriented request
Mixes verb space and content space (No nouns!)
WSDL
What You See Is What You Get
UDDI
Published metadata about service
Simultaneously complex and limited
WS-Flexibility
If you build it...
Amazon supports both SOAP-based and RESTful Web
Services
Developers have spoken (80-90% prefer REST)
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
REST is History
REST (REpresentational State Transfer)
Based largely on Roy Fielding’s Ph.D. thesis
Architectural style designed to promote
Performance
Scalability
Generality
Simplicity
Modifiability
Separation of Concerns
HTTP://REST.BLUEOXEN.NET/CGI-BIN/WIKI.PL?RESTTRIANGLE
Noun Space
Resources are an abstraction for what is available
Files
Generated Content
Computational Results
Concepts/Organizations/People
What comes back can change over time
Think about today’s /. Page
Verb Space
Constrained semantics for acting upon resources
Traditionally
GET
POST
PUT
DELETE
Allows intermediaries to apply security/caching
policies
REST Architecture
The Web as Model
Scalability
Addressability
Bookmarkability
Evolvable architecture
Simple, Generalized Model
Coordination on the Edge (Republishability)
Web Building Blocks
Standard URI Scheme addresses
Documents, Data, Services, Concepts
Logical resolution to concrete representation
Standard application protocols for manipulation
Standard metadata languages
Scalability
Content Negotiation
Access Control
Architectural Migration
RESTful Web Services
Putting the “Web” in Web Services
Reusing existing technologies
Simple things easy, hard thing possible
Can layer on complexity as necessary
Nothing necessarily to buy
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
Conclusion
Semantic web is future
RDFa and Ontology languages help computers
understand
REST is AN Answer
For architectural styles that support it, REST allows
systems to be simple but complete
Promotes separation of noun, verb and content spaces
for simplicity and extensibility
Systems built on principles of REST demonstrate great
scalability
Some 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
References
Roy Fielding’s Thesis http://tinyurl.com/cvamh
OpenLink Data Explorer 0.25 for firefox
http://microformats.org/about/
http://www.openstreetmap.org/
http://rdfa.info/about
http://www.dataportability.org/
Tabulator, Disco RDF Browser