如何在python gremlin中检索顶点的属性值

如何在python gremlin中检索顶点的属性值,python,gremlin,amazon-neptune,gremlinpython,Python,Gremlin,Amazon Neptune,Gremlinpython,这可能很容易,但我真的在努力解决这个问题。我使用gremlin python库和aws neptune db。 我知道顶点id,我只想获取顶点的一个属性的值(python中的字符串类型),并对其进行更新 我试过这样做: print(g.V(event['securityEventManagerId']).values('sourceData')) print(g.V(event['securityEventManagerId']).property('sourceData')) print(g.

这可能很容易,但我真的在努力解决这个问题。我使用gremlin python库和aws neptune db。 我知道顶点id,我只想获取顶点的一个属性的值(python中的字符串类型),并对其进行更新

我试过这样做:

print(g.V(event['securityEventManagerId']).values('sourceData'))
print(g.V(event['securityEventManagerId']).property('sourceData'))
print(g.V(event['securityEventManagerId']).property('sourceData').valueMap())
.....
但是我只是打印一些python gremlin对象,比如
GraphTraversal
,无法以
字符串的形式检索值


有人能帮我吗?

您必须使用终端步骤,没有它们,您的查询将无法执行

来自tinkerpop:

通常,当一个步骤连接到一个遍历时,将返回一个遍历。通过这种方式,以一种流畅的一元方式建立遍历。但是,有些步骤不返回遍历,而是执行遍历并返回结果。这些步骤被称为终端步骤(terminal),并通过下面的示例进行说明

在您的情况下,您应该:

g.V(event['securityEventManagerId']).values('sourceData').next()
下面是一个片段:

for p in g.V(v).properties():
   print("key:",p.label, "| value: " ,p.value)

其中v是要检查的顶点。

也有助于理解此概念: