2013-04-12 3 views
0

У меня проблема в witch - лучший способ вставить некоторые данные в neo4j db. У меня есть файл с большим количеством информации о фильмах, у каждого фильма есть другой идентификатор типа «tt0202025». У меня также есть файл с информацией о актерах, и у каждого из них есть идентификатор типа «mm2183122» У меня есть еще один файл, в котором описывается, в каком фильме участвует актер. mm2183122 | tt0202025, tt0204548Импорт больших данных в Neo4j без знания идентификатора узла

Я нашел некоторые вещи для вставки csv, но я не могу создать файл отношений между узлами раньше из-за размера данных.

Нужно ли сначала добавлять узлы фильмов и узлы актеров и после отношений между ними? И как можно узнать, какой идентификатор узла создается для каждого узла для создания отношений? Данные большие.

Я также читал для пакетной вставки, но я не смог точно понять, как это работает, поэтому я могу написать свой код в java.

Желаю, чтобы кто-то мог направить меня!

Заранее благодарен!

ответ

2

Простейшим решением, как вы указали, является вставка узлов фильмов и узлов-актеров, а затем создание отношений.

Вы можете отслеживать узлы, используя «mm2183122» и «tt0202025» в качестве свойств на узлах: например, у вас будет свойство «file_id» на ваших узлах, которое вы индексируете при создании узлов и запрашиваете его, когда вы хотите создать отношения. Я бы использовал уникальные индексы, чтобы убедиться, что вы не дублируете узлы, если вы вставляете их несколько раз. Для REST API у вас есть документ: http://docs.neo4j.org/chunked/milestone/rest-api-unique-indexes.html

Cypher также позволяет создавать уникальные узлы.

0

Вы можете посмотреть Talend Open Studio для больших данных - он имеет разъем Neo4j. Кривая обучения довольно крутая, но стоит того.

Смежные вопросы