我有一个CSV文件,有Id1和Id2。 Id1和Id2是两个不同类的顶点。我想在Id1和Id2之间建立优势。这可以通过ETL来实现吗? 我们可以在变换器的边缘配置中添加一些东西来实现这一点。
答案 0 :(得分:1)
我会假设,
A
和B
A
有Id1
B
有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" }
]
}
}
}
结果将是