Hello everyone,
I am facing a weird issue with Neo4j. I have a relatively large graph with about 2 million nodes, and I would like to run personalized pagerank on some lists of nodes. I use the following syntax to grab the nodes I need
MATCH (a:type {id:value})
MATCH (b:type {id:value2})
MATCH (c:type {id:value3})
.....
and it seems not to be working out well in terms of performance.
More specifically, fetching 500 nodes, even without feeding them to pagerank, takes about a minute, and 1000 takes about 10, which is not the linear increase I expected.
Using PROFILE reveals that cartesian products are formed, first for a, b then for a, b, c, etc. Given that id is a unique index and that I provide the right type of node, is this performance drop for multiple matches expected? If not, what could be the culprit?
Thanks in advance,
Alex