【问题标题】:import edges to OrientDB using etl使用 etl 将边导入 OrientDB
【发布时间】:2015-09-25 09:22:04
【问题描述】:

我有 3 张表,一张用于顶点 A,一张用于顶点 B,第三张用于从 B 到 A 的边。如何将此图导入 OrientDB?

目前,教程只是说如何导入两个 csv 文件,一个用于顶点 A,另一个用于顶点 B 和从 A 连接的顶点。加载顶点 A,然后加载顶点 B 并从 A 创建边同时给B。

这适用于简单的图表。但是对于复杂的图,比如我有三种顶点,A,B,C,三种边,A -> B,B -> C,C -> A,这个图怎么导入呢?

我想使用 etl 来加载图表,虽然 JAVA API 应该是一个解决方案。


更新:
最后,我弄清楚了 Stack Overflow 是如何工作的。我不应该尝试在评论中插入数据,而是更新问题。
这是我的问题的一个具体示例:
两种类型的顶点:
大师(约翰、乔伊、迈克尔、罗伯特、艾伦)、
宠物(史努比、白色、蓝色)。

两种类型的关系:
喜欢(John 喜欢 Snoopy,Michael Linkes White,Michael 喜欢 Blue,Allen 喜欢 Snoopy,Michael 喜欢 White),
属于(史努比属于乔伊,白色属于罗伯特,蓝色属于约翰)。

如何使用 OETL 将这个小网络导入 OrientDB?

【问题讨论】:

    标签: etl orientdb orientdb-etl


    【解决方案1】:

    OrientDB ETL 工具允许您从外部来源加载图表。如果您阅读 OriendDB-ETL 介绍, 读取由记录集合生成的源,对每一行应用转换以生成文档记录(或顶点和可选的 egdes,请记住,OrientDB 是引擎盖下的文档数据库,也支持图形 em>),然后将生成的文档(或顶点/边)加载到 OrientDB 中。

    您应该使用多个 JSON ETL 文件来加载多个源,但在每个源中您可以加载多个顶点类和边,具体取决于应用的转换(您可以应用多个)。输入源可以是 SQL 数据库、CSV 和 JSON 格式的文件。有关从 CSV 源构建的具有多种顶点类型和边的示例,请参阅"Import the database of beers"

    使用数据库 (SQL) 表作为数据源时,请查看 Import from DBMS

    对于表,通常将A -edge-> B 映射到关系表中(例如,对于多对多或当边缘本身具有属性时),而对于更简单的边缘类型(一对一,一对-many...) 一个简单的外键是习惯性的。 ETL 配置以 JSON 格式给出,对于 SQL 数据库,您可以配置 SQL 查询(给出“结果表”)以及如何将结果字段映射到顶点和相关边。

    当您有多个源时,您可以添加多个 JSON ETL 命令,但在处理每个源时,您可以使用 用于创建顶点和相关边的转换器(参见转换器文档中的 VERTEX、EDGE 和 MERGE)。 CSV 转换器甚至可以直接从每个 CSV 行创建一个 ODocument。

    注意:作为 ETL 工具(相对较新)的替代方法,您可以使用 Java API 以编程方式将数据导入 OrientDB 数据库。如果您需要加载巨大的图表,这是推荐的方式,因为您可以完全控制如何将数据加载到 OrientDB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      相关资源
      最近更新 更多