I'm very interested in the approach proposed by
graph computer as it fills the gap of running graph algorithms that are otherwise very expensive to run via the standard traverser. At the same time, I'm a bit confused by how someone would implement a data pipeline that starts with Neo4j as the OLTP graph and ends in a graph that supports graph computers.
At the beginning I just thought I could do
graph.compute().program(PageRankVertexProgram.build().create()).submit().get()
on a Neo4jGraph but it turns out that doesn't seem to be the way things work...
I can only see two ways around this:
- doing some ETL to move the graph in Neo4j to either TinkerGraph or HadoopGraph, which have a GraphComputer implementation
- write a Neo4jGraphComputer implementation, although I'm not sure distributed graph computations make a lot of sense there
Another approach I had been looking at a while back was to ETL the Neo4j graph to Spark's GraphX and implement traversals there. This would effectively bypass TinkerPop; I'd be interested in hearing from people that have evaluated this option in comparison to the above.
Hope this makes sense somehow, thanks!
F