我的后端生成一个包含一个节点的图(我们称其为节点1),该图如下所示
1 (TOPNODE)
/ \
2 1 2
/ \
3 3 4
/ \
4 5 6
顶部节点包含生成图形的日期。
此后,所有偶数级别(包含节点1、2、5和6的2级和4级)都包含唯一名称和一个值,即。一个电话号码。
所有奇数级(第3级AKA:节点3和4)均包含其父名称和其子级信息。
在我的服务中,我可以编辑部分图形。例如:我可以更改节点(NOT THE NAME)中的值。或者我可以一次删除节点。但是我只能通过生成子图的那一部分来访问编辑的信息。
所以我的问题是:我可以将整个图放入JAVA中,然后仅将该子图与刚刚生成的新子图进行比较,然后创建具有变化的旧图的新版本吗?
我尝试过的是: 将所有图作为JSON提取到Java中,并使用它与较小的图进行比较,这是可行的。但是我不知道是否有更有效的方法,或者是否有任何方法可以将Java中的节点作为实际节点而不是JSON。为了将其转换为JSON,我执行了以下操作:
Session session = driver.session();
String message = "START n=node(*) MATCH (n)-[r]->(m) RETURN n,r,m;";
StatementResult result = session.run(message);
while ( result.hasNext() ) {
Record record = result.next();
Gson gson = new Gson();
System.out.println(gson.toJson(record.asMap()));
String m = gson.toJson(record.asMap().get("n"));
JSONObject json = new JSONObject(gson.toJson(record.asMap()));
convert(json,m);
}
session.close();