Gremlin - 从多个实体查询属性

Gremlin - query properties from multiple entities

我在两个 product 顶点之间建立了 product 顶点和 is_duplicate_with 边。所以数据模型是这样的:product(id=1) -> is_duplicate_with(created_by=abc) -> product(id=2)

如何编写 Gremlin 查询以从源产品获取产品 id,从 is_duplicate_with 边获取 created_by 值,从目标产品获取产品 id?在这个例子中,我想得到 id=1, created_by=abc, id=2.

您可以为此使用 path 步骤。

g.V('1').outE('is_duplicate_with').inV().hasId('2').
  path().
    by(id).
    by('created_by')

或者如果您事先不知道这些 ID

g.V().outE('is_duplicate_with').inV().
  path().
    by(id).
    by('created_by')

如果您确实需要结果中的 key/value 对,您可以这样做:

g.V().outE('is_duplicate_with').inV().
  path().
    by(project('id').by(id)).
    by(valueMap('created_by'))