泰坦:获取排序结果

时间:2014-03-12 14:47:51

标签: titan

采取SO的情景,

  1. 当我们点击Questions按钮时,无论标记如何都显示所有问题,

  2. 当我们点击tag时,它只显示询问该特定代码的问题。

  3. 第二个没问题,我将转到特定的Tag顶点并根据附加的边缘获取已排序的数据。

    我将如何按排序顺序实现第一个场景。我将有java问题,html问题,c ++问题顶点......某某。我如何按排序顺序获取所有这些?什么是查询?

1 个答案:

答案 0 :(得分:0)

显然,您正试图避免迭代/排序所有顶点以查找最近的问题。一种方法可能是在您的模式中构建某种日期结构,如:

year --> month --> day --> question

如果你有足够数量的问题"在你的用例中你可能会考虑将时间进一步缩短到几小时,几分钟等(或更高级别的聚合......也许你只需要年和月)。使用时间的反向排序顺序索引年,月,日和问题之间的边缘,以便您可以这样做:

g.V('year','2014').out.out.out[0..<10]

将返回前10个最近的问题。请注意,Gremlin很好地将其编译为顶点查询以利用您的索引:

gremlin> g.V.has('year','2014').out.out.out[0..<10].toString()
==>[GremlinStartPipe, GraphQueryPipe(has,vertex), IdentityPipe, VertexQueryPipe(out,[],vertex), VertexQueryPipe(out,[],vertex), VertexQueryPipe(out,[],range:[0,9],vertex), IdentityPipe]