在将项目迁移到SDN 4之前,我使用了自己的自定义REST客户端代码,该代码生成了以下形式的Cypher语句:
MERGE (n:LABEL1:LABEL2 {prop1:"val"...})
ON CREATE SET ...
ON MATCH SET ...
这具有创建需要创建的节点以及在必要时更新现有节点所需的效果。
但是,在SDN 4 Neo4jTemplate上使用.save(...),只会生成CREATE Cypher语句,从而导致重复的节点,如果需要,可以创建新节点并更新现有节点,在可能的情况下,将新关系添加到现有节点。
有没有办法影响SDN 4 Neo4jTemplate行为以使用MERGE而不是CREATE?