gremlin语言语法--学习笔记

学习gremlin语言的目的:测试图数据,支持gremlin语句,所以必须系统学习一下!!!!

一、基础查询

g.V()   查询所有的顶点
g.V(3) 查询顶点id为3的点。字符串id的要到引号V("tarzan") 
g.E()  查询所有的边
g.E('S3:TinkerPop>4>>S4:Gremlin') 根据顶点查询
g.V().id()  先查询V()所有点,再id(),获取所有点的id()
g.E().id()
g.V(1).label() 查询id为1 的点 类型 不能根据label查顶点label("node")报错 如果需要的话:g.V().hasLabel('node') g.V().limit(
10).label() 查询点,取前10个,查出这前十个的点的类型 g.V().limit(10).properties('city') 查出这是个点的city属性值 g.V(1).properties().key() 查id为1的顶点,他包含的所有属性key g.V(1).properties().value()

二、边遍历

g.V(1).out()  查id为1顶点的out方向的点    结果就是单个点。没有边
g.V(1).in() in方向的点
g.V(1).outE() 查的是out方向的边 结果有点有边
g.V(1).inE() in方向的边
g.V(1).both()
以上都是以点开始的。基准点必须是点

g.V('javeme').out('created').out('implements').out('contains').out('supports')

// 4度out()查询
// 通过id找到“javeme”作者顶点
// 通过out()访问其创建的软件
// 继续通过out()访问软件实现的框架
// 继续通过out()访问框架包含的软件
// 继续通过out()访问软件支持的语言


三、has条件过滤

g.V().hasLabel('person')   查询所有点,并且筛选出label为person的点

g.V().hasLabel('person','software') 

g.V().hasId('2:marko')  筛选出id为**的点

g.V().has(label, key, value)   通过label和属性的名字和值过滤顶点和边  想要通过属性查询,你必须要有属性索引

g.V().has('age', gt(20))    eq相等   ne、neq不相等,   gt大于, lt小于 gte、ge大于等于   lte、le 小于等于    

四、返回结果数限制

g.V().limit(10).count()  count用来计算查询结果一共有多少个点

g.V().hasLabel('person').range(0,2)  range取查询结果中的前两个,和python中一样
g.V().hasLabel('person').range(0,-1)  获取所有

g.V().hasLabel('person').limit(1)  limit限制支取查询结果的第一个

五、

六、

七、

八、

九、

原文地址:https://www.cnblogs.com/tarzen213/p/12073104.html