two webs! : combining the best of web 1.0, web 2.0 and the semantic web
DESCRIPTION
Slides from invited talk at Scripting for the Semantic Web SFSW2007 Workshop at ESW2007. Considering how the old Agent abstraction might be applied to reduce the conceptual complexity of modern Web systems (especially semweb systems).TRANSCRIPT
Two Webs!
Danny Ayers, 2007
Scripting for the Semantic Web Workshop
(“So where are the agents?”)
Web 2.0?
REST
OWL
URIsHTTP
XML
RDFWebArch
HTMLLinks
Data
The Web
href
<a href=”documentB.html”>Another Doc</a>
documentA.html
documentB.html
representation
href
http://example.org/resourceA http://example.org/resourceB
representation
href
Source : http://opte.org
The Semantic Web
http://example.org/resourceA
http://www.w3.org/2000/01/rdf-schema#seeAlso
http://example.org/resourceB
<http://example.org/resourceA> <http://www.w3.org/2000/01/rdf-schema#seeAlso>
<http://example.org/resourceB> .
resourceA resourceB
representation representation
href:resourceA
rdfs:seeAlso:resourceB
:resourceA :resourceB
representation representation
rdfs
resourceA resourceB
representation representation
href
:resourceA :resourceB
representation
rdfs:seeAlso
:resourceArdfs:seeAlso:resourceB
The Web
The Semantic Web
href
http://example.org/resourceA
representation
Resource
A Resource has a set of Representations of different (media) types [WebArch]
Rp Rp Rp
representationrepresentation
representation
mT mT mT
mediaType mediaType mediaType
mT1 = text/htmlmT2 = image/jpegmT3 = application/rdf+xml
IdealResource
Rp Rp Rp
representation representation representation
Individual representations of a resource aren't necessarily “complete”
R
Representations may change over time
Rp0 Rp1 Rp2
representationat time t0 representation
at time t1
representationat time t2
text/html text/html text/html
mediaType mediaType mediaType
<http://example.org/resourceA> <http://www.w3.org/2000/01/rdf-schema#seeAlso>
<http://example.org/resourceB> .
R
One or more of the Representations may describe a Graph [RDF]
Rp
representation
application/rdf+xml
mediaType
describes
R
Rp
representation
application/rdf+xml
mediaType
describes
Server
Client
View
ServerServer
Data Processes
Server
Client
View
Web 2.0?
Data Processes
Server
Client
DataProcesses
View
ServerServer
Tyranny of the
Browser
The Web
The Semantic Web
<a href=”documentB.html”>Another Doc</a>
documentA.html documentB.html
html:href a rdf:Property .
documentA.html html:href documentB.html .
Model
Resources
Representations
HTTP Processes
“So where are the agents?”- Jim Hendler
9thLife
Things that look like they work in virtual worlds
* Commerce (supports micropayments)
* Intellectual Property (everyone owns what they build)
* Open Source (between participants)
Source: http://home1.gte.net/pfingar/doc_mag2_f4.gif via Google Images
BehaviourRDFModel
HTTPClient
HTTPServer
Comms Bus
(The Web)
HTTPClient
Comms Bus
(The Web)View
GET /index.html HTTP/1.1Host: elsewhere.orgLink: <http://mysite.org/foaf.rdf>; rel="foaf"
<http://mysite.org/foaf.rdf#me> a :Person ;
:holdsAccount [ a :OnlineAccount ; :accountServiceHomepage <http://openid.net> ; openid:server <http://www.myopenid.com/server> ; openid.delegate <http://me.myopenid.com/"> ] .
BehaviourRDFModel
HTTPClient
HTTPServer
Comms Bus
(The Web)View
BehaviourRDFModel
HTTPClient
HTTPServer
Comms Bus
(The Web)View
What does any of this
have to do with Scripting?!
BehaviourRDFModel
HTTPClient
HTTPServer
Comms Bus
(The Web)
RDFModel
HTTPClient
HTTPServer
handle(request) {
data = model.query(request)
if(data != null){
return format(data)
}else {
other_source = model.lookup(request)
data = get(other_source, request)
}
return format(data)
Possible Issues
* need for async behaviour within request/response cycle
* system-level concurrency is unreliable?
* does messaging over HTTP even make sense?
* need for async behaviour within request/response cycle
- threads, message queues! tools are available, e.g. Quartz
* system-level concurrency is unreliable?
- the system is the Web live with unreliability!
Does messaging over HTTP make sense?
does RPC/SOAP? - occasionally (when you control both ends of the wire)
does RSS/Atom syndication? - server push can be simulated through polling
Reliable messaging can be done, e.g. HTTPLR
Semantic Web
WebDocs
SQLDBs
XMLFormats
OtherProtocols
= ConverterToRdf
BehaviourRDFModel
HTTPClient
HTTPServer
Comms Bus
(The Web)
Other Data
Semantic Web
WebDocs
SQLDBs
XMLFormats
OtherProtocols
= ConverterFromRdf
Model
Resources
Representations
HTTP Processes
One Web!
http://talis.com
Semantic Web Application Platform
Thank you!
These slides online :http://dannyayers.com/sfsw2007/slides