第2期 Gremlin Steps:
out()
、in()
、both()
outE()
、inE()
、bothE()
outV()
、inV()
、bothV()
、otherV()
本系列文章的Gremlin示例均在HugeGraph图数据库上执行,环境搭建可参考“准备Gremlin执行环境”,本文示例均以其中的“TinkerPop关系图”为初始数据,如下图所示:
环境搭建:https://www.jianshu.com/p/618cf6667381
边遍历概念
边遍历是指通过顶点来访问与其有关联边的邻接顶点(或者仅访问邻接边),边遍历是图数据库与图计算的核心。我们先以TinkerPop官网的例子来解释一下边遍历的相关Steps:
顶点为基准的Steps(如上图中的顶点“4”):
out(label)
: 根据指定的EdgeLabel来访问顶点的OUT方向邻接点(可以是零个EdgeLabel,代表所有类型边;也可以一个或多个EdgeLabel,代表任意给定EdgeLabel的边,下同)in(label)
: 根据指定的EdgeLabel来访问顶点的IN方向邻接点both(label)
: 根据指定的EdgeLabel来访问顶点的双向邻接点outE(label)
: 根据指定的EdgeLabel来访问顶点的OUT方向邻接边inE(label)
: 根据指定的EdgeLabel来访问顶点的IN方向邻接边bothE(label)
: 根据指定的EdgeLabel来访问顶点的双向邻接边
边为基准的Steps(如上图中的边“knows”):
outV()
: 访问边的出顶点(注意:这里是以边为基准,上述Step均以顶点为基准),出顶点是指边的起始顶点inV()
: 访问边的入顶点,入顶点是指边的目标顶点,也就是箭头指向的顶点bothV()
: 访问边的双向顶点otherV()
: 访问边的伙伴顶点,即相对于基准顶点而言的另一端的顶点
实例讲解
下面通过实例来深入理解每一个操作。内容较多,请访问如下链接或点击底部“阅读原文”链接阅读完整内容:https://blog.csdn.net/javeme/article/details/82627396
综合运用
多度查询(完整内容请阅读原文)
查询支持Gremlin语言的软件的作者(完整内容请阅读原文)
查询某个作者的共同作者(完整内容请阅读原文)
请点击底部“阅读原文”查看完整代码