首页 > 解决方案 > Gremlin - 将顶点 ID 存储为另一个顶点的属性

问题描述

在 gremlin 中是否可以将顶点 ID 存储在另一个顶点中?例如,如果我创建了这样的顶点

g.
addV('my_vertex_label').property(id,'my_vertex_id').
property('anotherVertexID','other_vertex_id')

然后查询它

V('my_vertex_id').properties('anotherVertexID').value()

它会回来

["other_vertex_id"]

无论如何我可以像这样查询另一个顶点:

V(V('my_vertex_id').properties('anotherVertexID').value())

请注意,我正在使用AWS Neptune所以查询必须是纯 gremlin 没有 java/groovy

标签: graph-databasesgremlintinkerpop3amazon-neptune

解决方案


你可以做这样的事情

gremlin> g.addV('x').property('otherid','3').iterate()

gremlin> g.V().hasLabel('x').as('a').V().where(eq('a')).by(id).by('otherid')
==>v[3]

据我所知,hasId() 步骤和 V() 步骤都不能进行遍历,但可能还有其他方法。上面的示例在我对 Neptune 的测试中确实有效。


推荐阅读