Graph label propagation with existing labels

I have a MetaGraph(SimpleGraph(), String, Union{Missing,String}) (see Home · MetaGraphsNext.jl) object where some nodes have a string label and some nodes have the label missing. I would like to propagate existing labels to the missing nodes in some natural way. At the beginning, nodes with identical labels are likely to be neighbors and form natural clusters.

I was hoping I could use one of the algorithms in Community structures · Graphs.jl like Graphs.label_propagation(), but it doesn’t look like the caller can pass initial labels that should be respected and held unchanged throughout the algorithm.

Does anyone have a suggestion for how to achieve this task? I may be missing an application of an existing algorithm in Graphs.jl. Thanks.

I don’t think this variant of the label propagation algorithm exists yet, but it shouldn’t be too hard to code!