%META:TOPICPARENT{name="VOSIndex"}%
---+Example of Linked Data Usage of PubSubHubbub Implementation
%TOC%
The following example demonstrates how to use Virtuoso's implementation of the [[http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html][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 propose Linked Data resources return the following HTTP header --
Link: ; rel="hub"
-- or include the following in an HTML <head&/lt; (or similar) element --
---++ Endpoints
The PubSubHubBub package installed on a system would define 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 |
---++ Example of use of 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 <[[http://ec2-174-129-156-25.compute-1.amazonaws.com/dataspace/demo/weblog/demo%27s%20Weblog/sioc.rdf][http://ec2-174-129-156-25.compute-1.amazonaws.com/dataspace/demo/weblog/demo%27s%20Weblog/sioc.rdf]]>.
%BR%%BR%%BR%%BR%
1 The Weblog post is as follows:
%BR%%BR%%BR%%BR%
1 During the subscription process, the client will get the initial state of the SIOC feed, so we can execute the following query to see all post titles:
%BR%%BR%%BR%%BR%
1 In the query result is the title of the existing Weblog post:
%BR%%BR%%BR%%BR%
1 Next we add a new blog post to force a change to the SIOC data:
%BR%%BR%%BR%%BR%
1 Using a simple publishing UI, we notify the Hub the data has changed:
%BR%%BR%%BR%%BR%
1 The Hub takes the delta and notifies the subscribers:
%BR%%BR%%BR%%BR%
1 Again we execute the same SPARQL query as in the earlier step, and now we can see the data contains the new blog post title:
%BR%%BR%%BR%%BR%
---++Related
* [[VirtODSPubSubHub][Setting up PubSubHub in ODS]]
* [[VirtFeedPubSubHub][Feed subscription via PubSubHub protocol Example ]]
* [[VirtPubSubHubACL][Setting Up PubSubHub to use WebID Protocol or IP based control lists]]
* [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtGraphReplication][Virtuoso Graph Replication Guide]]
* [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSPARQLSSL][Creating and Using a SPARQL-SSL based Endpoint]]
* [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAuthServerUI][Set WebID Protocol ACLs using the Virtuoso Authentication Server UI]]
* [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAuthFOAFSSLACL][WebID Protocol ACLs Tutorial]]
* [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtOAuthSPARQL][SPARQL OAuth Tutorial]]
* [[VirtODSFOAFSSL][WebID Protocol Support in OpenLink Data Spaces]]
* [[ODSPkiSetup][Guide to Setting up a X.509 certificate issuer and HTTPS listener and Generating ODS user certificates]]
* [[OdsKeyImport][CA Keys Import using Conductor]]
* [[ODSGenerateX509Certificate][Generate an X.509 Certificate hosted WebID Guide]]
* [[ODSBriefcaseFOAFSSLShareFile][ODS Briefcase WebID Protocol Share File Guide]]
* [[http://esw.w3.org/topic/foaf+ssl][WebID Protocol Specification]]
* [[https://foaf.me/simpleLogin.php][Test WebID Protocol Certificate page]]
* [[http://test.foafssl.org/cert/][WebID Protocol Certificate Generation page]]
* [[https://demo.openlinksw.com/sparql-ssl][Virtuoso Demo SPARQL-SSL Endpoint]]