Neo4J - 在现有节点上创建关系

use*_*997 6 neo4j graph-databases cypher

我是Neo4J的新手,我希望在现有节点和新节点之间建立新的关系.

我有一个大学节点和人员节点.

我正在尝试为现有大学指派一个新人.

我想跟随代码:

MATCH (p:Person {name:'Nick'}), (u:University {title:'Exeter'}) CREATE (p)-[:LIKES]->(u)

所以在上面的代码中:MATCH (p:Person {name:'Nick'})是新用户

而且(u:University {title:'Exeter'})是现存的大学.

但它又回来了 (no changes, no rows)

我甚至尝试过没有MATCH部分的查询,但也没有运气.

我看过几个类似的答案,但它们似乎也没有用.

任何帮助将非常感谢.谢谢.

Bar*_*ker 11

在您创建新的匹配之前匹配,如评论中所建议的!

MATCH(u:University {title:'Exeter'})
CREATE(p:Person {name:'Nick'})
CREATE(p)-[w:LIKES]->(u)
return w
Run Code Online (Sandbox Code Playgroud)

  • WITH在这里没有任何关系,你的查询是正确的,但更相关的是他应该使用CREATE而不是MATCH来创建第一个用户节点,切换你的CREATE和MATCH而你不需要WITH,反正+1 (2认同)