如何在一个 Gremlin 查询中获取两个或多个顶点的属性?

问题描述

如何在一个 Gremlin 查询获取两个顶点的属性(id)?

g.addV('user').property(T.id,'US001').property('name','Thirumal')
g.addV('role').property(T.id,'EMP001').property('role_name','Developer')
g.V('US001').addE('employee').to(g.V('EMP001')).property('from','2021/04/01')

如何在一个查询(如 sql 连接)中获取以下字段?

 1. id of the user node
 2. name 
 3. id of employee node
 4. role_name 
 5. from - Employee edge

解决方法

我想,如果您希望像 SQL 查询的结果一样将其全部展平在“行”中,您可能会这样做:

gremlin> g.V('US001').as('uid','name').outE().as('from').inV().as('eid','role').
......1>   select('uid','name','from','eid','role').
......2>     by(id).
......3>     by('name').
......4>     by('from').
......5>     by(id).
......6>     by('role_name')
==>[uid:US001,name:Thirumal,from:2021/04/01,eid:EMP001,role:Developer]