编写自定义Neo4j记录插件

时间:2013-03-12 20:20:43

标签: neo4j

我要求能够经常插入批量节点。它可以是完全新插入或更新现有节点(以及关系)。

在Neo4j中使用BatchInsert工具后,我发现了一个限制,即当我的下一批节点到达时,我不能只将它们更新到图形中(或将它们添加到图形中)。相反,我将不得不从一开始就加载我之前重新加载的所有其他内容。

我深入研究了neo4j内核代码库,看看我是否可以实现一个自定义导入器,它允许我在新数据到达时导入和更新。 BatchInserterImpl似乎是逻辑内容正在创建节点,创建关系等的类。正如所料,我看到,nodestore(NeoStore对象)是在构造函数中新创建的。

如何解决这个问题?是否有其他插入数据的实现,更新被处理,以便,我不必重新导入我已添加到图形数据库的所有内容?如果没有,您对扩展现有代码以帮助我的用例有什么建议?

我还需要添加索引和支持事务(至少在基本级别)。

1 个答案:

答案 0 :(得分:1)

感觉您应该使用EmbeddedGraphDatabase。 BatchInserter主要用于初始大规模插入。一旦完成,你应该切换到EmbeddedGraphDatabase,它支持并发读/写和事务,什么不支持。