Neo4j创建唯一始终创建全新路径?

Neo4j创建唯一始终创建全新路径?,neo4j,unique,cypher,graph-databases,Neo4j,Unique,Cypher,Graph Databases,我是Neo4j新手,正在尝试使用create UNIQUE创建一棵树,以重用现有的分支(添加树叶/树枝),但问题是: 如果我多次运行同一查询,将始终创建一个新路径。即: 如果我跑步: START r=node:root(root_name="foo") CREATE UNIQUE (r)-[r1:KNOWS]->(n1:Person {name:"n1"})-[r2:KNOWS]->(n2:Person {name:"n2"})-[r3:KNOWS]->(n3:Person {

我是Neo4j新手,正在尝试使用create UNIQUE创建一棵树,以重用现有的分支(添加树叶/树枝),但问题是:

如果我多次运行同一查询,将始终创建一个新路径。即:

如果我跑步:

START r=node:root(root_name="foo")
CREATE UNIQUE (r)-[r1:KNOWS]->(n1:Person {name:"n1"})-[r2:KNOWS]->(n2:Person {name:"n2"})-[r3:KNOWS]->(n3:Person {name:"n3"})
RETURN (n3)
多次,每次都会创建一个全新的分支,而不是重用以前创建的路径

请问,这是故意的还是我误解了?那么,在重用分支的现有部分时,如何添加新的叶子/肢体


谢谢

我认为这是因为您为节点编制索引的方式存在一些问题

你可以在下面试试

MATCH (root:Person {name: "foo"})
CREATE UNIQUE (root)-[r1:KNOWS]->(n1:Person {name:"n1"})-[r2:KNOWS]->(n2:Person {name:"n2"})-[r3:KNOWS]->(n3:Person {name:"n3"})
RETURN n3

你能告诉我你是如何索引你的节点的吗?