觉得不错的话,点赞收藏鼓励一下作者吧!
--2022.11.2更新说明,更新了一下文章结构,以便大家更好的阅读
目录
1 任务说明
本题要完成的任务是:在系统中预定义食肉动物(Carnivore)和食草动物(Herbivore)特征的条件下,将新增的狮子(Lion)和长颈鹿(Giraffe)分类到符合它们特征的类别并重组实体列表。
2 预期结果展示
初始定义的类级结构见“Asserted”板块,推理完成后的类级结构见“inferred”板块。
先给图,图的上半部分是原来的实体结构,下半部分是经过本体推理后的结构。详细教程在后面。
3 详细的操作步骤
注:第一行选项栏是以File栏开始的,第二行选项栏是从Active ontology开始的,第三行选项栏是从Classes开始的。
第一步:创建初始类的层级结构
在Entities选项栏下的Classes选项栏下的owl:Thing中,添加子类Animal,Plant(Animal和Plant互斥,要点击Animal,在它右侧的描述属性里的Disjiont with中添加Plant)。Animal子类下再添加Herbivore,Carnivore,以及我们想要推理的对象:Lion和Giraffe。
第二步:创建初始属性的层级结构
在Entities选项栏下的Object properties选项栏下,添加子属性,eat,eated,is_part_of。eat再添加属性main_eat。
第三步:将类和属性关联起来
点击Carnivore,对它的描述属性进行定义。Equivalent to 中添加
Animal
and (eat some Animal)
(第一句,定义它属于我们定义的类Animal;第二句,进一步定义:并且它会吃其它动物)
(这两句语法解析:Animal为我们预定义的类,eat为我们定义的属性,and和some为protege中预定义的逻辑词)
同理,对食草动物Herbivore进行定义:
第四步:运行推理机
在最上方的选项栏找到Reasoner,点击start 即可,protege将为我们修正,将各个体归入到它应有的类中。最终结果:
4 owl本体推理源文件
本练习题的owl源文件在我的主页资源里,免费下载
--2022.9.28 更新
由于之前上传资源设置了动态调整积分,我现在没办法改,那个资源不能重复上传。我加了一个新实例cow,然后重新上传到资源里。