Как использовать узлы Neo4j BatchInserted после их создания и индексации?

Я использую API BatchInsert и LuceneIndexBatchInserter для создания своего графика (на данный момент ~ 10000 узлов). Дело в том, что BatchInserter.createNode(...) возвращает тип long.

BatchInserter inserter = new BatchInserterImpl( DB_PATH, BatchInserterImpl.loadProperties(   "neo4j.props" ) );
long node = inserter.createNode(properties);

где свойства - это карта (строка, объект).

Что мне действительно нужно, так это получить новый узел типа Node.

Node node = inserter.createNode(properties);

Таким образом, я могу использовать API ShortestPath и передать startNode и targetNode.

Итак, в принципе, есть ли способ получить узел из индекса как узел, а не длинный?

Может быть, если бы кто-нибудь мог просто объяснить, почему batchInserter возвращает узел типа long вместо типа Node? Надеюсь, это имеет смысл для кого-то, спасибо.


person mmay    schedule 27.07.2010    source источник


Ответы (1)


Средство пакетной вставки не предназначено для обычного использования, оно только для вставки данных. Если вы посмотрите на вики-страницу, вы увидите, что вы используете длинные строки при создании отношений . Итак, что вы делаете:

  1. вставить данные
  2. выключение пакетной вставки
  3. запустить графдб
  4. идти вперед с кратчайшим путем и все, что вам нравится
person nawroth    schedule 28.07.2010
comment
Разве мне не придется запускать базу данных графа перед закрытием batchInserter, чтобы перенести индексы в базу данных графа, чтобы я мог их использовать? или я что-то упускаю? кстати спасибо за помощь - person mmay; 28.07.2010
comment
Не уверен, что вы имеете в виду здесь, но при закрытии пакетного инсертера данные будут в БД, и после запуска встроенной графовой базы данных вы сможете читать и записывать в эту БД. Возможно, это то, что вы ищете: Индексирование с помощью BatchInserter? - person nawroth; 29.07.2010
comment
Хорошо, я понял. У меня сложилось впечатление, что при закрытии BatchInserter и IndexBatchInserter индексы будут удалены. Хотя я вижу, что это не так. Спасибо! - person mmay; 29.07.2010