Graph algorithms


(Stu V Kerr) #1

Previously working Louvain queries no longer work on new graph algo version 3.4.7.0 (Using Neo4j version 3.4.0.1). Here is the error:

Neo.ClientError.Statement.SyntaxError: Unknown procedure output: community (line 7, column 14 (offset: 257)) "YIELD nodeId,community"

Doesn't seem to understand how to yield 'community' anymore.....


(Andrew Bowman) #2

You can check the signature of procedures and functions to see what variables can be yielded:

call dbms.procedures() yield name, signature
where name contains 'louvain'
return *

Looking at the signature for algo.louvain.stream(), it looks like 'communities' is the variable yielded.


(Michael Hunger) #3

Or just CALL algo.list('louvain')


(Michael Hunger) #4

This is a regression, the "community" field should still be there.


(Stu V Kerr) #5

"algo.louvain.stream" "algo.louvain.stream(label = :: STRING?, relationship = :: STRING?, config = {} :: MAP?) :: (nodeId :: INTEGER?, communities :: LIST? OF INTEGER?)"

Actually, it now appears to be "communities" instead of previous "community"


(Michael Hunger) #6

We'll change it to be backwards compatible.