Создать узел с указанным c внутренним идентификатором, используя LOAD CSV - PullRequest
0 голосов
/ 22 марта 2020

для первоначального импорта данных (шаг 1) в базу данных Neo4j Я использую инструмент импорта neo4j-admin. Там вы можете указать внутренний идентификатор узла: ID в заголовке.

Я также хотел бы использовать команду LOAD CSV для создания большего количества узлов (шаг 2) в уже существующей базе данных (с данными из предыдущий шаг). Я не могу найти ответ о том, как с помощью этой команды указать внутренний идентификатор узла.

Почему это невозможно, а при первоначальном импорте это так? На втором этапе у меня есть такие же CSV-файлы, что и на первом этапе, что означает, что у меня есть CSV-файл узлов с первым столбцом, являющимся идентификатором узла, и у меня есть CSV-файл отношений между ними со столбцами, как start_id , end_id, relationsType.

Спасибо, Петр М

1 Ответ

1 голос
/ 23 марта 2020

Вы неправильно поняли, как используются ID, содержащиеся во входных файлах import . Они не используются как собственные идентификаторы.

ID s во входных файлах данных используются только для того, чтобы инструмент import знал, что узел X в файле A должен совпадать с узлом Y в файле B. После завершения импорта ID s из файлов забываются.

Каждый раз, когда создается узел, сервер neo4j всегда самостоятельно решает, каким будет действительный собственный идентификатор.

Кроме того, никогда не рекомендуется хранить собственные идентификаторы в БД, поскольку это ненадежный способ идентифицировать конкретный объект (узел или отношение) с течением времени. После удаления объекта его собственный идентификатор может быть переназначен новому объекту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...