我有一个要求,能够频繁地插入批次的节点。它可能是全新的插入或更新现有节点(和关系)。编写一个自定义的Neo4j记录插入器
在使用Neo4j中的BatchInsert工具之后,我发现了一个限制,即当我的下一批节点到达时,我不能将它们更新到图中(或将它们添加到图中)。相反,我将不得不加载从前一次加载的所有其他内容。
我深入研究了neo4j-kernel代码库,看看我是否可以实现自定义导入器,这将允许我在新数据到达时导入和更新。 BatchInserterImpl似乎是正在发生的逻辑肉创建节点,createRelationships等的类。正如所料,我看到,nodestore(NeoStore对象)在构造函数中新建。
我该如何解决这个问题?是否有插入数据的其他实现在哪里进行更新,以便我不必重新导入已添加到图形数据库的所有内容?如果不是,你有什么建议扩展现有的代码来帮助我的用例?
我还需要添加索引和支持事务(至少在基本级别)。
需要导入多少数据?为什么不把它插入交易? – 2013-03-13 12:52:17
我将导入大量数据(〜百万),并计划编写一个与Neo4j DB交谈的自定义库文件库。理想情况下,我想使用一个插件来帮助我进行初始批量导入,并在以后对节点和关系进行实时更新。 – 2013-03-19 17:09:40