Tinkerpop Gremlin按键分组并获取最新信息

语态2020

我正在创建2个用户(uid = 1和uid = 2),每个都有2个版本。

g.addV('user1').property('uid',1).property('version',1)
 .addV('user1').property('uid',1).property('version',2)
 .addV('user1').property('uid',2).property('version',1)
 .addV('user1').property('uid',2).property('version',2)

我想从每个uid获取最新版本,我使用uid作为groupBy键并获取最新的信息,如图所示

g.V().hasLabel('user1')
.group().by('uid').by(fold().order(Scope.local).by('version', Order.desc).unfold().limit(1)) //GraphTraversal<Vertex,Map<Object, Object>>
.flatmap(t -> t.get().values().iterator()) // convert to GraphTraversal<Vertex, Vertex>
//traverse out and get the path
.out('friend').path().by(elementMap())
  1. 满足此要求的最佳方法是吗?
  2. 使用gremlin首选方法是将地图转换为平面地图内的顶点而不是使用lambda吗?假设我想在此之后添加更多步骤。

感谢任何帮助!

凯文·劳伦斯(Kelvin Lawrence)

group步骤有两种模式。没有标签,它起到屏障作用,而带有标签,则起到副作用。您可以按以下方式使用数据使结果流经一个组。

gremlin> g.V().group('x').by('uid').by(values('version').max())
==>v[42306]
==>v[42309]
==>v[42312]
==>v[42315]
==>v[42318]  

gremlin> g.V().group('x').by('uid').by(values('version').max()).cap('x')
==>[1:2,2:2]  

您当然可以添加更多遍历步骤,然后再决定要对该组执行的操作。如:

g.V().group('x').by('uid').by(values('version').max())out()...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TinkerPop 3:Gremlin查询以按边方向分组计数

来自分类Dev

tinkerpop / gremlin-python:next()与iterate()

来自分类Dev

tinkerpop / gremlin-python:next()与iterate()

来自分类Dev

TinkerPop:Gremlin 重新审视访问过的边缘

来自分类Dev

如何从Gremlin(Tinkerpop)中提取原始值以进行比较或操作

来自分类Dev

Tinkerpop 3:使用Gremlin遍历计算连接的组件

来自分类Dev

Azure Cosmos graph db支持的Gremlin和Tinkerpop版本

来自分类Dev

在gremlin Tinkerpop3中解释计划(DSE图)

来自分类Dev

远程模式下 SparkGraphComputer 的 Tinkerpop Gremlin 服务器 MissingPropertyException

来自分类Dev

在 tinkerpop gremlin 中,如何搜索有对象列表的顶点的属性?

来自分类Dev

在tinkerpop中获取已保存中间节点的路径

来自分类Dev

Gremlin Double无法转换为org.apache.tinkerpop.gremlin.structure.Element类

来自分类Dev

Gremlin Tinkerpop返回一个对象Path,如何访问各个顶点

来自分类Dev

Tinkerpop Gremlin-如何将变量聚合到遍历独立的集合中

来自分类Dev

Tinkerpop Gremlin事务处理程序是否具有字节码?

来自分类Dev

Tinkerpop Gremlin-如何简化2计数数组上的{a-b}数学?

来自分类Dev

如何使用tinkerpop gremlin / frames设置排序过滤器的参数?

来自分类Dev

如何在Gremlin / Tinkerpop 3中查询多个顶点及其相互关系的数量?

来自分类Dev

编写gremlin查询的最佳方法是通过groovy脚本或tinkerpop步骤进行

来自分类Dev

如何在 Gremlin/Tinkerpop 中的不同顶点上执行交叉连接

来自分类Dev

Tinkerpop选择按顶点分组的多个邻居,它们是具有范围步长的邻居

来自分类Dev

Blazegraph Tinkerpop 3索引

来自分类Dev

Tinkerpop:创建嵌套属性

来自分类Dev

在 Tinkerpop 遍历中匹配 NOT

来自分类Dev

您可以像在Neo4J图中那样在Gremlin Tinkerpop中为顶点提供多个标签吗?

来自分类Dev

使用Gremlin / Tinkerpop 3的流畅api后,是否可以通过文本而不是步骤列表来打印查询?

来自分类Dev

如何在 gremlin groovy 脚本引擎初始化期间用 janus-graph 导入替换 tinkerpop 导入?

来自分类Dev

无法使用 Tinkerpop gremlin 驱动程序 3.3.1 通过 websocket 连接向 Janusgraph (cql-es) 添加边

来自分类Dev

JanusGraph / tinkerpop中的连接泄漏

Related 相关文章

  1. 1

    TinkerPop 3:Gremlin查询以按边方向分组计数

  2. 2

    tinkerpop / gremlin-python:next()与iterate()

  3. 3

    tinkerpop / gremlin-python:next()与iterate()

  4. 4

    TinkerPop:Gremlin 重新审视访问过的边缘

  5. 5

    如何从Gremlin(Tinkerpop)中提取原始值以进行比较或操作

  6. 6

    Tinkerpop 3:使用Gremlin遍历计算连接的组件

  7. 7

    Azure Cosmos graph db支持的Gremlin和Tinkerpop版本

  8. 8

    在gremlin Tinkerpop3中解释计划(DSE图)

  9. 9

    远程模式下 SparkGraphComputer 的 Tinkerpop Gremlin 服务器 MissingPropertyException

  10. 10

    在 tinkerpop gremlin 中,如何搜索有对象列表的顶点的属性?

  11. 11

    在tinkerpop中获取已保存中间节点的路径

  12. 12

    Gremlin Double无法转换为org.apache.tinkerpop.gremlin.structure.Element类

  13. 13

    Gremlin Tinkerpop返回一个对象Path,如何访问各个顶点

  14. 14

    Tinkerpop Gremlin-如何将变量聚合到遍历独立的集合中

  15. 15

    Tinkerpop Gremlin事务处理程序是否具有字节码?

  16. 16

    Tinkerpop Gremlin-如何简化2计数数组上的{a-b}数学?

  17. 17

    如何使用tinkerpop gremlin / frames设置排序过滤器的参数?

  18. 18

    如何在Gremlin / Tinkerpop 3中查询多个顶点及其相互关系的数量?

  19. 19

    编写gremlin查询的最佳方法是通过groovy脚本或tinkerpop步骤进行

  20. 20

    如何在 Gremlin/Tinkerpop 中的不同顶点上执行交叉连接

  21. 21

    Tinkerpop选择按顶点分组的多个邻居,它们是具有范围步长的邻居

  22. 22

    Blazegraph Tinkerpop 3索引

  23. 23

    Tinkerpop:创建嵌套属性

  24. 24

    在 Tinkerpop 遍历中匹配 NOT

  25. 25

    您可以像在Neo4J图中那样在Gremlin Tinkerpop中为顶点提供多个标签吗?

  26. 26

    使用Gremlin / Tinkerpop 3的流畅api后,是否可以通过文本而不是步骤列表来打印查询?

  27. 27

    如何在 gremlin groovy 脚本引擎初始化期间用 janus-graph 导入替换 tinkerpop 导入?

  28. 28

    无法使用 Tinkerpop gremlin 驱动程序 3.3.1 通过 websocket 连接向 Janusgraph (cql-es) 添加边

  29. 29

    JanusGraph / tinkerpop中的连接泄漏

热门标签

归档