Create virtual nodes based on a property

Hi there,
I try to detect and categorize communities from an existing graph.
In order to do that, I created a monopartite projected graph with virtual relationships from a Cypher query. Then, I run the Louvain algo on it (write mode) and it works fine.

But the problem is: the result of the algo is not visual and I have other operations to perform to categorize the communities identified (not necessarily involving other algos).

So, I tried to create virtual nodes based on communities in order to (virtually) connect them to the appropriate nodes. But virtual nodes are not easy to manipulate because they are difficult to access and there is no equivalent to MERGE.

My first question is: is my way of working making sense? I’m new to GDS and have a lot to learn!

Second question: is there a way to create a (preferably virtual) node out of a property and link the original node to it?
I tried to do that but because there is no MERGE equivalent and because I cannot MATCH a virtual node, I end up with many duplicates.

I feel like I’m missing something... Maybe a projected graph can be used for this purpose also if I can modify them... Or there may be a way to query virtual nodes...

Please help me sort this out!
Thank you in advance

Hi Tristan, I think your approach could make sense if you want to visualise and run further algorithms on the aggregate graph of communities (rather than your original graph of individual entities). Otherwise, if the virtual node is only connected to the entities of its community it doesn’t hold more information than a property or label.

For grouping based on labels and/or properties you could look at: