我正在使用 Neo4j Server 2.3.2 版本并使用非托管插件来解析非结构化数据并将其加载到图形中。
在执行此操作时,我陷入了重复节点和缓慢吞吐量(即使是批处理)的情况,以进行顺序处理。考虑到重复数据加载的用例,使用以下任一方法寻求并行数据处理(使用服务器插件):
拆分文件
拆分进程/线程
现在,对于并行日期加载,我可以预见的最大挑战是处理数据完整性问题,例如如何避免创建重复节点。阅读 Neo4j 的参考资料,我发现了以下创建唯一节点的选项。
选项:
[首选] 使用 Cypher 和唯一约束获取或创建唯一节点
[其他] Java API 的悲观锁定
[Other] 使用遗留索引获取或创建唯一节点
现在,问题是我可以从哪里使用 java API 强制执行这个独特的约束。我正在寻找一些可以捕获和执行约束的事件信息。请告知加载/调用某些事件/方法的最佳方法是什么,我们在那里注入代码以执行约束。
此外,有没有办法在创建任何实体之前使用 Cipher 定义这种独特的强制执行。
提前致谢
参考: