当前位置: 首页 > 工具软件 > Gremlin > 使用案例 >

Gremlin 语法常用查询语句

白丁雨
2023-12-01

Gremlin 语法查询语句

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

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

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

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

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

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

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

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

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

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

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

6. 查询出边的 Label :

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

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

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

8. 查询入边的 Label :

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

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

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

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

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

11. 判断是否存在结果:

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

12. 对结果统计数目:

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

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

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

14. 使用 dedup 去重:

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

15. 查询出边的信息:

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

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

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

17. 查询入边的信息:

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

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

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

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

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

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

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

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

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