【发布时间】:2015-08-04 07:51:52
【问题描述】:
使用 neo4j 2.3 我创建了一个查询来查找与两个节点有关系的所有节点,并为它们创建与第三个节点的关系
MATCH (:group{Id:'1'})-->(b:item)<--(:group{Id:'2'} )
, (g:ComboGroup{Id:'(1) AND (2))'})
Create (g)-[:HasItem]->( b)
这个查询永远不会结束
但是当我确实返回时
MATCH (:group{Id:'1'})-->(b:item)<--(:group{Id:'2'} )
, (g:ComboGroup{Id:'(1) AND (2))'})
RETURN g, b
我通过创建 2709 关系得到了正确的结果
这是我得到的计划
现在我添加了一个 with 语句和一个对 create 的限制,它工作但创建了 3000 个关系而不是 2709 个
MATCH (:group{Id:'1'})-->(b:item)<--(:group{Id:'2'} )
, (g:ComboGroup{Id:'(1) AND (2))'})
WITH b,g limit 3000
Create (g)-[:HasItem]->( b)
我被这个问题吓傻了。请帮忙!
【问题讨论】:
-
你有
:group(Id)的索引吗?