在进行本体建模的过程中需要批量导入数据到protege,其内置模块Cellfie可以帮助我们实现这一过程,期间需要用到Transformation Rules,其语法规则需要遵循MappingMaster DSL。在对Cellfie官方文档链接:https://github/protegeproject/mapping-master/wiki/MappingMasterDSL

MappingMaster使用领域特定语言(DSL)定义从电子表格内容到OWL本体的映射。该语言基于曼彻斯特OWL语法,改语法的本身就是用来描述OWL本体的领域特定语言。
Cellfie:


将指定位置的数据导入为类或个体:

Class: @A1(指定一个位置)、@A*(指定一列)、@*1(指定一行)
Individual:@A*
Facts: @H1  @D*(xsd:integer)

Individual:@A*
Facts: @G1  @C*(xsd:string)


将指定位置的数据导入个体的同时指定该数据为某一个特定类型:

Individual: @A* Types: @A1

将指定位置的数据导入为某一存在类的父类:

Class: id SubClassOf: @A1 //需要注意的是id类必须存在原来的本体中。

将指定位置的数据导入为另一指定位置的父类:

Class: @B2 SubClassOf: @A1

将指定位置的数据导入为某一存在类的相同类:

Class:id
EquivalentTo: @B4

将指定位置的数据导入作为实例并利用事实分句具有数据属性hastitle取值为m:

Individual:@D2
Facts: hastitle "m"//这里的hastitle在本体中必须存在

更多推荐

protege利用Cellfie导入数据