Gremlin: добавление ребра и добавление ребра в одном запросе гремлина - PullRequest
0 голосов
/ 05 марта 2019

как добавить ребро и отбросить ребро к одному и тому же типу вершины в одном запросе gremlin.

скажем, у нас есть два типа вершин A --is -> B, теперь у меня есть вершина, которая связана с какой-то другой вершиной B.

Я хочу обновить вершину A до другой вершины B.

В настоящее время я удаляю текущую вершину B, а затем добавляю новую вершину.

1 Ответ

1 голос
/ 05 марта 2019

Вы можете сделать это за один проход, используя sideEffect():

gremlin> g.V().has('person','name','marko').as('m').
......1>   outE('knows').
......2>   filter(inV().has('person','name','vadas')).
......3>   sideEffect(drop()).
......4>   V().has('person','name','peter').
......5>   addE('knows').from('m')
==>e[13][1-knows->6]

В строке 1 мы в основном идентифицируем ребро, от которого мы хотим избавиться (т.е. "знает" ребро от "marko" до "vadas"), и мы drop() это в строке 3. В строке 4 мы ищем вершину к которому мы хотим подключить «marko», а затем добавить ребро в строке 5.

...