У меня большие проблемы с добавлением свойств к краю с помощью оболочки gremlin_python
.
Я могу создать край, вот так:
eid1='123'
eid2='456'
edge = g.V().has('eid', eid1).addE('transaction').to(g.V().has('entity_id',eid2)).next()
Но добавить свойства к краю не получится. Пример: код выполняется без ошибок, но на самом краю никаких изменений не происходит, поэтому, когда я вызываю g.E(edge).valueMap.toList()
, он возвращает пустой список.
g.E(edge).property('foo','bar').iterate() <-- I've also tried this without iterate.
Это также не сработает, если я создам узел и добавлю свойство в той же строке кода.
Тот же код - но выполняется в консоли gremlin - работает должным образом. т.е. после создания ребра и присвоения свойства:
gremlin> g.E(edge).valueMap().toList()
==>{foo=bar}
Любая помощь здесь будет принята с благодарностью.
Обновить
Мне не удалось заставить это работать, используя оболочку python для объекта обхода графа, вместо этого я запустил код через клиент, который работает, как ожидалось. Но это обходной путь, а не решение.
gremlin_client = client.Client('ws://localhost:8182/gremlin', 'g')
query = "g.V().has('eid', '123').addE('transaction').to(g.V().has('eid','456')).property('foo','bar').next()"
gremlin_client.submit(query).all().result()
g.E(edge.id()).property(...)
? - person stephen mallette   schedule 19.06.2019...edge.id...
работает в консоли, но не работает так же, как описано в gremlin_python. - person Ian   schedule 19.06.2019