1

是否可以查询 neo4j 的最新节点?在这种情况下,索引属性“timestamp”以毫秒为单位记录每个节点上的时间。

我发现的所有密码示例都涉及图形类型查询-“从节点 n 开始并遵循关系。返回按一个字段排序的结果集的一般最佳方法是什么?这在诸如 node4j 之类的图形数据库中是否可能?

4

2 回答 2

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

于 2013-02-04T08:24:35.373 回答
2

是的,这是可能的,并且有一些不同的方法可以做到这一点。

您可以使用时间戳属性和经典索引,并按该属性对结果集进行排序。或者你可以创建一个基于时间的图内索引,就像 Peter 的博客文章中描述的 fe:

http://blog.neo4j.org/2012/02/modeling-multilevel-index-in-neoj4.html

于 2013-02-04T08:19:43.350 回答