Gremlin遍历。输出所有边缘细节以及输入/输出顶点id';s

Gremlin遍历。输出所有边缘细节以及输入/输出顶点id';s,gremlin,tinkerpop,tinkerpop3,graph-traversal,amazon-neptune,Gremlin,Tinkerpop,Tinkerpop3,Graph Traversal,Amazon Neptune,我在构造gremlin查询时遇到了问题,无法为我提供所有边缘细节(标签、属性)以及Inv和OutV相邻顶点的ID(我不需要链接顶点的任何更多信息,只需要ID) 我所拥有的只是作为起点的边ID 因此,我的优势如下: Label: "CONTAINS" id: c6b4f3cb-f96e-cc97-dedb-e405771cb4f2 keys: key="ekey1", value="e1" key="ekey2", value="e2" inV的id为50b4f3cb-f907-c31c-628

我在构造gremlin查询时遇到了问题,无法为我提供所有边缘细节(标签、属性)以及Inv和OutV相邻顶点的ID(我不需要链接顶点的任何更多信息,只需要ID)

我所拥有的只是作为起点的边ID

因此,我的优势如下:

Label: "CONTAINS"
id: c6b4f3cb-f96e-cc97-dedb-e405771cb4f2
keys:
key="ekey1", value="e1"
key="ekey2", value="e2"
inV的id为50b4f3cb-f907-c31c-6284-1a3463fd72b9

outV的id为7cb4f3cb-d9a2-1398-61d7-9339be34833b

我想要的是一个查询,它将返回类似-

"CONTAINS", "c6b4f3cb-f96e-cc97-dedb-e405771cb4f2", {ekey1=e1, ekey2=e2, ...}, "50b4f3cb-f907-c31c-6284-1a3463fd72b9", "7cb4f3cb-d9a2-1398-61d7-9339be34833b"
我可以在单独的查询中获得信息,即

g.E("c6b4f3cb-f96e-cc97-dedb-e405771cb4f2").bothV()
==>v[50b4f3cb-f907-c31c-6284-1a3463fd72b9]
==>v[7cb4f3cb-d9a2-1398-61d7-9339be34833b]

但我一辈子都想不出如何将它们结合在一起。

你可以使用
project()
来获得你想要的:

g.E("c6b4f3cb-f96e-cc97-dedb-e405771cb4f2").
  project('ekey1', 'inV', 'outV', 'label').
    by('ekey1').
    by(inV().id()).
    by(outV().id()).
    by(label).

您可以使用
project()
获取所需内容:

g.E("c6b4f3cb-f96e-cc97-dedb-e405771cb4f2").
  project('ekey1', 'inV', 'outV', 'label').
    by('ekey1').
    by(inV().id()).
    by(outV().id()).
    by(label).

谢谢你的槌。你提到“单向”。如果你有机会,你可以给出另一个解决方案,其中有赞成的,也有反对的。非常感谢,伙计。考虑到你的问题,我不知道为什么要写“单向”。我认为
project()
是实现您想要的输出的最佳方式。感谢您提供此槌。你提到“单向”。如果你有机会,你可以给出另一个解决方案,其中有赞成的,也有反对的。非常感谢,伙计。考虑到你的问题,我不知道为什么要写“单向”。我认为
project()
是实现所需输出的最佳方式。
g.E("c6b4f3cb-f96e-cc97-dedb-e405771cb4f2").
  project('ekey1', 'inV', 'outV', 'label').
    by('ekey1').
    by(inV().id()).
    by(outV().id()).
    by(label).