1 从vertex开始的遍历
1.1 out
查找vertex的邻接vertex,它有出向edge连接邻接vertex
张三所住的城市
gremlin-> g.V().has('name','张三').out('living')
所有与张三有出向edge连接的对象,如张三住的城市,张三认识的人等
gremlin-> g.V().has('name','张三').out()
1.2 in
查找vertex的邻接vertex,它有入向edge连接邻接vertex
所有住在shenzhen这个城市的人
gremlin-> g.V().has('City', 'name','shenzhen').in('living')
所有关联到shenzhen这个城市的对象
gremlin-> g.V().has('City', 'name','shenzhen').in()
1.3 both
查找vertex的邻接vertex,它有出向或入向edge连接邻接vertex
相当于out() 与 in() 的结果的或
认识张三或张三认识的人
gremlin-> g.V().has('name','张三').both('knows')
所有与张三有某种关系的对象
gremlin-> g.V().has('name','张三').both()
1.4 outE、inE、bothE
分别与out()、in()、both()对应,查找vertex的出向edge、入向edge、出向和入向edge
2 从edge开始的遍历
2.1 outV
查找edge出发的起始vertex,
2.2 inV
查找edge指向的目的vertex
2.3 bothV
查找edge的起始和目的vertex
2.4 otherV
edge的另一个端点。如果是从起始vertex遍历到的edge,otherV()表示edge的目的vertex
如果是从目的vertex遍历到的edge,otherV()表示edge的起始vertex
查找到的是李四,与g.V().has('name','张三').out('knows')
的结果相同
gremlin-> g.V().has('name','张三').outE('knows').otherV()
查找到的是张三
gremlin-> g.V().has('name','李四').inE('knows').otherV()
网友评论