neo4j-graph-algorithms icon indicating copy to clipboard operation
neo4j-graph-algorithms copied to clipboard

What is the function of graph type "kernel" and others

Open tsafs opened this issue 5 years ago • 0 comments

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!

tsafs avatar Apr 18 '20 08:04 tsafs