如何通过OrientDb ETL仅创建边

如何通过OrientDb ETL仅创建边,orientdb,Orientdb,我有一个CSV文件,有Id1和Id2。Id1和Id2是两个不同类的顶点。我想在Id1和Id2之间取得优势。这可以通过ETL实现吗? 我们可以在变压器的边缘配置中添加一些东西来实现这一点吗 我想 这两类是A和B A具有Id1 BhasId2 边缘的类别是AtoB 数据库中存在A和B实例 AtoB.csv类似于 援助、投标 a1、b1 a2,b2 a2,b3 那么下面的ETL配置就可以了 { "source": { "file": { &q

我有一个CSV文件,有Id1和Id2。Id1和Id2是两个不同类的顶点。我想在Id1和Id2之间取得优势。这可以通过ETL实现吗?
我们可以在变压器的边缘配置中添加一些东西来实现这一点吗

我想

  • 这两类是
    A
    B

  • A
    具有
    Id1

  • B
    has
    Id2

  • 边缘的类别是
    AtoB

  • 数据库中存在
    A
    B
    实例

  • AtoB.csv类似于

    援助、投标

    a1、b1

    a2,b2

    a2,b3

那么下面的ETL配置就可以了

{
  "source": { "file": { "path": "...\AtoB.csv" } },
  "extractor": { "csv": { } },
  "transformers": [
    { "merge": {
        "joinFieldName": "BId",
        "lookup": "B.Id2",
        "unresolvedLinkAction": "WARNING" } },
    { "vertex": { "class": "B" } },
    { "edge": {
        "class": "AtoB",
        "joinFieldName": "AId",
        "lookup": "A.Id1",
        "direction": "in" } },
    { "field": {
        "fieldNames": ["AId", "BId"],
        "operation": "remove" } }
  ],
  "loader": {
    "orientdb": {
       "dbURL": "plocal:../databases/...",
       "dbType": "graph",
       "useLightweightEdges": false,
       "classes": [
         { "name": "A", "extends": "V" },
         { "name": "B", "extends": "V" },
         { "name": "AtoB", "extends": "E" }
       ]
    }
  }
}
结果将是

  • (a1)➡ (b1)
  • (a2)➡ (b2)
  • (a2)➡ (b3)