# Graph/Network Clustering Models that Use Covariate Information

For example, there seems to be a popular Clustering Model for Graph/Network data called Louvain Clustering (https://en.wikipedia.org/wiki/Louvain_method). This model attempts to find "highly correlated subgraphs within the network" - this is also called "Community Detection" (it seems like the terms "clusters", "communities" are interchangeable here).

I was looking at the steps involved in Louvain Clustering:

As seen in the above description, clusters are identified through the Louvain Method by only using "edge" information.

For example, suppose that we have network data on a group of friends - we can break this data into two general parts:

Node Data: In this example, each person can be considered as a "Node". Thus, "Node Data" can be considered as Age, Salary, Height, Weight, etc. In a certain sense, this "Node Information" is analogous to "Covariate Information" in regression problems (e.g. the height of an individual person (node) in graph network vs. the height of an individual person in a regression dataset).

Edge Data: In this example, the relationships between friends can be considered as "Edges". For instance, if John and Jack are friends - their friendship can be considered as an "Edge".

It seems that most Graph Clustering Models (e.g. Louvain, Leiden, Walktrap, Infomap) only use "Edge Information" and do not make use of "Node Information" at all.

We can see an example of this in R:

#load libraries and data
library(igraph)
library(igraphdata)

data("karate")
#plot(karate)

#run clustering algorithm

set.seed(123)
gD = karate
lou <- cluster_louvain(gD)
LO = layout_with_fr(gD)
plot(lou, gD, vertex.label = NA, vertex.size=5,
edge.arrow.size = .2, layout=LO)


In the above code, we see how clustering was performed in the complete absence of "Node Information" - clustering was performed only using "Edge Information".

This is in stark contrast to standard clustering methods such as "K-Means Clustering". For example, if we were to use K-Means Clustering on a data set such as the Iris Flowers Dataset, K-Means would make use of the covariate information such as the different lengths and widths of the flowers.

The reason I am bringing this up : In the case of Graph/Network Clustering, it seems likely that there could be valuable information within the "Node Data" (also called "Node Attributes") - but most Graph/Network Clustering Models seem unable to exploit this information.

My Question: Are there any Graph/Network Clustering Models that are able to make use of both "Node Information" and "Edge Information" at the same time?

Thanks!