0

私がやろうとしているのは、人からAWARDED Degreeノードへの関係を作ることです。これらの次数ノードの 1 つだけが存在する必要がありMBA、意志を持つすべての人がMBAこの 1 つのノードを指します。

問題は、このクエリを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 に答える