學習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限制支取查詢結果的第一個
五、
六、
七、
八、
九、
十
