graphaware / neo4j-uuid

GraphAware Runtime Module that assigns a UUID to all nodes (and relationships) in the graph transparently
103 stars 22 forks source link

Conflict with apoc.refactor.mergeNodes #45

Closed SimonThordal closed 6 years ago

SimonThordal commented 6 years ago

APOC mergeNodes function takes an array of nodes and merges their properties, starting from the last position in the array and merging each member onto the preceding member. When you use neo4j-uuid this fails with:

image

I don't get any log output that I can see, but I am assuming this is because they are trying to copy over the uuid property when merging the nodes.

bachmanm commented 6 years ago

Correct, the UUID module prevents anyone from messing with the UUID (i.e., changing or deleting) that's already been assigned to the node.

We would definitely accept a PR where this functionality is disabled by setting something like com.graphaware.module.UIDM.immutableUuid=false

SimonThordal commented 6 years ago

Thanks @bachmanm. My java-fu is pretty weak, but I'll spread the word in the APOC slack channel and maybe someone from there will be able to take a look at it. So far I worked around it by switching from the UIDM module to an apoc.trigger that adds a uuid on node creation.

bachmanm commented 6 years ago

fixed in 3.3.3.52.16