【发布时间】:2018-09-10 04:38:13
【问题描述】:
我想向 Neo4j 中的现有节点添加新关系 使用这种语法:
MATCH (a:User {name: "Jack", surname: "Roe"}),
(b:User {name: "Jack", surname: "Smith"})
CREATE (a) -[r:Knows]-> (b)
RETURN a,r,b
【问题讨论】:
标签: neo4j graph-databases cql
我想向 Neo4j 中的现有节点添加新关系 使用这种语法:
MATCH (a:User {name: "Jack", surname: "Roe"}),
(b:User {name: "Jack", surname: "Smith"})
CREATE (a) -[r:Knows]-> (b)
RETURN a,r,b
【问题讨论】:
标签: neo4j graph-databases cql
在你的情况下,你无事可做。
警告,就像它在描述中解释的那样,是你有一个断开的模式:(a:User {name: "Jack", surname: "Roe"}) 和 (b:User {name: "Jack", surname: "Smith"}) 没有链接。
所以要创建结果,Neo4j 必须计算这 2 个集合的所有组合:
所以它是这两组之间的笛卡尔积,它可能需要很多次,特别是如果一组具有高基数。
在你的情况下,我假设你有一个节点 Roe 和另一个 Jack,所以笛卡尔积只是 1 x 1,所以很容易。
【讨论】: