【发布时间】:2016-03-30 12:54:09
【问题描述】:
我正在尝试从 RDBMS (MySQL) 模式导入 OrientDB 数据库(版本 2.1.12)中的一些表。
例如,在 MySQL 模式中,我有一个名为 drug 的表,其外键链接到另一个名为 demo 的表的属性,定义如下:
primaryid bigint references demo(PRIMARYID) on update cascade on delete cascade
对于这种关系,我在 orientDB 图中定义用于导入的 ETL 模块没有问题,因为我使用了如下定义的转换器:
"transformers": [
{ "vertex": { "class": "drug" } },
{ "edge": { "class": "drugDemo",
"joinFieldName": "primaryid",
"lookup": "demo.primaryid",
"direction": "in"
}
}
],
使用 primaryid 属性作为连接字段,在演示和药物类之间正确创建边缘连接。
但我还有一个名为 indi 的表,其多列外键定义如下:
foreign key (PRIMARYID, INDI_DRUG_SEQ) references drug(PRIMARYID, DRUG_SEQ)
在这种情况下,如何在 ETL 模块中定义边变换器以将表格正确导入图形?
从 orientDB 文档中,我找不到多列外键的解决方案。我认为一个可能的解决方案是使用分隔符将新属性定义为 PRIMARYID 和 INDI_DRUG_SEQ 属性字符串的串联,但我不确定这是一个好的解决方案。
有什么想法吗?
【问题讨论】:
标签: orientdb