GraphHub使用Gremlin图遍历语言查询经过某一点的路径

项目场景:GraphHub使用Gremlin图遍历语言查询经过某一点的路径

项目场景:在一个案件中警方排查到了受害人的身份信息,现在要根据受害人的信息查询出来所有和受害人相关联的人员信息。这个时候我们就用到了图谱中根据某个顶点查询所有路径的场景。


函数使用说明

  1. repeat(): 指定要重复执行的语句,如repeat(out(‘friend’))
  2. times(): 指定要重复执行的次数,如执行3次repeat(out(‘friend’)).times(3)
  3. until():指定循环终止的条件,如一直找到某个名字的朋友为止repeat(out(‘friend’)).until(has(‘name’,‘xiaofang’))
  4. emit(): 指定循环语句的执行过程中收集数据的条件,每一步的结果只要符合条件则被收集,不指定条件时收集所有结果
  5. loops():
    当前循环的次数,可用于控制最大循环次数等,如最多执行3次repeat(out(‘friend’)).until(loops().is(3))

最终使用函数

g.V(‘xxxid’)
.repeat(out().simplePath())
.until(hasLabel(‘xxx’))
.path()

详解

  1. g.V(‘xxxid’): 确定某个顶点,xxxid是顶点的id
  2. .repeat(out().simplePath()): 重复执行out().simplePath() 操作,,意思就是找出相邻出去的顶点,不考虑闭环的情况,闭环会造成无线和循环。
  3. .until(hasLabel(‘xxx’))终止条件是,当相邻出去的顶点概念是xxx的时候就停止执行

猜你喜欢

转载自blog.csdn.net/Oaklkm/article/details/130317980