参考《知识图谱》P77-80页,没有教材的可以下载下面的全书的实验汇总的pdf,地址:http://openkg1.oss-cn-beijing.aliyuncs.com/44df267b-5b40-437d-9d15-102cee5f94ff/-----1.pdf 或者 http://openkg.cn/dataset/kg-book中的第二个pdf(知识图谱:方法、实践与应用-实践工具)
OpenKG提供:实验相关工具、实验数据和相关说明,
http://openkg.cn
斯坦福大学医学院生物信息研究中心提供:protege软件,基于java的本体编辑和开发工具,下载地址:https://protege.stanford.edu
教材中使用的版本是5.2.0,我下载的是2020年1月为止的最新版本:5.5.0
下载选择的是windows的桌面版,参考下图:
安装配置JAVA环境
由于Protege基于JAVA,所以要安装配置JAVA环境,至少需要一个JRE。 安装配置过程可以参考另外一篇博文:
《java安装:jdk1.7的安装》:https://blog.csdn.net/u012052268/article/details/44680389
下载完成后,如下图,先安装jdk,然后解压缩protege。
jdk安装成功截图:
解压protege之后,如下图
双击运行,显示protege编辑界面:
步骤一:建模类
protege打开,也就新建了一个本体,当然也可以选择file > new 来新建一个本体。
我们创建类(Class)需要用到“Classes"选项卡,
protege工具展现的面板还是比较多的,首先找到Classes面板
如果没有找到的话,在菜单中“Window->Tags->Classes”。
就像这样:
在classes页面,右键点击owl:Thing (超类),选择add subclasses;
在出现的对话框中 的name 输入类的名字,点击确定。本案例命名为:Animal
步骤二:建立子类
在Animal类上,右击鼠标,选择add subclasses,创建一个Herbivore(素食动物)子类
同样的方法,创建OWL:Thing的另一个子类Plant(植物),再建立Plant的子类Tree(树)
创建后如下图所示:
步骤三:建立属性
新建一个Object Property,如果没有可以选择windows>tag>Object Property
右击Object Property,选择“add sub-Property”,输入is_part_of,勾选Transitive复选框,表示这是一个传递属性
然后再创建一个对象属性(owl:ObjectProperty)eat(吃),再创建一个属性eated(被吃)
定义eat属性的定义域Domain,设置该属性的主体的类是Animal
然后,在eated属性上,选择它的逆关系eat,即在右侧Inverse Of中选择属性eat。
最后,创建一个Plant的子类Branch(树枝),设置约束限制:Branch是Tree的一部分(is_part_of)
protege 5.5.0的设置界面,参照下图:
到此为止,一个简单的本体就构建完成了。
在这里,结果和书上的一致,都是用OntoGraf显示的可视化结果。而OWLViz的结果却显示堆叠在左上角:如下图所示,具体如何解决这个问题,请关注我的下一个帖子。《知识图谱》-王昊奋-读书笔记1续-OWLViz可视化显示堆叠在左上角的问题