Neo4j 创建唯一关系创建重复关系
我的密码查询:Neo4j 创建唯一关系创建重复关系,neo4j,cypher,Neo4j,Cypher,我的密码查询: START reference=node(0) CREATE UNIQUE reference -[:REFERENCES]-> (categories {name: 'categories'}) -[:CATEGORY]-> category_user{name : 'user_categorie'}), reference -[:REFERENCES]-> (categories {nam
START reference=node(0)
CREATE UNIQUE
reference
-[:REFERENCES]->
(categories {name: 'categories'})
-[:CATEGORY]->
category_user{name : 'user_categorie'}),
reference
-[:REFERENCES]->
(categories {name: 'categories'})
-[:CATEGORY]->
category_project{name : 'project_categorie'})
我遇到的问题是,它在引用节点和类别节点之间创建了两个引用关系,而您只需要一个引用关系。它不知道名为“categories”的节点在名称上是唯一的,因此它只创建了整个模式。 你可以这样做:
START reference=node(0)
CREATE UNIQUE reference-[:REFERENCES]->(categories {name: 'categories'})
CREATE UNIQUE (categories)-[:CATEGORY]->(category_user {name : 'user_categorie'})
CREATE UNIQUE (categories)-[:CATEGORY]->(category_project {name : 'project_categorie'})
这就是我最初认为的问题所在。但是我突然想到,如果是这样的话,它还应该重新创建categories节点。但它没有,它只复制了关系,而不是类别节点。无论如何,你的建议是有效的。它还让我想到了在先前的查询中创建categories节点,这同样有效。这样我就可以使用CREATE,我怀疑它比CREATE UNIQUE快。是的,它更快,因为它不需要做任何检查。