cancel
Showing results for 
Search instead for 
Did you mean: 

Add a property to an in-memory graph

davidmakovoz
Node Clone

I have an in-memory graph created using the gds.graph.create() procedure.
I want to add a property to some of the nodes in the graph.
Simply setting the properties of those nodes after creating the graph doesn't work.
I would need to delete the graph and create it again to include the newly added properties.
I see that it is possible to add properties to an existing graph using the mutate flavor of different algorithms.
It is possible to remove a property from an in-memory graph using the gds.graph.removeNodeProperties() procedure.
Wouldn't it be helpful to have a gds.graph.addNodeProperties() procedure?

3 REPLIES 3

Great feedback thanks. Could you explain what property you would want to add and how It would be computed?

Here is one example. I run community detection. I create a graph using the existing nodes and their properties. I run mutate several times adding different communityIds, e.g. for louvain, wcc, scc. Then I decided to run labelPropagation and add a new property to my nodes to use as the seedProperty. However, this new property is not in the graph and cannot be used as the seedProperty. So I can either run using an anonymous graph or create a new graph, but the new graph will not have those communityIds created previously. It's definitely not a show-stopper, but it would useful to have.

Great use-case, would you mind adding this as an GitHub issue to