图数据库数据操作与GraphQL API构建
1. 图数据库数据创建与去重
在使用Cypher和Neo4j Browser创建数据时,可能会出现创建大量重复节点的问题。为了解决这个问题,我们可以先删除数据库中的所有数据,操作步骤如下:
MATCH (a) DETACH DELETE a
执行上述语句后,会匹配所有节点并删除节点及其关系,同时会输出删除的节点和关系数量。
为了避免创建重复数据,可以使用 MERGE 命令。 MERGE 起到插入或更新的作用,只有当模式中指定的数据在数据库中不存在时才会创建。使用 MERGE 时,最好在标识唯一性的属性(通常是 id 字段)上创建唯一性约束,创建唯一性约束的同时也会在数据库中创建索引。以下是使用 MERGE 创建业务、评论和用户的示例:
MERGE (b:Business {name: "Bob's Pizza"})
MERGE (r:Review {stars: 4, text: "Great pizza!"})
MERGE (u:User {name: "Willie"})
MERGE (b)<-[:REVIEWS]-(r)<-[:WROTE]-(u)
RETURN *
这个查询是幂等的,无论运行多少次,都不会创建重复节点。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



