I know this topic that already discussed but i could not come with final conclusion from all the discussions i saw.
My use case :
I have a knowledge base graph with User Nodes & Details Nodes ( name , address, ip etc..) on each relation i have some weight.
On top of it i built a SAME_AS ( connected components ) relation between User Nodes
The graph is dynamic which mean, I need to support split and merge scenarios :
Merge - There may be a new detail node that will cause a merge between 2 (or more) communities
Split - There may be a new detail node that will cause split in a community ( * i'm using the weighted algorithm)
I also need to represent each community by some generated id, on each scenario i need to create new Id and assigned it to all the nodes
*On a merge scenario where i need to merge new User node the id will stay the same.
My problem is how to represent the community id.
By using a Node property , Or by using new Node of type Community (with the id value) and relations from all the nodes that related to it.