目录
简单分析:
操作过程
1、建立IRI(Internationalized Resource Identifiers,简称IRI)
2、类别设计
3、对象属性设计
4、数据属性设计
6、保存owl文件
protege教程建议参考这篇文章:
https://blog.csdn.net/Jenny_oxaza/article/details/83148300
首先看一下我们的数据库表单,主要是三个类别,五张表单。
并且像actor、movie、genre中包含具有的属性。
接下来,我们的需求就是使用Protege软件,构建实体关系,最终生成OWL文件。
1.1、输入想要的IRI,如下图:
2.1、点击图中1处的 Entities,然后选中owl:Thing标签,这个Thing是本体构建类别中,最顶层的描述,然后点击图片2处添加类别(或者按照3处,右键Thing选择Add Subclass选项),新建三个类别,actor,movie,genre;
2.2、选择actor类别(下图1),在其互斥(Disjoint With)类别中,添加 genre和movie(图2),添加完成后,由于acotr互斥了genre和movie,所以点击genre和movie也会看到其中的互斥类别都包含actor;
选择genre类型(下图3),互斥类型已经包含了actor,点击+号,新增movie类别(下图4)。不需要再对movie进行配置了,因为自动关联了movie。这样就完成了三个类的互斥配置。
3.1、点击Object properties(图1)选项卡、点击添加子类别(图2)增加对象属性,建立hasActor,hasGenre,hasActedIn三个对象属性;
3.2、点击hasActedIn属性(下图1),在右侧配置属性节点,属于顶层属性(图2)、配置 相逆对象属性(图3),hasActedIn的相逆对象是hasActor,很简单的意思哈,三元组描述是主谓宾关系,例如: 周星驰(actor)曾参加了(hasActedIn) 功夫(movie) ,那么 相逆属性,不就是 功夫(movie)有包含(hasActor) 周星驰(actor),这两个属性就是把实体关系 actor和movie进行了反转,设置属性取值主语类别为actor(图4),设置宾语类别为movie(图5)。
3.3、同理,配置hasActor属性,其中由于配置了hasActedIn的 逆属性 Inverse Of 是hasActor,因此 hasActor 的逆属性已经自动具有了 hasActedIn,其他的如下图配置即可。
3.4、同理,设计hasGenre属性,如下图,逆属性为空,因为没有设计对应逆属性,你可以后续自行挑战进行设计:
4.1、点击DataProperty(图1),建立具体的子属性类别(图2),具体类别按照我们数据库中的三张表单进行设计即可,当然,movie_id,genre_id,actor_id不需要设计。
4.2、为具体的属性类别添加描述限制,点击genre_name(图1),选择SubProperty Of,顶层类别为topDataProperty(图2),设置主语类别为genre,类别名称属于类别,没毛病(图3),设置取值范围,数据取值范围为图4,5操作。
同理,对其他所有movie_xx系列进行约束设置,我这里就取一张movie例图:
同理,对其他所有actor_xx系列进行约束设置,我这里取一张actor例图:
5、查看关系图
5.1、配置ontoGraf,如下图勾选 Window -- Tabs -- OntoGraf
5.2、点击OntoGraf进行查看:
6.1、File -- Save As ,对话框选择Turtle Syntax类型,如下图:
完成,owl文件什么时候使用可以看第一篇介绍。