Автоматизировать создание отношений между не связанными узлами в Neo4j
У меня есть текстовый файл 178000 отношений в этом формате.
Файл начинается здесь...
MATCH (f:PERSON{идентификатор пользователя:483}), (h:PERSON{идентификатор пользователя:1086}) с f,h CREATE (f)-[:FRIENDS_WITH]->(h)
с 1 в качестве пустышки
MATCH (f:PERSON{идентификатор пользователя:1086}), (h:PERSON{идентификатор пользователя: 483}) с f,h CREATE (f)-[:FRIENDS_WITH]->(h)
с 1 в качестве пустышки
MATCH (f:PERSON{идентификатор пользователя:483}), (h:PERSON{идентификатор пользователя:1095}) с f,h CREATE (f)-[:FRIENDS_WITH]->(h)
с 1 в качестве пустышки
MATCH (f:PERSON{идентификатор пользователя:1095}), (h:PERSON{идентификатор пользователя: 483}) с f,h CREATE (f)-[:FRIENDS_WITH]->(h)
с 1 в качестве пустышки.
Файл заканчивается здесь
У меня есть узлы, созданные в Neo4j. Я не хочу вручную копировать вставить каждый запрос в браузере,
Есть ли способ автоматизировать эту проблему?
2 ответа
neo4j-shell -c < yourfile.cql
будет выполнять запросы шифра в файле, хотя я бы разделил этот запрос на более мелкие, заменив with 1 as dummy
с точкой с запятой.
Может быть, дубликат Как выполнить Cypher в файле?
Он выглядит как список запросов Cypher, сгенерированных из табличных данных, как файл CSV.
Вы могли бы взглянуть на LOAD CSV
Это позволит вам написать один общий оператор, а также периодически совершать транзакции, чтобы избежать той огромной транзакции, которая может привести к серверной стороне OutOfMemoryError.
В целом, из ваших других вопросов, похоже, что вам следует прочитать немного больше документации по Neo4j, не обязательно в целом, но, по крайней мере, пролистать таблицу содержания, чтобы увидеть, на что она способна.