我是新來Neo4j
,目前這種樹狀結構玩:暗號:由物業上的關係
在黃色方框中的數字是一對關係命名order
財產CHILD_OF
。
我的目標是
a)至通過此屬性,而不是通過直接的關係管理在同一水平的節點的排列順序(像例如LEFT
,RIGHT
或IS_NEXT_SIBLING
,等等)。
b)能夠使用普通整數代替order
屬性的完整路徑(即不保留諸如0001.0001.0002
之類的東西)。
我卻無法找到它是如何,或者如果可能的遞歸查詢的圖形,使其不斷返回節點depth-first
正確的提示,但在每個級別的排序考慮對關係order
財產。
我認爲如果可能的話,它可能會包括將迭代的完整路徑與集合實用程序Cypher
進行匹配,但我甚至沒有足夠接近以發佈一些好的起點。
問題
我從答案有什麼期望這個問題不一定是一個解決方案,但是否這樣的提示是,將執行不好反正個不錯的辦法。在Cypher
方面,如果有實際的解決方案,我很感興趣。
我對如何將它作爲一個Neo4j服務器插件與Java遍歷或核心api(這並不意味着它會表現良好,但這是另一個話題)有個大致的想法,所以這個問題真的是目標設計和Cypher
方面。
謝謝,邁克爾。快速嘗試第一個查詢產生語法錯誤,而第二個查詢似乎工作。我現在無法詳細測試它,但會在一週內重新審視,然後批准答案或回覆評論。 – sthzg
修復了第一個查詢 –
抱歉等了很長時間纔回復。對於第一個查詢抱怨比較多個深度(不能從左到右比較,例如'[1,1]'到'[1]'),你是對的。第二種方法是有效的,但除非我讀到錯誤,否則似乎不會返回「深度優先」而是「寬度優先」的結果,例如, '[11],[12],[111],[112],...,[1112]'。 – sthzg