Using PubSubHubbub with Linked Data
Introduction
Here we demonstrate how to use Virtuoso's implementation of the draft PubSubHubBub Protocol to handle Linked Data.
We extend the idea of tracking a feed, to track Linked Data resource URIs.
To reveal the hub to subscribers, we suggest that Linked Data resources return the following HTTP header --
Link: <http://cname/psh/subscribe.vsp>; rel="hub"
-- or include the following in an HTML <head>
(or similar) element --
<link rel="hub" uri="http://cname/psh/subscribe.vsp">
Endpoints
Installing the pubsubhub_dav.vad
PubSubHubBub package on Virtuoso defines the following endpoints:
http://cname/psh/subscribe.vsp | subscription endpoint |
http://cname/psh/publish.vsp | publishing endpoint |
http://cname/psh/ | index to UI of the simple test clients |
http://cname/psh/callback.vsp | default built-in client callback endpoint |
Using the built-in demo client
- As a very first step, we use a simple client to subscribe to a SIOC document containing data for an ODS-Weblog.
In our tests, we subscribe to the Linked Data document
<http://ec2-174-129-156-25.compute-1.amazonaws.com/dataspace/demo/weblog/demo%27s%20Weblog/sioc.rdf>
.
- The Weblog post looks like this:
- During the subscription process, the client gets the initial state of the SIOC feed.
We can execute the following query to see all post titles:
- The title of the existing Weblog post may be found in the result of that query:
- Next, we add a new blog post to force a change to the SIOC data:
- Using a simple publishing UI, we notify the Hub the data has changed:
- The Hub takes the delta and notifies the subscribers:
- We re-execute the same SPARQL query as in the earlier step, and now we can see the data includes the title of the new blog post:
Related