笔者在进行本体建模的过程中需要批量导入数据到protege,其内置模块Cellfie可以帮助我们实现这一过程,期间需要用到Transformation Rules,其语法规则需要遵循MappingMaster DSL。在对Cellfie官方文档[1]进行整理后对其进行总结和整理如下。
MappingMaster使用领域特定语言(DSL)定义从电子表格内容到OWL本体的映射。该语言基于曼彻斯特OWL语法,改语法的本身就是用来描述OWL本体的领域特定语言。
以下为实验过程截图。引用规范:@A3、@'sheet1'!A3
1、将指定位置的数据导入为类或个体:
Class: @A1(指定一个位置)、@A*(指定一列)、@*1(指定一行)
2、将指定位置的数据导入个体的同时指定该数据为某一个特定类型:
Individual: @A* Types: movieid、Individual: @A* Types: @A1
3、将指定位置的数据导入为某一存在类的父类:
Class: id SubClassOf: @A1 //需要注意的是id类必须存在原来的本体中。
4、将指定位置的数据导入为另一指定位置的父类:
Class: @B2 SubClassOf: @A1
5、将指定位置的数据导入为某一存在类的相同类:
Class: id
EquivalentTo: @B4
6、将指定位置的数据导入为另一指定位置的相同类:
Class:@A1
EquivalentTo: @B4
7、将指定位置的数据导入作为实例并利用事实分句具有数据属性hastitle取值为m:
Individual:@D2
Facts: hastitle "m"//这里的hastitle在本体中必须存在
8、将指定位置的数据导入作为实例并利用事