我有四个不同的 MySQL 数据库,我需要将它们转换为关联数据,然后对聚合数据运行查询。我已经分别生成了 D2RQ 映射,然后手动将它们一起复制到一个文件中。我已经阅读了一些关于自定义地图的材料,但我发现在我的情况下很难这样做,因为:
- 本体类不对应表名。事实上,大多数类都是列标题。
- 当我在 Protege 中打开组合映射时,它仅生成 3 个类(ClassMap、Database 和 PropertyBridge)并将所有列标题列为这些类的实例。
- 如果我将这个文件导入到我的本体中,一切都会变成注释。
请提出一种有效的方法来生成通过将这些数据库映射到我的本体而形成的单个图。
这是一个例子。我正在使用 EEM 本体来细化 D2RQ 生成的映射文件。这是映射文件中的一部分:
map:scan_event_scanDate a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:scan_event;
d2rq:property vocab:scan_event_scanDate;
d2rq:propertyDefinitionLabel "scan_event scanDate";
d2rq:column "scan_event.scanDate";
# Manually added
d2rq:datatype xsd:int;
.
map:scan_event_scanTime a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:scan_event;
d2rq:property vocab:scan_event_scanTime;
d2rq:propertyDefinitionLabel "scan_event scanTime";
d2rq:column "scan_event.scanTime";
# Manually added
d2rq:datatype xsd:time;
我感兴趣的本体有以下内容:
Data property: eventOccurredAt
Domain: EPCISevent
Range: datetime
现在,我应该如何修改映射文件,使日期和时间成为两种不同的关系?