2015-10-04 78 views
0

已在我的Neo4J中實現了時間樹我思考如何使用timetree的節點排序查詢的結果,因爲每個獨立站點不足以進行查詢。在SQL中,我可能會使用CONCAT來生成排序標準,但在Cypher中我可以使用提示。Timetree:使用節點進行排序

假設

MATCH (e:Event) --> (h:Hour)--(d:Day)--(m:Month) -- (y:Year) 
     RETURN 
       e.name 
     ORDER BY // here I would like to have an DESC or ASC order of the names depending on their relation to the timetree 

我將如何查詢,以便所有的事件都在所要求的順序?

另外,我將如何查詢該時間樹中的時間範圍,例如,從dd/mm/yy到dd/mm/yy?

感謝您的支持。

回答

2

的Neo4j會做自動聚合,如果你需要的是通過關係型聚集,你可以爲了你的事件節點的時間屬性:

MATCH (n:Event)-[r]->(:Hour) 
WITH type(r) AS rel, n 
ORDER BY n.time DESC 
RETURN rel, collect(n) AS events 

您可以測試在這裏查詢:http://console.neo4j.org/r/iqts8f

對於範圍查詢,在即將到來的2.3範圍內查詢可以使用時間戳上的索引,但是TimeTrees通常比這更復雜,請查看:

https://github.com/graphaware/neo4j-timetree

+0

非常感謝您的努力。我的問題是,我想排序的節點w/o他們有一個自己的時間戳,但使用掛鉤到timetree。但是我會遵循你的建議並將時間再次存儲在事件節點中,並按節點時間戳排序,而不是按照時間樹排序。很好的幫助,謝謝。 – Balael

相關問題