我有一个 CSV 文件,有 Id1 和 Id2。 Id1 和 Id2 是两个不同类的顶点。我想在 Id1 和 Id2 之间取得优势。这可以通过ETL实现吗?
我们可以在变压器的边缘配置中添加一些东西来实现这一点。
最佳答案
我会假设,
A
和 B
A
有 Id1
B
有 Id2
AtoB
A
和 B
实例存在于数据库中然后下面的 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" }
]
}
}
}
结果将是关于orientdb - 如何通过 OrientDb ETL 仅创建边,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31047918/