0

我想做的是建立从一个人到 AWARDED Degree 节点的关系。这些度节点中应该只有一个带有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;
4

1 回答 1

2

Create unique 不会自行尝试匹配节点[1]。您可以做的是使用合并功能来匹配Degree节点(仅在必要时创建一个),然后create unique是关系和中间节点。

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
于 2013-06-11T21:26:34.853 回答