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')