java - 如何更新neo4j中的子图
问题描述
我正在研究 Neo4j 项目,我正在尝试更新当前图表。我将举例说明我要完成的工作:
首先,我有以下图表:
A
/ \
B C
/ \ /* \
D E F
/* 表示关系是:E -> C / 表示关系是:A->B、B->D、B->E 等...
所以我想要做的是能够更新这个图表,例如如果 F 被删除。我不想再次在我的服务中生成整个图表,而是抓住我在 neo4j 中的图表并对其进行更新(其中 F 不再存在)。
目前我已经尝试过,将图从 neo4j 获取到 JAVA,生成 samller 子图(C 的子图)(这给了我两个哈希图:一个与节点的关系)
然后一一检查是否相同,如果有变化则更换它。有没有更快的方法来做到这一点?
解决方案
您应该为此使用Cypher 。
您可以匹配到您的“F”节点并删除它。这将删除节点及其上的任何关系。
假设您的节点上有标签(我假设:Node),您可以执行以下操作:
MATCH (f:Node {name:'F'})
DETACH DELETE f
推荐阅读
- c# - 您可以通过绑定从视图模型中设置组合框中的选定项目吗?
- hadoop - 未能将窗口调用分解为组。至少 1 个组必须仅依赖于输入列。还要检查循环依赖
- laravel - 如何在 Laravel 中获取 Auth::User() 数组元素值
- javascript - 我的代码在单击时更改元素的 CSS 是否有效?
- sql - 具有多个条件的 SQL 查询
- vba - 使用 VBA 在 Access 中捕获表单时出错
- python - 从 Pandas MultiIndex 系列创建热图
- java - 将文件中的文本读入变量
- pickle - 如何解开 inferSent 和加载模型?
- jekyll - Jekyll 自定义主题在 Github 页面上不起作用