Можно ли добавить и удалить тип к существующим отношениям, кто уже владеет типами?

Я попробовал это:

MATCH ()-[r:?:A]->()
REMOVE r:A
SET r:B
RETURN TYPE(r)
// -> :?:B

Это не работает. Ошибка:

Type mismatch: expected Node but was Relationship
"remove r:A" 
        ^
0
Svez Day 27 Май 2017 в 21:07

2 ответа

Лучший ответ

Нет, тип отношения не подлежит изменению, вам нужно удалить отношение и создать новое.

Тем не менее, у процедур APOC есть несколько удобных процедуры рефакторинга для выполнения такого рода операции рефакторинга, apoc.refactor.setType() должно быть тем, что вам нужно ,

2
InverseFalcon 27 Май 2017 в 19:33

Нечто подобное может работать:

MATCH (a)-[r:old]->(b) WITH a,r,b MERGE (a)-[:new]->(b) DELETE r;
0
HieroB 28 Май 2017 в 21:03