首页 > 解决方案 > 如何更新neo4j中的子图

问题描述

我正在研究 Neo4j 项目,我正在尝试更新当前图表。我将举例说明我要完成的工作:

首先,我有以下图表:

                                    A
                                   / \
                                  B   C
                                /  \ /* \
                               D    E   F

/* 表示关系是:E -> C / 表示关系是:A->B、B->D、B->E 等...

所以我想要做的是能够更新这个图表,例如如果 F 被删除。我不想再次在我的服务中生成整个图表,而是抓住我在 neo4j 中的图表并对其进行更新(其中 F 不再存在)。

目前我已经尝试过,将图从 neo4j 获取到 JAVA,生成 samller 子图(C 的子图)(这给了我两个哈希图:一个与节点的关系)

然后一一检查是否相同,如果有变化则更换它。有没有更快的方法来做到这一点?

标签: javaeclipseneo4j

解决方案


您应该为此使用Cypher 。

您可以匹配到您的“F”节点并删除它。这将删除节点及其上的任何关系。

假设您的节点上有标签(我假设:Node),您可以执行以下操作:

MATCH (f:Node {name:'F'})
DETACH DELETE f

推荐阅读