Как изменить VLABEL на AgensGraph?

Я хочу изменить vlabel вершины.

agens=# create (:v1{id:1})-[:e1{id:3}]->(:v1{id:2});
GRAPH WRITE (INSERT VERTEX 2, INSERT EDGE 1)
agens=# match (n:v1{id:1}) set n:v2 remove n:v1;
ERROR:  syntax error at or near ":"
LINE 1: match (n:v1{id:1}) set n:v2 remove n:v1;
                                ^

Но на нем ошибка.

Как изменить VLABEL на AgensGraph?


person santino    schedule 28.06.2019    source источник


Ответы (1)


Невозможно изменить метку вершины в AgensGraph.

Но вы можете попробовать добавить новую вершину с такими же свойствами и удалить старую вершину.

agens=# create (:v1{id:1})-[:e1{id:3}]->(:v1{id:2});
GRAPH WRITE (INSERT VERTEX 2, INSERT EDGE 1)
agens=# match p = ( (n1)-[r1]->(n2) ) return p;
                               p                               
---------------------------------------------------------------
 [v1[3.1]{"id": 1},e1[4.1][3.1,3.2]{"id": 3},v1[3.2]{"id": 2}]
(1 row)

agens=# match (n1:v1{id:1})-[r1:e1]->(n2) create (n3:v2)-[r2:e1]->(n2) set n3 = properties(n1), r2 = properties(r1) delete r1, n1;
GRAPH WRITE (INSERT VERTEX 1, INSERT EDGE 1, DELETE VERTEX 1, DELETE EDGE 1, UPDATE PROPERTY 2)
agens=# match p = ( (n1)-[r1]->(n2) ) return p;
                               p                               
---------------------------------------------------------------
 [v2[5.1]{"id": 1},e1[4.2][5.1,3.2]{"id": 3},v1[3.2]{"id": 2}]
(1 row)
person 최현수    schedule 28.06.2019