PlumTreeSystems/neo4j-bolt-php

Bolt + routing

Opened this issue · 8 comments

Hi guys!
Just to confirm. Does this library version work with bolt+routing scheme?

Not yet, but you're welcome to submit a PR. Personally I'm not too interested in writing support for cluster features since I don't use those and its hard to write test for them, but this might change in the future.

@matas-valuzis I'd love to but have no experience in writing a driver (yet). Do you maybe have any suggestions where to look at to be able to add new protocols?

@GinoPane I think best place to start is to take a look at existing driver implementation (i.e js driver). After having a clear vision how it should work, write some tests for it. If you manage to set up proper tests I can help you with the rest.

Hi, using: CALL dbms.cluster.overview() you can return LEADER server, and you can use it... but it not is routing :(

I am trying implement it too, have you any progress @GinoPane ?
Any help more, @matas-valuzis ?

Thanks!

hi again, i think that the decision about what server from cluster use is from neo-client, not neo-bolt, i have added this feature to my connection: https://github.com/hidabe/neo4j-php-client/blob/master/src/Connection/Connection.php it work using "bolt+routing" in schema uri

@hidabe tbh I got routing logic wrong and I imagined that routing is done automatically by neo4j itself when we specify bolt+routing and we just need to send requests in some "special" way using the driver

Thanks @GinoPane, what do you thing of the solution of my proposal? Is it responsability of client (no neo4j-bolt driver)? What do you thing? Regards

@hidabe if we refer to Neo4j itself, routing should be done in driver. But in our case this package and relevant client are implemented in a way when routing via client seems feasible.