3
圖形要點:http://gist.neo4j.org/?6182d024325343760cb4暗號COLLECT使您可在錯誤的順序放鬆
我想以一個(最長)路徑,它按預期工作,直到我添加一個收集說法,是有關於暗號的東西,收集我只是不明白,或者這是一個錯誤?
此查詢工作正常,返回節點路徑以正確的順序:
MATCH (n:Cable { name: 'Cable3' })-[:Connected_to*]-(port:Port)
OPTIONAL MATCH path=(port)-[:Connected_to*]-()
WITH nodes(path) AS parts, length(path) AS len
ORDER BY len DESC
LIMIT 1 UNWIND parts AS part
RETURN part
這一個,沒有COLLECT語句,返回部分之間以正確的順序中的節點,而且節點父母(如預期)。
MATCH (n:Cable { name: 'Cable3' })-[:Connected_to*]-(port:Port)
OPTIONAL MATCH path=(port)-[:Connected_to*]-()
WITH nodes(path) AS parts, length(path) AS len
ORDER BY len DESC
LIMIT 1 UNWIND parts AS part
OPTIONAL MATCH (part)<-[:Has*1..10]-(parent)
RETURN part, parent
預期該查詢不起作用,返回節點在另一個爲了路徑:
MATCH (n:Cable { name: 'Cable3' })-[:Connected_to*]-(port:Port)
OPTIONAL MATCH path=(port)-[:Connected_to*]-()
WITH nodes(path) AS parts, length(path) AS len
ORDER BY len DESC
LIMIT 1 UNWIND parts AS part
OPTIONAL MATCH (part)<-[:Has*1..10]-(parent)
RETURN part, LAST(COLLECT(parent))
任何有識之士將不勝感激。
感謝您的解決辦法和解釋。 – Lundberg