%META:TOPICPARENT{name="VOSIndex"}% ---+ Using PubSubHubbub with Linked Data %TOC% ---++ Introduction Here we demonstrate 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 suggest that Linked Data resources return the following HTTP header -- Link: ; rel="hub" -- or include the following in an HTML <head> (or similar) element -- ---++ Endpoints Installing the [[https://virtuoso.openlinksw.com/download/][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 <[[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 looks like this: %BR%%BR%%BR%%BR% 1 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: %BR%%BR%%BR%%BR% 1 The title of the existing Weblog post may be found in the result of that query: %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 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: %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/VirtSPARQLEndpointProtection][Safeguarding your Virtuoso-hosted SPARQL Endpoint]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtTipsAndTricksGuideSPARQLEndpointProtection][SPARQL Endpoint Protection Methods Collection]] * [[http://docs.openlinksw.com/virtuoso/][Virtuoso documentation]] * [[http://docs.openlinksw.com/virtuoso/rdfsparql.html#rdfsupportedprotocolendpoint][SPARQL Service Endpoint]] * [[http://docs.openlinksw.com/virtuoso/rdfsparql.html#rdfsupportedprotocolendpointuri][Service Endpoint Security]] * [[http://docs.openlinksw.com/virtuoso/rdfsparql.html#sparqwebservicetbl][Managing a SPARQL Web Service Endpoint]] * [[http://docs.openlinksw.com/virtuoso/rdfsparql.html][SPARQL]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtTipsAndTricksGuide][Virtuoso Tips and Tricks Collection]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSPARQLDET][SPARQL Endpoint DET Configuration Guide]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSPARQLSecurityWebID][WebID Protocol & SPARQL Endpoint ACLs Tutorial]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtOAuthSPARQL][SPARQL OAuth Tutorial]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtTipsAndTricksGuideSPARQLEndpoints][Securing SPARQL endpoints]] * [[OdsSPARQLAuth][SPARUL over SPARQL using the http://cname:port/sparql-auth endpoint]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAuthServerUI][Virtuoso Authentication Server UI]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSPARQLSSL][Manage a SPARQL-WebID based Endpoint]] * [[VirtODSSecurityWebID][WebID Protocol Support in OpenLink Data Spaces]]. * Manage ODS Datadspaces Objects WebID Access Control Lists (ACLs): * [[ODSBriefcaseWebID][ODS Briefcase WebID based ACL Guide]] * [[ODSBriefcaseWebIDPerson][Person Entity WebID based ACL Guide]] * [[ODSBriefcaseWebIDGroup][Group Entity WebID based ACL Guide]] * [[ODSBriefcaseWebIDPublic][Public WebID based ACL Guide]] * [[ODSFeedManagerWebIDACL][ODS Feed Manager WebID based ACL Guide]] * [[ODSFeedManagerWebIDACLPerson][Person Entity Specific ACL]] * [[ODSFeedManagerWebIDACLGroup][Group Entity Specific ACL]] * [[ODSFeedManagerWebIDACLPublic][Public Specific ACL for anyone with a WebID]] * [[ODSCalendarWebIDACL][ODS Calendar WebID based ACL Guide]] * [[ODSCalendarWebIDACLPerson][Person Entity Specific ACL]] * [[ODSCalendarWebIDACLGroup][Group Entity Specific ACL]] * [[ODSCalendarWebIDACLPublic][Public Specific ACL for anyone with a WebID]] * [[ODSBookmarksWebIDACL][ODS Bookmark Manager WebID based ACL Guide]] * [[ODSBookmarksWebIDACLPerson][Person Entity Specific ACL]] * [[ODSBookmarksWebIDACLGroup][Group Entity Specific ACL]] * [[ODSBookmarksWebIDACLPublic][Public Specific ACL for anyone with a WebID]] * [[ODSAddressBookWebIDACL][ODS Addressbook WebID based ACL Guide]] * [[ODSAddressBookWebIDACLPerson][Person Entity Specific ACL]] * [[ODSAddressBookWebIDACLGroup][Group Entity Specific ACL]] * [[ODSAddressBookWebIDACLPublic][Public Specific ACL for anyone with a WebID]] * [[ODSPkiSetup][Guide for Set up a X.509 certificate issuer and HTTPS listener and generate ODS user certificates]] * [[ODSSetupSSL][Configure Virtuoso+ODS instance as an X.509 Certificate Authority and HTTPS listener]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSetupSSL][Configure Virtuoso instance as an X.509 Certificate Authority and HTTPS listener]] * [[OdsKeyImport][CA Keys Import using Conductor]] * [[ODSGenerateX509Certificate][Generate an X.509 Certificate hosted WebID Guide]] * [[ODSGenerateWebIDX509CertOSKeystore][Generate an X.509 Certificate (with a WebID watermark) to be managed by host operating system keystore]] * [[ODSGenerateWebIDX509CertBrsKeystore][Generate an X.509 Certificate (with a WebID watermark) to be managed by a browser-based keystore]] * [[ODSWebIDIdP][Using Virtuoso's WebID Verification Proxy Service with a WebID-bearing X.509 certificate]] * [[ODSWebIDIdpProxy][Using Virtuoso's WebID Identity Provider (IdP) Proxy Service with an X.509 certificate]] * [[ODSBriefcaseWebIDShareFile][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]]