Using PubSubHubbub with Linked Data


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">


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

  1. 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 <>.

  2. The Weblog post looks like this:

  3. 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:

  4. The title of the existing Weblog post may be found in the result of that query:

  5. Next, we add a new blog post to force a change to the SIOC data:

  6. Using a simple publishing UI, we notify the Hub the data has changed:

  7. The Hub takes the delta and notifies the subscribers:

  8. 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: