Я впервые опробовал Neo4j. Я использую сообщество 2.0-RC1.Добавление отношения к существующим узлам с Cypher
Я создал некоторые узлы:
MERGE (u:User{username:'admin',password:'admin'})
MERGE (r1:Role{name:'ROLE_ADMIN'})
MERGE (r2:Role{name:'ROLE_WEB_USER'})
MERGE (r3:Role{name:'ROLE_REST_USER'})
и теперь я хочу, чтобы добавить отношения между узлами. Тем не менее, I не хотите очистить существующую базу данных, созданную с помощью приведенного выше скрипта, добавить инструкции и запустить ее снова. Я хочу добавить отношения к существующим узлам. Google помог мне найти это:
START n=node(*), m=node(*)
where has(n.username) and has(m.name) and n.username = 'admin'
and m.name = 'ROLE_WEB_USER'
create (n)-[:HAS_ROLE]->(m)
Это работает нормально (хотя я не понимаю весь синтаксис). Тем не менее, я знаю, что это находит любой узел с именем username и любым узлом с свойством name вместо использования меток, чтобы проверить, что он имеет нужный тип узла.
Как я могу использовать эти же метки?
r не лучший выбор имени переменной для второго узла, часто r обозначается как имя переменной для отношения. –