2015-11-17 42 views
1

我有这个(a {...})-[r]->(b)Cypher支架匹配一个节点,但允许的关系是可选

在我的询问,我总是想“一”。如果我能得到它,我将采取rb

我试图

optional match (a {...})-[r]->(b) 

但当rb不存在于整个匹配崩溃。

这工作:

笨重和哈克。

我该怎么做?

+0

使用标签托尼,否则密码必须扫描整个分贝为您的节点。 –

+0

@MichaelHunger,我放下了具体问题的例子。但是,是的,我们刚刚了解到,当我们从测试数据缩放更真实的数据时,困难的方式......一切都停止了。我们知道了,并且有所作为。我很感激听到你的智慧http://stackoverflow.com/questions/33710578/global-indexes-in-neo –

回答

3

您可以将您的查询分割成两个部分,可选的一个,和非任选其一:

Match (a:Label {...}) 
Optional Match (a)-[r]->(b) with a,r,b 
//Do whatever you want with a,r and b here 

利用这一点,你将有a肯定,以及可选,rb

相关问题