Как переименовать отношения в Neo4j?

Я понял только после импорта тонны узлов, что я создал отношения под названием START, который является зарезервированным ключевым словом. Запрос БД через консоль шифрования, следовательно, всегда жалуется на зарезервированные ключевые слова:

SyntaxException: зарезервированное ключевое слово " start n=node (0) match n

единственное решение, которое приходит на ум, - это создание новых отношений копирования с другим именем, а затем удаление старого те.

есть ли простой способ переименовать все эти отношения или каким-то образом избежать зарезервированных ключевых слов в Cypher?

2 ответов


Вы правы. Нельзя переименовать уже существующие отношения. Тебе придется ... --3-->выполнить все отношения, создайте новый параллельно (включая все свойства), а затем удалите старый.

вы также можете рассмотреть вопрос о цитировании зарезервированного слова START в ваших запросах cypher с backticks и оставьте отношения такими, какие они есть:

start n=node(0) match n<-[:`START`]-r return count(r)

сделать эквивалент переименовать, вы можете создать новый и удалить старый, например:

match (n1)-[old:`Start`]->(n2)
create (n1)-[new:StartDate]->(n2)
delete old

n.b. используйте backticks, как те вокруг "Start", чтобы избежать зарезервированных ключевых слов