Как изменить VLABEL на AgensGraph? - PullRequest
0 голосов
/ 28 июня 2019

Я хочу поменять 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?

1 Ответ

0 голосов
/ 28 июня 2019

Нет способа изменить метку на вершине в 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)
...