1

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()
4

2 に答える 2