-
Notifications
You must be signed in to change notification settings - Fork 54
Description
GDS 2.8.0
Neo4j 5.22
GDS Python Client 1.11
The code below gives me this error
neo4j.exceptions.ClientError: {code: Neo.ClientError.Procedure.ProcedureCallFailed} {message: Failed to invoke procedure gds.pageRank.mutate
: Caused by: java.lang.UnsupportedOperationException: Node property pageRank already exists}
@__time
def run_pagerank_centrality(self):
projection = self.gds.graph.get(PROJECTION_NAME)
for feature in DESIRED_COMBINED_FEATURES:
pagerank_centrality_config= {
'mutateProperty':'pageRank',
'nodeLabels': [feature.title()],
'maxIterations':1000,
'dampingFactor':0.999,
'scaler':'max',
'relationshipWeightProperty':'converted users',
'concurrency': 4
}
self.gds.pageRank.mutate(projection, **pagerank_centrality_config)
It loops using different labels ( features ) one at a time, none of these labels are overlapping or share the same nodes, therefor each pageRank execution is working on a different group of nodes even if each execution share the same projection. But it still crashed saying the property has already be defined.
It's like if one mutate execution of pageRank on the same projection creates a property x, it's not possible to execute it again with the same property even if the nodes filtering is different and doesn't mutate the same nodes.