Ignore missing entities when writing community detection results

Dear Neo4J-community!
We are running GDS and the community detection algorithm WCC to detect communities on our data. The data that we are running community detection on is constantly changing and being updated in real-time. This means that the nodes can be modified, updated and deleted during the detection and write phase. This causes some problems since the write operations fails when it is unable to locate a particular node. We are receiving the following error:

gds.wcc.write:
Failed to invoke procedure gds.wcc.write: Caused by: org.neo4j.internal.kernel.api.exceptions.EntityNotFoundException: Unable to load NODE with id 22120320

gds.graph.writeNodeProperties:
Failed to invoke procedure gds.graph.writeNodeProperties: Caused by: org.neo4j.internal.kernel.api.exceptions.EntityNotFoundException: Unable to load NODE with id 4598.

In our case, we are okay with not all nodes receiving a community id / component id. However, we are unable to finish the write operation since it is always failing due to missing entity. Our current workaround is to stop all updates until the community detection has finished.

I'm wondering if it is possible to configure the algorithm to ignore missing nodes or if it is possible to request this kind of feature in future releases.

Neo4J version: 4.3.2
GDS version: 1.6.2

Thank you so much!

We don't currently offer the ability to skip deleted nodes while writing results, but we've added this to our backlog of feature requests for the next release. We'll keep you posted when it's available - thank you for the suggestion! :slight_smile:

1 Like