如何在创建和索引后使用Neo4j BatchInserted节点?

时间:2010-07-27 15:07:02

标签: java neo4j

我正在使用BatchInsert和LuceneIndexBatchInserter api来创建我的图形(现在约为10000个节点)。事情是BatchInserter.createNode(...)返回一个long。

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

其中properties是Map(String,Object)。

我真正需要的是获得Node类型的新节点。

Node node = inserter.createNode(properties);

这样我就可以使用shortestPath api并传入一个startNode和targetNode。

所以,基本上,我是否可以从索引中获取节点而不是长节点?

也许有人可以解释为什么batchInserter返回long类型的节点而不是Node类型?希望这对某人有意义,谢谢。

1 个答案:

答案 0 :(得分:0)

批量插入器不适合正常使用,仅 用于插入数据。如果您查看wiki page,您会看到在创建关系时使用long。所以你做的是:

  1. 插入数据
  2. 关闭batchinserter
  3. 启动graphdb
  4. 以最短的路径和任何你喜欢的方式继续前进