Как переименовать отношения в 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", чтобы избежать зарезервированных ключевых слов