搜索最近添加的节点
Search for the most recently added node
我正在将具有特定标签的顶点添加到图形中(目前使用 gremlin-python 而不是 gremlinv3.3)。我正在向这些节点手动添加 "timestamp" 属性。我希望能够找到最近添加的带有此标签的顶点,这样我就可以从那里沿着链向后检索一定数量的顶点。在每次添加时从第二新的顶点到最新的顶点添加一组 "next" 类型的边将使我能够在找到最新的顶点后执行向后搜索。
我希望能够在次线性时间(理想情况下为 O(1) 时间)内找到最近添加的顶点。以下是如何做到这一点的一些想法:
- 我可以手动维护一个 "newest" 类型的节点,它指向
这种类型的最新顶点,然后搜索它。
- 我可以在添加这些顶点时在这些顶点上创建索引顶点的二叉树,以便向上搜索树并从任何位置返回
这些顶点将我传送到 O(log(n)) 时间内的最新节点。
- 也可能是我可以利用时间戳 属性 进行有效搜索,但我不清楚如何实现。
问题是,我不太了解图搜索是如何在幕后实现的,无法确定这些策略中的哪一个是最好的。谁能帮忙?
我创建的内容也可能会在 amazon-neptune 实例中重新部署,同样,我不清楚这是否会改变最佳策略。
I could manually maintain a node of type "newest" which points to the
newest vertex of this type and then search for that.
这是最简单、最快的解决方案。基于其他搜索查询的解决方案需要某种索引结构,不允许您访问 O(1)
.
中的最新顶点
我正在将具有特定标签的顶点添加到图形中(目前使用 gremlin-python 而不是 gremlinv3.3)。我正在向这些节点手动添加 "timestamp" 属性。我希望能够找到最近添加的带有此标签的顶点,这样我就可以从那里沿着链向后检索一定数量的顶点。在每次添加时从第二新的顶点到最新的顶点添加一组 "next" 类型的边将使我能够在找到最新的顶点后执行向后搜索。
我希望能够在次线性时间(理想情况下为 O(1) 时间)内找到最近添加的顶点。以下是如何做到这一点的一些想法:
- 我可以手动维护一个 "newest" 类型的节点,它指向 这种类型的最新顶点,然后搜索它。
- 我可以在添加这些顶点时在这些顶点上创建索引顶点的二叉树,以便向上搜索树并从任何位置返回 这些顶点将我传送到 O(log(n)) 时间内的最新节点。
- 也可能是我可以利用时间戳 属性 进行有效搜索,但我不清楚如何实现。
问题是,我不太了解图搜索是如何在幕后实现的,无法确定这些策略中的哪一个是最好的。谁能帮忙? 我创建的内容也可能会在 amazon-neptune 实例中重新部署,同样,我不清楚这是否会改变最佳策略。
I could manually maintain a node of type "newest" which points to the newest vertex of this type and then search for that.
这是最简单、最快的解决方案。基于其他搜索查询的解决方案需要某种索引结构,不允许您访问 O(1)
.