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的时候就停止执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值