gpt4 book ai didi

java - Neo4j 在创建之前检查节点是否存在?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:42:13 25 4
gpt4 key购买 nike

我有一种感觉,我的做法全错了。但无论如何。

我有一个 sql 数据库,它本质上有一个有目的的非规范化表,我构建它是为了让我更轻松地完成这项任务,所以我可以只从一个表中获取数据。

我有一个成对表,像这样:

user_lo | user_hi | something_else | other stuff
1000 | 1234 | 1231251654 | 123
1050 | 1100 | 1564654 | 45648
1080 | 1234 | 456444894648 | 1

等等。

所以对于我的 neo4j 图形数据库,我希望每个用户 ID 作为一个节点,其他的东西不是太重要,但基本上是关系中的东西。

我只希望每个用户有一个节点,所以我的感觉是,如果我这样做:

while (rs.next()) {
node_lo = db.createNode();
node_lo.setProperty("user_id", rs.getInt(1));
node_hi = db.createNode();
node_hi.setProperty("user_id", rs.getInt(2));
}

当我们第二次添加 user_id 为 1234 的节点时,它只会创建一个新节点,但我想要的是它只获取这个节点而不是创建它,这样我就可以将它添加到关系中在这种情况下为 1080。

那么有什么方法可以做到这一点呢?

最佳答案

你看过CREATE UNIQUE了吗? ?

如果你不能使用 Cypher,也许你可以使用 unique nodes

关于java - Neo4j 在创建之前检查节点是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10999730/

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