ArangoDB 从SQL Server迁移到neo4j时,是否有类似SSMS的工具可将数据导入到neo4j

d7v8vwbk  于 2022-12-09  发布在  Go
关注(0)|答案(3)|浏览(151)

我正在从SQL Server迁移到Neo4J(或ArangoDB,更具挑战性),目前使用的是Windows堆栈和C#。我在github[https://github.com/jexp/batch-import/tree/20]上看到了批处理导入程序。
这个实用程序是一个导出工具,但是我无法确定rels.csvnodes.csv在导出端的位置(我在导入到neo4j时看到它)。这是实用程序中的一个选项,还是我让SSMS(SQL Server Management Studio)创建的东西。更具体地说,从SQL RDB的Angular 来看,关系和节点有什么区别?
要迁移数据,我需要遵循哪些选项/步骤,才能1)从SQL Server导出2)导入到可以轻松使用.netdriver/client的Neo4j?
这是我所知道的进口方面的情况,但不包括出口方面的情况。

batch_import.nodes_files=nodes1.csv[,nodes2.csv]
batch_import.rels_files=rels1.csv[,rels2.csv]

是否有导入工具(如Neo4j中的SSMS导入)可以帮助实现这一点,并将关系转换/保持为节点到节点
我这样想对吗-

  • 模式表是否Map到节点?
  • 表列/属性是否Map到neo4j中的(表)节点
  • FK和PK是否转换为关系或标签?
lzfw57am

lzfw57am1#

我将尝试为您的具体问题提供简短的答案,但关于数据建模主题,您需要阅读一些背景知识。Check out Data Modeling in Graphs,以获得良好的介绍。我在这里没有给您完整的故事,因为您提出的问题需要深入的答案。简要介绍就是答案。
1.模式表Map到节点吗?可以这么说--在关系数据库中,“实体”Map到节点。请注意,由于规范化和许多其他因素,“实体”和“表”实际上并不是一回事。此外,并不是所有的模式表都Map到一个节点,特别是因为表中包含了一些您不会在neo4j中使用的PK/FK(稍后将对此进行详细介绍)
1.在neo4j中,表列/属性是否Map到(表)节点?不,它们不会。属性Map到节点属性,但也有许多例外。特别是,在关系数据库中用于连接的任何属性都可能Map到neo4j关系,而不是节点属性。

  1. FK 's和PK' s转换为关系还是标签?它们Map到关系。任何类型的连接通常都会转换为节点之间的关系。
dwbf0jvd

dwbf0jvd2#

我只能给予你一个关于如何将图形数据导入ArangoDB的一般性答案。也可以查看FrobberOfBits的答案。要获得更具体的答案,请联系“hackers(at)arangodb.org“。
通常,sql模式对应于一些实体,这些实体以C#对象的形式可见。类层次结构的建模可以用不同的方式完成。这样的实体对应于ArangoDB中的文档。
例如:建模车辆、汽车和摩托车的一种方法是使用三个表。一个用于超类,两个用于子类。将有外键将子类数据链接到超类数据。在ArangoDB中,只有一个车辆类,文档包含的属性根据它是汽车还是摩托车而变化。
现在可能有一个人和一辆车之间的关系。这与上面的例子不同-同样使用外键。在这种情况下,你会在ArangoDB中的两个文档之间的一个边。
所以你需要一个导出来创建所有的文档(实体)和所有的边(关系),然后你可以使用“arangoimp”将这些文件导入ArangoDB。

qvsjd97n

qvsjd97n3#

您可以使用sql server management studio的导出数据工具从sql server导出数据。然后您可以使用neo4j-admin工具导入这些CSV文件。但是,您还应该创建标头CSV文件来描述节点属性和关系。对于关系CSV文件,您应该编写sql查询,然后使用sql server management studio的导出数据工具再次生成CSV文件。

相关问题