2015-05-13 2 views
0

Я пытаюсь создать друг отношения ко всем идентификаторам в списке, но я получаю сообщение об ошибке:как создать отношения в петле в Neo4j

Node already exists with label User and property "id"=[2] 
Neo.ClientError.Schema.ConstraintViolation 

В основном эти идентификаторы уже существует, и я просто хочу, чтобы создать друг к нескольким идентификаторам одновременно с использованием for.each.Как я могу достичь этого или есть ли другой способ сделать то же самое? Я очень ценю любую помощь.

MATCH (u:User {id:"3"}) 
FOREACH (id in ["2","4","5"] | 
    MERGE (u)-[:FRIEND]->(:User {id:id})) 

ответ

2

Проблема является использование MERGE. Для слияния вам необходимо привязать оба конца отношения, если вы не хотите, чтобы какой-либо узел воссоздавался в отсутствие существующего между ними шаблона. u связан, но из-за отсутствия отношения FRIEND от u к другим пользователям весь шаблон создается из u, с отношением FRIEND и новым пользовательским узлом.

Вы не можете СООТВЕТСТВУЕТ пользователя в FOREACH так вместо того, чтобы использовать

MATCH (u:User {id:"3"}) 
match (fb:User) 
where fb.id in ["2","4","5"] 
MERGE (u)-[:FRIEND]->(fb) 
+0

Как могу ли я создать новые идентификаторы одинаково, если эти идентификаторы не находятся на моем db? – jason

+0

Если вы хотите создать или сопоставить идентификаторы, это должно работать: MATCH (u: User {id: "3"}) развернуть ["2", "4", "5"] в качестве fbid merge (fb: Пользователь {id: fbid}) MERGE (u) - [: FRIEND] -> (fb) – Luanne

+0

Пожалуйста, взгляните на это. Спасибо в Advance. http://stackoverflow.com/questions/30208963/how-to-create-relationship-and-merge-create-new-node-in-loop-in-neo4j – jason

2

Как уже существуют пользователи, есть более простой способ:

MATCH (u:User {id:"3"}) 
MATCH (friends:User) WHERE friends.id IN ["2","4","5"] 
MERGE (u)-[:FRIEND]->(friends) 
+0

Благодаря удивительным. – jason

+0

PLease взгляните на это. Спасибо в Advance http://stackoverflow.com/questions/30208963/how-to-create-relationship-and-merge-create-new-node-in-loop-in-neo4j – jason

Смежные вопросы