HugeGraph

深入学习Gremlin(23):转换操作

2018-10-08  本文已影响112人  苏黎世黄昏

第23期 Gremlin Steps:

mapflatMap()

本系列文章的Gremlin示例均在HugeGraph图数据库上执行,环境搭建可参考准备Gremlin执行环境,本文示例均以其中的“TinkerPop关系图”为初始数据。

tinkerpop关系图

上一期:深入学习Gremlin(22):遍历终止操作

转换操作说明

实例讲解

下面通过实例来深入理解每一个操作。

  1. Step map()

    示例1:

    // 获取顶点“3:HugeGraph”的入“created”顶点的“name”属性,其实可以理解为顶点对象转化成了属性值对象
    g.V('3:HugeGraph').in('created').map(values('name'))
    // g.V('3:HugeGraph').in('created').map {it.get().value('name')}
    

    自己动手将g.V('3:HugeGraph').in('created').map {it.get().value('name')}的注视打开试试效果。

    示例2:

    // 先获取顶点“3:HugeGraph”的入“created”顶点,再将每个顶点转化为出边(一条)
    g.V('3:HugeGraph').in('created').map(outE())
    

    注意:顶点“javeme”其实是有三条边的,但是这里只打印出了一条。因为mapStep是一对一的转换,要想获取所有的边可以使用flatMap

  2. Step flatMap()

    示例1:

    // 先获取顶点“3:HugeGraph”的入“created”顶点,再将每个顶点转化为出边(多条)
    g.V('3:HugeGraph').in('created').flatMap(outE())
    

    注意:这一次就能打印出顶点“javeme”的全部三条边了。

下一期:深入学习Gremlin(24):待添加

上一篇 下一篇

猜你喜欢

热点阅读