I've been using neo4j for a little while now, and come across an issue with performance.

I've got a situation where I'm (essentially) modelling a cellular automata in a graph database. It isn't as simple as GoL and requires a lot of data which is why I opted for a graph database. But similar to a cellular automata nodes are connected to their neighbours and calculate their state based on the state of their neighbours.

As such I want a system like this:

```
TriggerNode --> CalculatesValue --> TriggersEventToNeighbours
ListeningNeighbour --> CalculatesValue --> TriggersEventToTheirNeighbours
ListeningNeighbour --> CalculatesValue --> TriggersEventToTheirNeighbours
ListeningNeighbour --> CalculatesValue --> TriggersEventToTheirNeighbours
...

```

In Neo4j however, using the various drivers, I can see that there will be huge amount of communication overhead between my programming environment and the database via the socket protocol.

I'm looking to eliminate this overhead.

Is there a Neo4j driver which has no performance overhead while going from `node-->relationship-->node`? If not, is there another graph database out there which can be used in this fashion?