activegraph icon indicating copy to clipboard operation
activegraph copied to clipboard

Support for other Cypher DBs

Open ghost opened this issue 4 years ago • 4 comments

[This is a query rather than an issue, please close if that's a problem (I can't log-in to gitter as it only supports OAuth and my accounts which support that would not allow its requested permissions).]

Would there be any interest in PRs which add support for other Cypher Graph DBs?

One would need some mechanism for handling the peculiarities of particular DBs, something like

case DBType.name
when :neo4j
  def indexes_cypher
    "CALL(db.indexes)"
  end
when :otherdb
  def indexes_cypher
    "SHOW INDEX INFO"
  end
end

Would there be a preferred mechanism?

ghost avatar Jul 02 '20 13:07 ghost

@jjg-dressipi thanks for the initiative. Do you think the major compatibility problems are at that high level? The 1st thing I would investigate is if neo4j-ruby-driver can be used or a completely new driver has to be written.

klobuczek avatar Jul 10 '20 04:07 klobuczek

That does seem to be the case, I have a fork of activegraph here which runs against the Memgraph DB and using the seabolt driver (in fact a minor bugfix is needed, PR here), I can run the test-suite and at the moment have 97% of the tests passing. The code in my branch is a bit messy, done in a hurry, but could be made more consistent; hence my query.

ghost avatar Jul 10 '20 07:07 ghost

thx @jjg-dressipi good find. Unfortunately, nobody at neo4j is maintaining seabolt anymore. So there is nobody to accept those PRs. If I asked maybe they would give me access, but I am not ready to take yet another piece of work. If you want to team up on that and maintain seabolt than it could work. Alternatively, I think we can fix the seabolt error in neo4j-ruby-driver by implementing the entire none method. What would be good is if you could add to travis (https://github.com/neo4jrb/neo4j-ruby-driver/blob/master/.travis.yml) the option to run specs on Memgraph DB.

klobuczek avatar Jul 10 '20 16:07 klobuczek

@klobuczek , thanks for your response. How strange that Neo4j has abandoned this key piece of infrastructure! I'm not sure that I'd be the best person to take this over though, this is a work thing (so I'd need permission from work to spend time on it) and I have a horror of CMake, I'd feel compelled to replace it with autoconf and make, and then other people would become upset :smile:

As to the alternatives, that could be good -- I have other commitments at the moment but will look at the travis setup as soon as those are done. And for the re-implementation of none, perhaps I should raise an issue against neo4j-ruby-driver?

ghost avatar Jul 14 '20 09:07 ghost