Я использую JanusGraph 0.2 с Cassandra 3.9. Как я могу заменить вершину?

Мы можем обновить вершину, например: gV(vertex_id).property("name","Marko")
есть ли способ заменить вершину?

1 ответ

Таким образом, вы хотите заменить все свойства одной вершины свойствами другой вершины (по крайней мере, так я понимаю ваш вопрос вместе с вашим комментарием).

Чтобы удалить все свойства, вы просто должны удалить их:

g.V(vertex_id).properties().drop().iterate()

и мы можем увидеть, как скопировать все свойства из одной вершины в другую в этом ответе Дэниела Куппица на вопрос о том, как объединить две вершины:

g.V(vertex_with_new_properties).
    sideEffect(properties().group("p").by(key).by(value())).
    cap("p").unfold().as("kv").
  V(vertex_id).
    property(select("kv").select(keys), select("kv").select(values)).
    iterate()

Когда мы объединяем эти два обхода, мы получаем обход, который отбрасывает старые свойства и копирует новые свойства из другой вершины:

g.V(vertex_id).
    sideEffect(properties().drop()).
  V(vertex_with_new_properties).
    sideEffect(properties().group("p").by(key).by(value())).
    cap("p").unfold().as("kv").
  V(vertex_id).
    property(select("kv").select(keys), select("kv").select(values)).
    iterate()

В действии для современного графа:

// properties before for both vertices:
gremlin> g.V(1).valueMap(true)
==>{id=1, label=person, name=[marko], age=[29]}
gremlin> g.V(2).valueMap(true)
==>{id=2, label=person, name=[vadas], age=[27]}

// Replace all properties of v[1]:
gremlin> g.V(1).
            sideEffect(properties().drop()).
           V(2).
            sideEffect(properties().group("p").by(key).by(value())).
            cap("p").unfold().as("kv").
           V(1).
            property(select("kv").select(keys), select("kv").select(values)).
            iterate()

// v[1] properties after:
gremlin> g.V(1).valueMap(true)
==>{id=1, label=person, name=[vadas], age=[27]}

Вы можете увидеть этот пример здесь, в GremlinBin: http://www.gremlinbin.com/bin/view/5a5ca9c7891c0

Другие вопросы по тегам