Как получить значение свойства вершины в Python gremlin
Это может быть легко, но я действительно борюсь с этой проблемой. Я использую gremlin python lib и aws neptune db. Я знаю идентификатор вершины, я просто хочу получить значение (тип String в python) одного из свойств вершины и обновить его.
Я пытался сделать вот так:
print(g.V(event['securityEventManagerId']).values('sourceData'))
print(g.V(event['securityEventManagerId']).property('sourceData'))
print(g.V(event['securityEventManagerId']).property('sourceData').valueMap())
.....
Но я просто печатаю какой-то объект gremlin на Python, например GraphTraversal
, не может получить значение как string
Может кто-нибудь мне помочь?
1 ответ
Вы должны использовать конечный шаг, без них ваш запрос не будет выполнен.
Из документации tinkerpop:
Обычно, когда шаг присоединяется к обходу, обход возвращается. Таким образом, обход строится плавным монадическим способом. Однако некоторые шаги не возвращают обход, а вместо этого выполняют обход и возвращают результат. Эти шаги известны как конечные шаги (терминал), и они объясняются в приведенных ниже примерах.
В вашем случае вам следует сделать:
g.V(event['securityEventManagerId']).values('sourceData').next()
Вот отрывок:
for p in g.V(v).properties():
print("key:",p.label, "| value: " ,p.value)
где v - вершина, которую вы хотите проверить.