Triplestore replicator
View Patent ↗This invention relates to a system, method and computer program product for replicating triplestore data from generic data records including: a plurality of triplestore mapping operations; a record reader for listening for data events from the generic data record and for matching each data event to one or more triplestore mapping operations; a processor for generating equivalent triples for each located data event by applying the matched triplestore mapping operation; and a data sink for receiving generated equivalent triples so that the triplestore data is synchronized in real time with the generic data records.
1. A system for replicating triplestore data from generic data records comprising:
a computing processor; and
a computer readable medium having program instructions embodied therewith, the program instructions executable by the computing processor to cause the computing processor to implement:
a plurality of triplestore mapping operations;
a record reader for listening for data events from the generic data record and for matching each data event to one or more triplestore mapping operations;
a processor for generating equivalent triples for each located data event by applying the matched triplestore mapping operation, the application of the triplestore mapping operation comprising determining if a mapping includes a structured query language (SQL) expression and on condition that the mapping includes a SQL expression, calling a SQL processing engine to process the SQL expression but otherwise performing the generation of the equivalent triples directly in memory; and
a data sink for receiving generated equivalent triples so that the triplestore data is synchronized in real time with the generic data records.
2. The system of claim 1 , wherein the triplestore database comprises one of: a triplestore data sink; a triplestore database system; storage queue; or an extract transform load (ETL) queue.
3. The system of claim 1 , wherein two or more triples are created for each data event according to relational database to resource descriptor framework mapping language (R2RML) mappings.
4. The system of claim 3 , wherein the data event is one or more of:
an insert event;
a delete event; or
an update event.
5. The system of claim 1 , wherein triplestore data is injected into the triplestore storage using a known application programming interface (API).
6. The system of claim 1 , wherein data events include events from one or more of the following:
database replication;
data modification;
change data capture (CDC) events;
events from platform message queues or virtual machine queues;
events from extract transfer load (ETL) jobs;
events from structured query language (SQL) replication; and
events from any streaming technology.
7. The system of claim 1 , wherein the method is scaled for listening to multiple data event sources simultaneously.
8. A method of replicating a triplestore data from generic data records, implemented by a computing processor, comprising:
listening for data events from the generic data record;
matching each data event to a triplestore mapping operation;
generating equivalent triples for each located data event by applying the triplestore mapping operation, the application of the triplestore mapping operation comprising determining if a mapping includes a structured query language (SQL) expression and on condition that the mapping includes a SQL expression, calling a SQL processing engine to process the SQL expression but otherwise performing the generation of the equivalent triples directly in memory; and
pushing the generated equivalent triples into a triplestore data sink so that the triplestore data is synchronized in real time with the generic data records.
9. The method of claim 8 , wherein the triplestore database comprises one of: a triplestore data sink; a triplestore database system; storage queue; or an extract transform load (ETL) queue.
10. The method of claim 8 , wherein two or more triples are created for each data event according to relational database to resource descriptor framework mapping language (R2RML) mappings.
11. The method of claim 10 , wherein the data event is one or more of:
an insert event;
a delete event; or
an update event.
12. The method of claim 8 , wherein triplestore data is injected into the triplestore storage using a known application programming interface (API).
13. The method of claim 8 , wherein data events include events from one or more of the following:
database replication;
data modification;
change data capture (CDC) events;
events from platform message queues or virtual machine queues;
events from extract transfer load (ETL) jobs;
events from structured query language (SQL) replication; and
events from any streaming technology.
14. The method of claim 11 , wherein the method is scaled for listening to multiple data event sources simultaneously.
15. A computer program product for replicating a triplestore data from a generic data record, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:
listening for data events from the generic data record;
matching each data event to a triplestore mapping operation;
generating equivalent triples for each located data event by applying the triplestore mapping operation, the application of the triplestore mapping operation comprising determining if a mapping includes a structured query language (SQL) expression and on condition that the mapping includes a SQL expression, calling a SQL processing engine to process the SQL expression but otherwise performing the generation of the equivalent triples directly in memory; and
pushing the generated equivalent triples into a triplestore data sink so that the triplestore data is synchronized in real time with the generic data records.