%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]]