gpt4 book ai didi

java - 删除neo4j中的多个节点及其关系

转载 作者:行者123 更新时间:2023-11-30 04:22:11 25 4
gpt4 key购买 nike

我正在尝试删除一些连接的节点,例如照片,以及其他有关系的连接节点。案例是这样的:
相册-CONTAINS_PHOTO-照片(此处可以是多张图片)
照片-拍摄地点-地点
照片-有-评论
评论-ADDED_BY-用户

我想从“照片到评论”节点中删除。(由于相册和用户是父节点,因此除非需要,否则我不需要删除它们)
在 neo4j webadmin 控制台上我正在触发此查询:

start pht=node:__types__(className="org.sg.domain.Photo"),
cmt=node:__types__(className="org.sg.domain.Comments")
MATCH pht-[r:HAS]-x,pht-[t:taken_at]-x, cmt-[s]-y
WHERE pht.photoId="MhQ2W1GrJ" AND
pht.albumName="FirstAlbum" AND
pht.userName="abc" delete r,s,t,pht,cmt;

(其中“x”和“y”是通用占位符。)

我得到这个输出:

Invalid query
Node[7] has been deleted in this tx

(其中 Node[7] 表示 Photo 对象。虽然它显示 Node[7] 已删除,但这是不正确的)。
我将我的标准更改为 MATCH 节点关系为
匹配 pht-[r]-x,匹配 pht-[r?:HAS | :taken_at]-x,
匹配 pht-[r:HAS]-x、pht-[s:taken_at]-x,但没有结果。

我浏览了thisofficial link ,但我想,我离某些事情还很远……请帮忙。

最佳答案

您需要将 updating the graph 的密码查询的查询和修改部分分开。 WITH 用作分离标记:

START pht=node:__types__(className="org.sg.domain.Photo"),
cmt=node:__types__(className="org.sg.domain.Comments")
MATCH pht-[r:HAS]-x,pht-[t:taken_at]-x, cmt-[s]-y
WHERE pht.photoId="MhQ2W1GrJ" AND
pht.albumName="FirstAlbum" AND
pht.userName="abc"

WITH r,s,t,pht,cmt
delete r,s,t,pht,cmt;

关于java - 删除neo4j中的多个节点及其关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16775147/

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