Gremlin遍历。输出所有边缘细节以及输入/输出顶点id';s
我在构造gremlin查询时遇到了问题,无法为我提供所有边缘细节(标签、属性)以及Inv和OutV相邻顶点的ID(我不需要链接顶点的任何更多信息,只需要ID) 我所拥有的只是作为起点的边ID 因此,我的优势如下: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
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).