Neo4j:从SQL数据库加载初始和增量数据

时间:2015-10-01 19:37:11

标签: neo4j

目前,正在评估Neo4j的某些数据分析。来自不同数据库的数据将定期推送到Neo4j数据库。这些可以有"添加,修改以及删除"。

作为模型,GraphDB和Origin SQL DB中的数据存储方式有何不同,我们正在考虑/试图找到 - 如何处理添加,修改和删除场景?

  1. 是否有任何标准规则/方式?

  2. 是否有任何同步通行费? (除CSV或类似的进口外)

  3. 提前致谢

2 个答案:

答案 0 :(得分:1)

您的案例中没有现成的解决方案。你应该自己构建它。

#1 - 手动导入

您可以准备数据并手动执行导入(使用标准工具)。然后,当出现新数据时 - 手动准备新数据并导入现有数据库。

Import toolCypher csv可以在这里使用。

#2 - 非托管扩展

您可以开发能够在数据库中保留Neo4j数据的unmanaged extension。在这种情况下,应在客户端和服务器端实现某种 sync

可以找到更多信息here

#3 - neo4j-csv-firehose

@sarmbruster开发了扩展程序 - neo4j-csv-firehose

  

neo4j-csv-firehose启用Neo4j的LOAD CSV Cypher命令加载   其他来自其他数据源。它提供了一个不受管理的Neo4j   扩展将其他数据源实时转换为csv -   因此可以作为LOAD CSV的输入。或者也可以   作为独立服务器运行。

查看README了解详情。

#4 - neo4j-shell-tools

这是由@jexp开发的另一个项目 - neo4j-shell-tools

  

neo4j-shell-tools为neo4j-shell添加了许多命令   轻松允许导入和导出数据到正在运行的Neo4j数据库。

查看README了解详情。

#5 - Liquigraph

另一个有趣的工具是 - Liquigraph

  

数据库迁移管理工具,基于Liquibase的工作原理。

您可以使用此工具以XML格式编写Neo4j数据库的迁移。

另外,你检查other existing neo4j tools - 也许某些东西适合你。

答案 1 :(得分:0)

不确定你要求的是什么。

通常你有一个导入脚本,可以将导入图模型。

这可以是cypher或java代码,由csv,json或任何数据源驱动(作为参数提供)。