搜索最近添加的节点

时间:2018-08-22 13:24:13

标签: gremlin tinkerpop amazon-neptune

我正在向图形添加具有特定标签的顶点(当前在gremlinv3.3上使用gremlin-python)。我正在向这些节点手动添加“时间戳”属性。我希望能够找到带有该标签的最新添加的顶点,以便随后可以从链中向后向下检索一定数量的顶点。在每次添加时,从第二个顶点到最新的顶点添加一组“下一个”类型的边,将使我在找到最新的顶点后即可执行向后搜索。
我希望能够在亚线性时间(最好是O(1)时间)中找到最近添加的顶点。这里有一些想法如何做到这一点:

  • 我可以手动维护“最新”类型的节点,该节点指向 此类型的最新顶点,然后进行搜索。
  • 我可以在添加这些顶点时在这些顶点上创建一个二进制索引树,以便向上搜索该树并从任何一个向下搜索 这些顶点中的一个将我带到O(log(n))时间中的最新节点。
  • 也许我可以利用timestamp属性进行有效搜索,但是我不清楚如何实现。

问题是,我对如何在后台进行图搜索一无所知,以了解哪种策略最好。有人可以帮忙吗? 我创建的内容也有可能在亚马逊海王星实例中重新部署,同样,我不清楚这是否会改变最佳策略。

1 个答案:

答案 0 :(得分:2)

  

我可以手动维护“最新”类型的节点,该节点指向   此类型的最新顶点,然后进行搜索。

这是最简单,最快的解决方案。基于其他搜索查询的解决方案需要某种索引结构,该索引结构将不允许您访问O(1)中的最新顶点。

相关问题