我第一次尝试使用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'})
现在我想在这些节点之间建立关系。然而,我不想清空上面脚本创建的现有数据库,添加语句并再次运行它。我希望将关系添加到现有的节点中。谷歌帮我找到了这个:
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)
这很好用(尽管我不理解所有的语法)。但是,我知道这会找到带有用户名属性和名称属性的任何节点,而不是使用标签来检查它是否具有正确类型的节点。
我该如何使用标签来做同样的事情呢?