0
我試圖匹配一組節點之間的所有路徑(達到一定長度)。我可以通過發出以下查詢來成功地做到這一點:Neo4j和Cypher語法:匹配組中的所有路徑/節點集合
MATCH (n) WHERE ID(n) IN [1, 2, 3, 4, 5]
MATCH (m) WHERE ID(m) IN [1, 2, 3, 4, 5]
MATCH paths = allShortestPaths((n)-[*..3]-(m))
RETURN paths
我對結果本身及其速度感到滿意。我不明白的是,是否有一種方法來定義一個變量來定義集合[1,2,3,4,5]一次。排序:
x = [1, 2, 3, 4, 5]
MATCH (n) WHERE ID(n) IN x
MATCH (m) WHERE ID(m) IN x
MATCH paths = allShortestPaths((n)-[*..3]-(m))
RETURN paths
這可能嗎?我嘗試了幾種替代方案(使用WITH和AS),但沒有運氣。
感謝
是的,這是我做的。我在這種情況下得到的是: 無法爲給定QueryGraph QueryGraph(Set(),Set(IdName(n),IdName(m)),Set(IdName(x)),Selections(Set(Predicate (函數名(函數名(ID),假,矢量(標識符(m))),標識符(x)),謂詞(Set(IdName(x)), IdName(X)),在(FunctionInvocation(使用functionName(ID),假的,矢量(標識符(N))),標識符(X))))),表(),()設置集(ShortestPathPattern(有些(IdName (路徑)),PatternRelationship(IdName(UNNAMED115),(IdName(n),IdName(m)),BOTH,List(),VarPatternLength(1,Some(3))),false))) – redsk 2015-02-11 18:47:58
Neo.DatabaseError。 Statement.ExecutionFailure – redsk 2015-02-11 18:49:46
您使用的是哪個版本的neo4j? – cybersam 2015-02-11 19:29:58