2013-04-15 111 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任何方式 –

回答