Я впервые опробую Neo4j. Я использую сообщество 2.0-RC1.
Я создал несколько узлов:
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'})
и теперь я хочу добавить отношения между узлами. Однако я не хочу удалить существующую базу данных, созданную с помощью script выше, добавить инструкции и запустить ее снова. Я хочу добавить отношения к существующим узлам. 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)
Что работает отлично (хотя я не понимаю весь синтаксис). Тем не менее, я знаю, что это находит любой node с свойством username и любым node с свойством name вместо использования меток, чтобы проверить, что он имеет правильный тип node.
Как я могу сделать то же самое с помощью меток?