Как избежать дублирования узла? - PullRequest
1 голос
/ 10 мая 2019

Я пишу проект Java для вставки данных в neo4j с использованием запроса шифра. Я хочу остановить neo4j от создания дублирующего узла, вместо этого связывая другой узел с существующим узлом.

CREATE (n1:node {name:'Adam'})-[:born_in]->(n2:node {name:'USA'})
//and again 
CREATE (n1:node {name:'Adam'})-[:worked_at]->(n2:node {name:'Apple'})

Я хочу создать один узел Адама и два других узла, т.е. USA и Apple. Есть ли какие-либо проверки в Java, чтобы избежать дублирования?

1 Ответ

2 голосов
/ 10 мая 2019

лучший способ создать отношения между двумя узлами -

сначала получите два узла. Если они не существуют, затем создайте. однажды узлы загружаются, затем просто создайте связь между ними

в вашем случае создайте ваши узлы с MERGE и затем отношением

MERGE (n1:node {name:'Adam'})
MERGE (n2:node {name:'USA'})
MERGE (n1)-[r:born_in]->(n2)

эта ссылка поможет вам понять MERGE

https://neo4j.com/docs/cypher-manual/current/clauses/merge/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...