Protege本体构建容易出现的问题

记录一下自己在构建本体时候出现的问题以及没注意到的事项吧!

(1)多个实体具有相同属性表示不当:当父类的多个子类具有一个相同的数值属性时候,但是并不是所有的子类都有这个对象属性,因此就不能让父类has这个对象属性,所以在定义这个对象属性的Domains时,需要填写多个子类实体。

此时就容易犯错,最开始我是使用protege在对象属性的Domains定义时,是通过点击多个加号实现的与概念连接对象属性,如图1所示,是槽、型腔、孔、台阶都具有深度这个数值属性。但是如何这个定义的话,protege是将其读取为Domain(hasDepth) = Slot ⊓ Pocket ⊓ Hole ⊓ Step,即只有一个个体同时属于 Slot、Pocket、Hole 和 Step 时,它才可以拥有 hasDiameter 属性。

正确应该是Slot or Pocket or Hole or Step,hasDiameter 适用于 Slot、Pocket、Hole、Step 中的任意一个,它们都可以有这个属性,而不是必须同时属于所有类,因此应该按照图2来进行定义。

 图1.错误的方法,表示交集

  图2.正确的方法,表示并集

这样编写的具体操作步骤为:点击Domains后的加号,在class expression editor里面编辑即可,如图3所示:

  图3.编写区域

(2)误解Subclassof的含义:是子类SubClassof父类,即使用SubClassof这个对象属性的时候,主语是子类,宾语是父类。在protege构建时,我就误解了这个含义,而且尤其是自己手动绘制本体图形的时候,一直是父类指向子类,然后用到subclassof。如果使用SubClassof,则应该是子类指向父类,所以我改为了hasSubClass在图上表示,protege不受影响。

在我后面的学习中,我发现这是两种不同的理解方式,本体概念上的就是subclassof,就是子类指向父类的,但是工程上即protege适用的时候他的理解方式就是谁有什么,因此是父类指向子类。

  图4.绘图错误使用对象属性

  图5.绘图修改对象属性名称

(3)适用pellet推理时,一直本体不一致错误:

  图6.推理报错

是因为推理出来的加工方法有多个,但是每个加工方法又都是互斥的,因此会互相影响。所以我删掉了本体自己创建的互斥关系,就不出现问题了。

(4)保存本体推理后的结果:点击file-Export Inferred Axioms as Ontology...,选择要保存的推理出来的内容,例如我需要保存推理的实例的Object property assertions,则我选择property assertoins来进行保存。

  图7.选中保存的内容

  图8.保存

修改目标本体的IRI名称,点击continue后,选择保存位置即可。

(5)如果本体保存为.owl文件的话,就不能保存里面设定的SWRL规则,可能是因为OWL语言知识包括本体?SWRL不是OWL语言,才不保存的吧,所以如果需要保存SWRL规则,需要注意文件格式。

这个我还不太清楚,我修改保存为Turtle文件好像就可以存储SWRL规则了,但是他不自动生成前缀了,还有点不清楚。

2025-04-13:如果我保存为OWL/XML文件,增加.owl后缀的话,再次打开就有SWRL规则,但是如果我保存为RDF/XML,增加后缀.owl,则再次打开后,protege里面的SWRL规则就会消失。

图9.Chatgpt分析对比格式

2025-4-17:发现如果是OWL/XML格式,增加.owl文件,则我是用python owlready2运行后,保存位于为新的文件后,我之前编写的SWRL规则在新文件里面也会消失,因此搜索了解到“仅支持从 RDF/XML 和 NTriples 文件加载 SWRL 规则,而不支持从 OWL/XML 文件加载 SWRL 规则”。因此上次的问题解决的不彻底,可能是误打误撞实现了。这次我保存为RDF/XML文件格式,然后python读取该文件,然后保存后的SWRL规则是不消失的。因此还是采用RDF/XML格式好。

owlready2关于SWRL的说明:SWRL rules — Owlready2 0.47 documentation

而且我尝试了保存为RDF/XML,保存SWRL规则后,再次打开仍然有。即使使用owlready2重新编写后,也还在。

(6)当用利用SWRL规则以及推理机推理实例的数值属性时,发现怎么也推不出来,那么请查看一下Reason—Configure—individual inferences里面有没有选中Date Property Assertions.这里是来控制可推理出来的内容的。

  图10.推理可显示的内容

最近又重新梳理了一边自己的本体,可能还会遇见问题,但是希望自己好运!

不用焦虑,不要考虑毕不了业,相信自己,快乐度过每一天,充实度过每一天!!!

希望研究生的我们,笑着面对未来,不要太焦虑。希望我未来的每一天可以像今天和昨天一样开心,充实,努力!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值