Community detection gathers techniques that have been developed to understand the structure of a graph and extract information from it. This structure can then be used in many applications, such as recommendation engines, fraud detection, property prediction, and link prediction.
Throughout this chapter, I will use the words community, cluster, or partition to refer to a group of nodes sharing common properties.
Identifying clusters of nodes
The following image shows the graph of Neo4j GitHub users we built in Chapter 2, The Cypher Query Language. Community detection algorithms were able to identify several communities:
Image generated using the Louvain algorithm and neoviz.js
By the end of this chapter, you will be able to reproduce this image. Further analysis will be needed to understand the common properties of the users belonging to the violet community. A deeper analysis of this graph teaches us that the users in the violet community...