DLR-SC / prov-db-connector

PROV Database Connector

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add DB adaptor for RedisGraph

onyame opened this issue · comments

Adaptor to store PROV in RedisGraph (https://oss.redislabs.com/redisgraph/)

Nice I will look into that if I have some time during the holidays! 👍

Thanks, Andreas, for the hint with the module. I think this could be a great new feature for the lib.

I evaluated the current status of the Redis graph project and created a minimal implementation of the Redis adapter. The technology is promising but in an early stage of development. I want to share some thoughts I had during the implementation :

  • No stable docker image redislabs/redisgraph:edge needed to get it running / :latest is 4 months old
  • No stable python lib - I had to install it directly via git git+git://github.com/RedisGraph/redisgraph-py
  • Some Cypher features missing - see blocking issues

Todos

  • Proper session support (transactions?)
  • Redis authentication support (username / password)
  • Redis host / port via config instead of static values
  • Support merge feature (Curretly not possible)

Blocking issues

Currently, we need to rewrite the Chyper queries and rethink the logic in the adapter itself. That will be a lot of work if you like to support the full feature set. The other "solution" would be to wait a couple of months and hope that the Redis team will implement more Chyper features and solve some blocking issues.

I don't have the time to rewrite the whole adapter code, but If someone likes to deep dive into this, I'm happy to support it!
Otherwise, I will look into this again and provide an update In a couple of months.

There seems to be little activity in the RedisGraph repository. I don't think that RedisGraph will support the full feature set of cypher in the near future.

To implement this feature a valid option is to rewrite and rethink/optimize the queries itself. By using only the already provided features within RedisGraph

Update: The issue is still open but I requested an update.

Update: The issue is still open but I requested an update.