Decoupling to an RDBMS + RDF hybrid implementation

13 views
Skip to first unread message

Ray Rashif

unread,
May 22, 2018, 4:37:33 AM5/22/18
to Empire

I've done a migration via Empire from an RDBMS to Sesame in the past, including a step where I was persisting to both, and it went quite well.

I'm curious to know a brief summary of this. I have been trying to arrive at a "good" approach/design/architecture in a Spring-Jersey app.

Originally it was just an RDF service, consuming and producing JSON while persisting RDF only, for almost everything. But I realized SPARQL is not performant in many of our use cases, and we are in the process of first migrating to Spring (keeping Jersey for the interim), and then implement some sort of parallel RDF write for each service/entity.

But with the myriad of ways data is submitted, especially wrt nested objects and relationships, I am foreseeing some difficulty maintaining CRUD synchronization. An alternative of course is to find a way to do the synchronization with for e.g. D2RQ, but I'm not yet sure how feasible or efficient that would be.

Btw, not sure if this is still the right channel, or if Empire is still getting attention. I saw Stardog's discussion channel moved to a community subdomain, and I no longer am able to access the Gitter channel (the existing ones don't look like I ever visited them).

Michael Grove

unread,
May 22, 2018, 6:36:42 AM5/22/18
to empir...@googlegroups.com
On Tue, May 22, 2018 at 4:37 AM, Ray Rashif <schivm...@gmail.com> wrote:

I've done a migration via Empire from an RDBMS to Sesame in the past, including a step where I was persisting to both, and it went quite well.

I'm curious to know a brief summary of this. I have been trying to arrive at a "good" approach/design/architecture in a Spring-Jersey app.

Empire was built as part of a Play! framework based application, there's a complementary piece Imperium [1] that glued the two together. The app used only the well trodden pathways of Hibernate via Play! such that I was not running into any of the obviously RDBMS specific parts of the library. It was trivial to switch between the two different backends via configuration.
 

Originally it was just an RDF service, consuming and producing JSON while persisting RDF only, for almost everything. But I realized SPARQL is not performant in many of our use cases, and we are in the process of first migrating to Spring (keeping Jersey for the interim), and then implement some sort of parallel RDF write for each service/entity.

What backend are you using?
 

But with the myriad of ways data is submitted, especially wrt nested objects and relationships, I am foreseeing some difficulty maintaining CRUD synchronization. An alternative of course is to find a way to do the synchronization with for e.g. D2RQ, but I'm not yet sure how feasible or efficient that would be.

I know at least one person that has used D2RQ successfully, but, afaik, it's a dead project.
 

Btw, not sure if this is still the right channel, or if Empire is still getting attention. I saw Stardog's discussion channel moved to a community subdomain, and I no longer am able to access the Gitter channel (the existing ones don't look like I ever visited them).

I'm still answering questions (obviously), and I have stuff I would like to put into Empire, foremost switching out it's internals for Pinto, but I don't have the bandwidth to do that in the foreseeable future.

Cheers,

Mike

 

--
You received this message because you are subscribed to the Google Groups "Empire" group.
To unsubscribe from this group and stop receiving emails from it, send an email to empire-rdf+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages