Gremlin Java заменяет старые свойства вершин на новые свойства - PullRequest
2 голосов
/ 29 февраля 2020

Я пытаюсь использовать gremlin java для замены свойства некоторой вершины следующим образом:
graph.V(1).properties().drop().property("foo", "bar").iterate()

Однако это только удаляет свойство, но не добавляет новое свойство. Я думаю, что итерация, вероятно, должна быть сразу после удаления, но я подключаюсь к удаленному графу db, поэтому я буду sh, чтобы уменьшить количество запросов.
Надеюсь, что есть какой-то способ достичь этого:

graph.V(1).properties().drop().property("foo", "bar") .V(2).properties().drop().property("foo", "bar").....iterate()

Ответы [ 2 ]

5 голосов
/ 29 февраля 2020

Да, вы определенно можете это сделать, посмотрите живой пример: https://gremlify.com/27

Вы можете выбрать вершину и просмотреть ее свойства или запустить g.V().valueMap(true) и затем:

g.V().sideEffect(properties ().drop()).property ("foo", "boo");

Чтобы увидеть новые свойства, примененные к нему.

(Для простоты я предположил одну вершину на графе, но это относится к любой вершине).

0 голосов
/ 01 марта 2020

Ответ @gremlify правильный. Кроме того, вы также можете использовать команду .union ().

g.V().union(
    properties().drop(),
    property('foo', 'boo')
);
...