Gremlin 语法常用查询语句

举报
程序员-上善若水 发表于 2022/06/24 00:44:14 2022/06/24
【摘要】 Gremlin 语法查询语句 Gremlin是 Apache TinkerPop 框架下的图遍历语言。Gremlin是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图(property ...

Gremlin 语法查询语句

Gremlin是 Apache TinkerPop 框架下的图遍历语言。Gremlin是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图(property graph)的遍历或查询。每个Gremlin遍历由一系列步骤(可能存在嵌套)组成,每一步都在数据流(data stream)上执行一个原子操作。

1. 查询某个 Label 的所有的点

g.V().hasLabel('persion')

  
 
  • 1

2. 查询某个 Label ,根据属性条件筛选:

g.V().hasLabel('persion').has('name','张三')

  
 
  • 1

3. 使用 limit 对查询条数进行限制 :

g.V().hasLabel('persion').has('name','张三').limit(10)

  
 
  • 1

4. 使用 tail 查看后几条数据 :

g.V().hasLabel('persion').has('name','张三').tail(10)

  
 
  • 1

5. 使用 timeLimit 查看在10毫秒内查询到的结果 :

g.V().hasLabel("persion").timeLimit(10)

  
 
  • 1

6. 查询出边的 Label :

g.V().hasLabel('persion').has('name','张三').out()

  
 
  • 1

7. 查询出边的 Label , 根据某个关系 :

g.V().hasLabel('persion').has('name','张三').out('info')

  
 
  • 1

8. 查询入边的 Label :

g.V().hasLabel('persion').has('name','张三').in()

  
 
  • 1

9. 查询入边的 Label , 根据某个关系 :

g.V().hasLabel('persion').has('name','张三').in('info')

  
 
  • 1

10. 查询出边的出边,并且限制属性条件 :

g.V().hasLabel('persion').has('name','张三').out('info').out('info').has('age','18')

  
 
  • 1

11. 判断是否存在结果:

g.V().hasLabel('persion').has('name','张三').out('info').out('info').has('age','18').hasNext()

  
 
  • 1

12. 对结果统计数目:

g.V().hasLabel('persion').has('name','张三').out('info').out('info').has('age','18').count()

  
 
  • 1

13. 对结果分组统计数目:

g.V().hasLabel('persion').has('name','张三').out('info').out('info').has('sex','男').groupCount().by('age')

  
 
  • 1

14. 使用 dedup 去重:

g.V().hasLabel('persion').has('name','张三').out('info').out('info').has('sex','男').dedup()

  
 
  • 1

15. 查询出边的信息:

g.V().hasLabel('persion').has('name','张三').outE()

  
 
  • 1

16. 查询指定出边的信息:

g.V().hasLabel('persion').has('name','张三').outE('info')

  
 
  • 1

17. 查询入边的信息:

g.V().hasLabel('persion').has('name','张三').inE()

  
 
  • 1

18. 查询指定入边的信息:

g.V().hasLabel('persion').has('name','张三').inE('info')

  
 
  • 1

19. 查询所有的出边指向的label:

g.V().hasLabel('persion').has('name','张三').outE().inV()

  
 
  • 1

20. 查询所有的出边的label:

g.V().hasLabel('persion').has('name','张三').outE().outV()

  
 
  • 1

21. 查询两个点之间的边信息:

g.V().hasLabel('persion').has('name','张三').outE().as('e').inV().has('name','李四').select('e')

  
 
  • 1

文章来源: blog.csdn.net,作者:小毕超,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_43692950/article/details/124627787

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。