This HTML5 document contains 34 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

PrefixNamespace IRI
dctermshttp://purl.org/dc/terms/
atomhttp://atomowl.org/ontologies/atomrdf#
foafhttp://xmlns.com/foaf/0.1/
n13http://vos.openlinksw.com/dataspace/services/wiki/
oplhttp://www.openlinksw.com/schema/attribution#
n2http://vos.openlinksw.com/dataspace/owiki/wiki/VOS/
dchttp://purl.org/dc/elements/1.1/
n7http://vos.openlinksw.com/dataspace/dav#
rdfshttp://www.w3.org/2000/01/rdf-schema#
n12http://rdfs.org/sioc/services#
siocthttp://rdfs.org/sioc/types#
n17http://vos.openlinksw.com/dataspace/person/dav#
n8http://ods.openlinksw.com/wiki/ODS/
n4http://vos.openlinksw.com/wiki/main/VOS/VirtGraphReplicationPSQL/topo-chain.
n11http://vos.openlinksw.com/dataspace/owiki/wiki/VOS/VirtGraphReplicationPSQL/sioc.
n5http://vos.openlinksw.com/dataspace/owiki/wiki/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
n6http://vos.openlinksw.com/dataspace/owiki#
xsdhhttp://www.w3.org/2001/XMLSchema#
n9http://vos.openlinksw.com/dataspace/%28NULL%29/wiki/VOS/
n18http://vos.openlinksw.com/dataspace/person/owiki#
siochttp://rdfs.org/sioc/ns#
Subject Item
n17:this
foaf:made
n2:VirtGraphReplicationPSQL
Subject Item
n7:this
sioc:creator_of
n2:VirtGraphReplicationPSQL
Subject Item
n13:item
n12:services_of
n2:VirtGraphReplicationPSQL
Subject Item
n6:this
sioc:creator_of
n2:VirtGraphReplicationPSQL
Subject Item
n5:VOS
sioc:container_of
n2:VirtGraphReplicationPSQL
atom:entry
n2:VirtGraphReplicationPSQL
atom:contains
n2:VirtGraphReplicationPSQL
Subject Item
n2:VirtGraphReplicationPSQL
rdf:type
atom:Entry sioct:Comment
dcterms:created
2017-06-13T05:46:18.903431
dcterms:modified
2017-06-29T07:37:41.579458
rdfs:label
VirtGraphReplicationPSQL
foaf:maker
n17:this n18:this
dc:title
VirtGraphReplicationPSQL
opl:isDescribedUsing
n11:rdf
sioc:has_creator
n6:this n7:this
sioc:attachment
n4:png
sioc:content
%META:TOPICPARENT{name="VirtGraphReplication"}% ---+How to set up RDF Replication via procedure calls %TOC% ---++ Introduction The following example shows how to use SQL procedures to set up Virtuoso RDF Graph Replication in a Chain Topology. %BR%%BR%<img src="%ATTACHURLPATH%/topo-chain.png" />%BR%%BR% This can also be done [[VirtGraphReplicationChain][through the HTTP-based Virtuoso Conductor]]. ---++Prerequisites ---+++Database INI Parameters Suppose there are 3 Virtuoso instances on the same machine. The first instance holds the master copy of the data and publishes its changes to all other instances that subscribe to this master. The second instance subscribes to the publication of the master copy, but also publishes all of these changes to any instance that subscribes to it. The third instance only subscribes to the publication of the second instance. Each of these 3 servers need unique ports and ServerName, DefaultHost for this replication scheme to work properly. Although not needed, this example also sets separate names for the database and related files. This results in the following ini parameters values (only changes are shown, the rest can remain default): 1. repl1/virtuoso.ini: <verbatim> ... [Database] DatabaseFile = virtuoso1.db TransactionFile = virtuoso1.trx ErrorLogFile = virtuoso1.log ... [Parameters] ServerPort = 1111 SchedulerInterval = 1 ... [HTTPServer] ServerPort = 8891 ... [URIQA] DefaultHost = localhost:8891 ... [Replication] ServerName = db1-r ... </verbatim> 1. repl2/virtuoso.ini: <verbatim> ... [Database] DatabaseFile = virtuoso2.db TransactionFile = virtuoso2.trx ErrorLogFile = virtuoso2.log ... [Parameters] ServerPort = 1112 SchedulerInterval = 1 ... [HTTPServer] ServerPort = 8892 ... [URIQA] DefaultHost = localhost:8892 ... [Replication] ServerName = db2-r ... </verbatim> 1. repl3/virtuoso.ini: <verbatim> ... [Database] DatabaseFile = virtuoso3.db TransactionFile = virtuoso3.trx ErrorLogFile = virtuoso3.log ... [Parameters] ServerPort = 1113 SchedulerInterval = 1 ... [HTTPServer] ServerPort = 8893 ... [URIQA] DefaultHost = localhost:8893 ... [Replication] ServerName = db3-r ... </verbatim> ---+++Database DSNs Use the ODBC Administrator on your Virtuoso host (e.g., on Windows, *Start* menu -> *Control Panel* -> *Administrative Tools* -> <b>Data Sources (ODBC)</b>; on Mac OS X, <code><nowiki>/Applications/Utilities/OpenLink ODBC Administrator.app</nowiki></code>) to create a System DSN for each of db1, db2, db3, with names db1, db2 and db3, respectively. ---++Configure Publishers and Subscribers 1. Run the databases by starting start.sh, which has the following content: <verbatim> cd repl1 virtuoso -f & cd ../repl2 virtuoso -f & cd ../repl3 virtuoso -f & cd .. </verbatim> 1. Use the <tt>isql</tt> command to execute the following rep.sql file: <verbatim> -- -- connect to the first database which is only a publisher -- set DSN=localhost:1111; reconnect; -- -- start publishing the graph http://test.org --- DB.DBA.RDF_REPL_START(); DB.DBA.RDF_REPL_GRAPH_INS ('http://test.org'); -- -- connect to the second database in the chain, which is both a publisher and a subscriber -- set DSN=localhost:1112; reconnect; -- -- start publishing the graph http://test.org -- DB.DBA.RDF_REPL_START(); DB.DBA.RDF_REPL_GRAPH_INS ('http://test.org'); -- -- contact the first database -- repl_server ('db1-r', 'db1', 'localhost:1111'); -- -- subscribe to its RDF publication(s) -- repl_subscribe ('db1-r', '__rdf_repl', 'dav', 'dav', 'dba', 'dba'); -- -- bring the replication service online -- repl_sync_all(); -- -- and set scheduler to check every minute -- DB.DBA.SUB_SCHEDULE ('db1-r', '__rdf_repl', 1); -- -- connect to the third database in the chain, which is only a subscriber -- set DSN=localhost:1113; reconnect; -- -- uncomment next 2 commands if this database should also be a publisher -- --DB.DBA.RDF_REPL_START(); --DB.DBA.RDF_REPL_GRAPH_INS ('http://test.org'); -- -- contact second database -- repl_server ('db2-r', 'db2', 'localhost:1112'); -- -- subscribe to its RDF publication(s) -- repl_subscribe ('db2-r', '__rdf_repl', 'dav', 'dav', 'dba', 'dba'); -- -- bring the replication service online -- repl_sync_all(); -- -- and set schedule to check every minute -- DB.DBA.SUB_SCHEDULE ('db2-r', '__rdf_repl', 1); </verbatim> ---++Related * [[VirtGraphReplicationStar][Replication Example: Star Topology]] * [[VirtGraphReplicationChain][Replication Example: Chain Topology]] * [[VirtGraphReplicationBiDirectional][Replication Example: 2-node Bi-directional Topology]] * [[http://ods.openlinksw.com/wiki/ODS/VirtPubSubHub][Example of Linked Data Usage of PubSubHubbub Implementation]] * [[VirtRdfReplScenarios][Exploit Virtuoso's Replication Functionality Web based Solutions]]
sioc:id
7dbee8b256b7e0f0d42b6e392928e487
sioc:link
n2:VirtGraphReplicationPSQL
sioc:has_container
n5:VOS
n12:has_services
n13:item
atom:title
VirtGraphReplicationPSQL
sioc:links_to
n8:VirtPubSubHub n9:DefaultHost n9:ServerName
atom:source
n5:VOS
atom:author
n17:this
atom:published
2017-06-13T05:46:18Z
atom:updated
2017-06-29T07:37:41Z
sioc:topic
n5:VOS
Subject Item
n2:VirtRdfReplScenarios
sioc:links_to
n2:VirtGraphReplicationPSQL