通过 Orientdb ETL 添加边 属性

Add Edge Property ithrough Orientdb ETL

我有 2 个 csv 文件。

Person.csv

ID,PetID,Jumps
1,101,Yes
2,102,No
3,103,Yes

Pet.csv

ID,Name
101,Dog
102,Cat
103,Rabbit

我正在编写 ETL 以使用这两个实体填充我的图形。 我想在 Person 和 Pet 之间添加一条边作为 HAS_PET。我还希望这条边有 属性 称为跳跃。我怎样才能做到这一点?

我试过如下,

{
    "source":{
        "file":{
            "path":"C:/Users/60886/Project/person.csv"
        }
    },


    "extractor":{
        "row":{

        }
    },


    "transformers":[
        {
            "csv":{

            }
        },
        {
            "vertex":{
                "class":"Person"
            }
        },
        {
            "edge":{
                "class":"HAS_PET",
                "joinFieldName":"PETID",
                "lookup":"PET.ID",
                "direction":"out",
                "unresolvedLinkAction":"NOTHING"
            }
        }
    ],
    "loader":{
        "orientdb":{
            "dbURL":"remote:localhost/GratefulDeadConcerts",
            "dbType":"graph",
            "wal":false,
            "tx":false,
            "batchCommit":1000
        }
    }
}

在边缘转换器中使用edgeFields绑定边缘的属性。示例:

"edge":{
   "class":"HAS_PET",
   "joinFieldName":"PETID",
   "lookup":"PET.ID",
   "direction":"out",
   "edgeFields": { "Jumps": "${input.Jumps}" },
   "unresolvedLinkAction":"NOTHING"
}

记得在边缘变换器之后从顶点移除 "Jumps",使用:

"field": { "fieldName": "Jump", "operation": "remove" },