2013-02-04 42 views
1

是否有可能查詢neo4j的最新節點?在這種情況下,索引屬性「timestamp」記錄每個節點的時間(以毫秒爲單位)。如何從neo4j返回所有最新的節點?

我發現的所有cypher示例都關注圖類型查詢 - 「從節點n開始並遵循關係。返回在一個字段上排序的結果集的一般最佳方法是什麼?作爲node4j?

回答

5

在嵌入式Java API中,可以使用Lucene結構添加排序。

http://docs.neo4j.org/chunked/milestone/indexing-lucene-extras.html#indexing-lucene-query-objects http://blog.richeton.com/2009/05/12/lucene-sort-tips/

在服務器模式下,可以通過一個?order參數Lucene的查找查詢。

http://docs.neo4j.org/chunked/milestone/rest-api-indexes.html#rest-api-find-node-by-query

取決於你如何索引你的數據(不數字,因爲有與Lucene的查詢語法剖析問題和數字搜索:(),在暗號你可以這樣做:

start n=node:myindes('time: [1 to 1000]') return n order by n.time asc 

有也可以採用更具說明性的方式,例如通過將事件與NEXT關係聯繫起來,並從該列表中返回頭部和下一個n個元素

http://docs.neo4j.org/chunked/milestone/cypher-cookbook-newsfeed.html

或創建時間的樹形結構:

http://docs.neo4j.org/chunked/milestone/cypher-cookbook-path-tree.html

+0

是的,謝謝,這個回答讓我拿出'開始N =節點:node_auto_index(「時間戳:0到現在]」 )return n order by n.timestamp desc limit 10;'它將搜索整個索引並按時間順序返回10個最新節點 – Fergie

相關問題