Virtuoso Graph Replication Guide
Introduction
The following guide demonstrates how to replicate graphs from one Virtuoso instance to (an)other Virtuoso instance(s), using the RDF Replication Feature.
Terms used in this guide:
- Host Virtuoso Instance, aka the publisher: the instance where we will insert RDF data into a Named Graph; then create a publication of this graph.
- Destination Virtuoso Instance, aka the subscriber: the instance which will subscribe to the publication from the Host Virtuoso Instance.
The basic outline:
- First, use the Virtuoso Conductor on a Host Virtuoso Instance to publish a named graph.
- Then, use the Virtuoso Conductor on a Destination Virtuoso Instance to subscribe to deltas from the published graph.
- Finally, see how a change in the publisher's graph will appear in the subscriber's graph.
Replication Topologies
Typical replication topologies are Chains, Stars, and Bi-directional. These (and many others) can be achieved with Virtuoso, by setting each relevant node to "Publish" and/or "Subscribe".Star Replication Topology
In a Star, there is one Publisher, and many Subscribers.
To set up a Star Replication:
- Configure Instance #1 to Publish.
- Configure Instance #2 to Subscribe to #1.
- Configure Instance #3 to Subscribe to #1.
- Repeat as necessary.
Example
Chain Replication Topology
In a Chain, there is one original Publisher, to which there is only one Subscriber. That Subscriber may also serve as a Publisher, again with only one Subscriber. The chain ends with a Subscriber which does not Publish.
To set up a Chain Replication:
- Configure Instance #1 to Publish.
- Configure Instance #2 to Subscribe to #1.
- Configure Instance #2 to Publish.
- Configure Instance #3 to Subscribe to #2.
- Configure Instance #3 to Publish.
- Repeat as necessary.
Examples
Bi-directional Replication Topology
In a bi-directional topology, there are 2 instances, each of which is both a Publisher and a Subscriber.
To set up a Bi-directional Replication:
- Configure Instance #2 to Publish.
- Configure Instance #1 to Subscribe to #2.
- Configure Instance #1 to Publish.
- Configure Instance #2 to Subscribe to #1.
- Repeat as necessary.
Example
Related
- Example of Linked Data Usage of PubSubHubbub Implementation
- Exploit Virtuoso's Replication Functionality Web based Solutions
- Diagrams of Virtuoso Shared-Nothing Elastic Clustering