gpt4 book ai didi

python - Neo4J 查询创建新关系或替换现有关系

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:40 25 4
gpt4 key购买 nike

我有一个场景,我必须为新关系创建节点,或者如果节点存在且关系存在,我必须用新关系替换现有关系。 2 个节点之间只存在一种关系。

当我使用 GDB.query 从 Python 客户端调用时,以下命令似乎不起作用:

match (a:user)-[r]->(b:user)
where a.id='3' and b.id='5'
merge (a)-[r2:test]->(b)
SET r2 = r SET r2.percentage = 80
WITH r
DELETE r
return r

MATCH (a:user),(b:user)
WHERE a.id='3' AND b.id='5'
MERGE (a)-[r:test]->(b)
RETURN r

最佳答案

如果您想用新关系替换特定类型的现有关系:

match (a:user {id:'3'})
match (b:user {id:'5'})
merge (a)-[newRel:NEW_TYPE]->(b) //create the new rel if missing
set newRel.percentage = 80
match (a)-[oldRel:OLD_TYPE]->(b) //match the old rel
delete oldRel //and delete it

但是如果您只想在现有关系上设置一个属性并在缺少时创建它:

match (a:user {id:'3'})
match (b:user {id:'5'})
merge (a)-[rel:REL_TYPE]->(b) //creates a new rel if it doesn't exist
set rel.percentage = 80

关于python - Neo4J 查询创建新关系或替换现有关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31065050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com