Neo4j “创建唯一节点”创建重复节点
我想做的是建立一种从一个人到一个授予学位节点的关系。这些学位节点中应该只有一个具有Neo4j “创建唯一节点”创建重复节点,neo4j,cypher,Neo4j,Cypher,我想做的是建立一种从一个人到一个授予学位节点的关系。这些学位节点中应该只有一个具有MBA,拥有MBA的每个人都将指向这一个节点 问题是,当我使用另一个人的startNode运行此查询时,它会创建一个新的Degree{value:'MBA'}节点。我怎么能让它都指向同一个MBA节点 我的密码查询: START startNode=node(1) CREATE UNIQUE startNode-[:HAS_EDUCATION]->(nodeEducation1:Education{gradu
MBA
,拥有MBA
的每个人都将指向这一个节点
问题是,当我使用另一个人的startNode
运行此查询时,它会创建一个新的Degree{value:'MBA'}
节点。我怎么能让它都指向同一个MBA
节点
我的密码查询:
START startNode=node(1)
CREATE UNIQUE
startNode-[:HAS_EDUCATION]->(nodeEducation1:Education{graduated_year:1901})
CREATE UNIQUE nodeEducation1-[:AWARDED]->(a:Degree{value:'MBA'})
RETURN a;
“创建唯一”不会自行尝试匹配节点。 您可以使用该功能匹配
度
节点(仅在必要时创建一个),然后创建唯一的
关系和中间节点
START startNode=node(9)
MERGE( phd:Degree {value: 'PHD'})
CREATE UNIQUE
startNode-[:HAS_EDUCATION]->(nodeEducation1:Education{graduated_year:1901})
CREATE UNIQUE nodeEducation1-[:AWARDED]->phd
RETURN phd
这正是我想要的。谢谢