2013-04-15 106 views
2

我有简单如下图:
http://console.neo4j.org/?id=v0cvwn暗号UNION查询

而且我不知道为什么下面的查询:

START n=node(2) 
match n-[:KNOWS]-node 
return node.name as name 
UNION 
START n=node(2) 
match n-[:ACTS_IN]-node 
return node.name as name 

抛出异常:问题

java.lang.AssertionError: assertion failed: Can't profile the same pipe twice 
at scala.Predef$.assert(Predef.scala:179) 
at org.neo4j.cypher.internal.profiler.Profiler.decorate(Profiler.scala:47) 
at org.neo4j.cypher.internal.pipes.Pipe$class.createResults(Pipe.scala:35) 
at org.neo4j.cypher.internal.pipes.NullPipe$.createResults(Pipe.scala:47) 
at org.neo4j.cypher.internal.pipes.PipeWithSource.createResults(Pipe.scala:61) 
at org.neo4j.cypher.internal.pipes.PipeWithSource.createResults(Pipe.scala:61) 
at org.neo4j.cypher.internal.pipes.PipeWithSource.createResults(Pipe.scala:61) 
at org.neo4j.cypher.internal.pipes.UnionIterator.loadNextIterator$1(UnionIterator.scala:60) 
at org.neo4j.cypher.internal.pipes.UnionIterator.step$1(UnionIterator.scala:68) 
at org.neo4j.cypher.internal.pipes.UnionIterator.stepIfNeccessary(UnionIterato 

夫妇关于UNION:

是否有可能对UNION在以前的子查询中结果集中积累的所有数据执行另一个最终匹配子句?

是否可以通过该数据执行订单?

谢谢。

+0

尽管这并不直接回答你的问题,我只是想提一提,你的查询可以不用'UNION'重写。只使用查询的前半部分,并将其用于MATCH:'n - [:KNOWS | ACTS_IN] -node' – ean5533

+0

是的,我知道只是一个简单的用例来尝试UNION .. 10x任何方式 –

回答