Я пытаюсь выполнить массовую загрузку массива данных в один экземпляр Neo4j.Каждый узел будет представлять общий Entity
, который будет иметь определенные свойства, например:
В дополнение к этому существует ноль или более свойств, специфичных для типа Entity
, поэтому, например, если Entity
является Book
, свойства будут выглядеть примерно так:
- label
- описание
- дата
- автор
- впервые опубликовано
- ...
И если Entity
является Car
, свойства будут выглядеть примерно так:
- label
- description
- дата
- марка
- модель
- ...
Я впервые попыталсяимпортируйте набор данных путем потоковой передачи каждого Entity
из файловой системы и использования Cypher для вставки каждого узла (около 200 миллионов объектов и 400 миллионов связей).Это было слишком медленно (как я и ожидал, но попробовать стоит).
Поэтому я использовал инструмент массового импорта neo4j-admin import
, который работает над файлом CSV, в котором для каждого свойства указаны заголовки.У меня проблема в том, что я не вижу способа добавить дополнительные свойства, специфичные для каждого Entity
.Единственное решение, которое я могу придумать, - это включить столбец CSV для каждого возможного свойства, выраженного в наборе сущностей, однако я верю, что у меня будет множество избыточных свойств для всех моих сущностей.
EDIT1
Каждый Entity
уникален, поэтому будет несколько типов 1M + (метки в Neo4j)
Любые предложения о том, как этого добиться, будут оценены.