neo4j-graph-algorithms
neo4j-graph-algorithms copied to clipboard
What is the function of graph type "kernel" and others
Hi,
I've been searching the docs, but haven't found anything on this. If I oversaw something, please link me there :)
I'm using version 3.5.4.1.
I tried writing my own implementation of shortestPath.deltaStepping and noticed in your tests that you are using three kernel types, i.e. light, heavy, kernel.
I don't quite understand their functions. I understand that you load a temporary projection of the database into memory and those graph types define how that projection looks like. What differences do they make? Where are their characteristics defined?
I have found the definition of the graph type huge here.
From experiments with my custom procedure, I noticed that light, heavy do not keep parallel relationships between a pair of nodes by default, but kernel does.
Also, using huge with duplicateRelationships: 'none', contrary to the docs, seem to deduplicate relationships, based on my experiments.
My experiments have been kind of pseudo and hence I'm not sharing them here. I am just looking for the exact definitions of the mentioned graph types. kernel does seem to do what I want, that is keeping parallel relationships between a pair of nodes, however I cannot find its documentation and thus I'm afraid of using it in production.
Thank you in advance!