知识图谱:方法、实践与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6 开源工具实践:基于Protégé的本体知识建模

2.6.1 简介

本节使用Protégé演示如何进行知识建模。本实践相关工具、实验数据及操作说明由OpenKG提供,地址为http://openkg.cn。Protégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和本体开发工具,也是基于知识的编辑器,属于开放源代码软件。该软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,本书采用的版本为5.2.0版本。Protégé有以下特点:

●Protégé是一组自由开源的工具软件,用于构建域模型与基于知识的本体化应用程序。

●Protégé提供了大量的知识模型架构与动作,用于创建、可视化、操纵各种表现形式的本体。

●可以通过用户定制实现域—友好(领域相关)的支持,用于创建知识模型并填充数据。

●Protégé可以通过两种方式进行扩展:插件和基于Java的API。

●与其他的本体构建工具相比,Protégé最大的好处在于支持中文。

●在插件上,用Graphviz可实现中文关系的显示。

Protégé的常见用途包括:类建模、实例编辑、模型处理和模型交换。

2.6.2 环境准备

1.开发软件版本及其下载地址

Protege5.2.0的下载地址为https://protege.stanford.edu/

2.环境的配置

在Protégé的官方网站可以下载对应系统的Protégé版本。本书以Windows平台下的Protégé作为示范。

2.6.3 Protégé实践主要功能演示

1.建模类

Protégé的主页面中会出现OWL Classes(OWL类)、Properties(属性)、Forms(表单)、Individuals(个体)、Metedata(元类)几个标签,如图2-25所示。选择OWL Classes。在Asserted Hierarchy(添加阶层)中,会有所有类的超类owl:Thing,单击Asserted Hierarchy旁边的【Create subclass】或者右击“OWL:Thing”选择“add subclass”。会出现Protégé自动定义名为Class_1的类。在对话框中,【Name】一栏输入名字“Animal”。

图2-25 建模类

2.建立子类

右击“Animal”,选择“add subclass”,将名字改为“Herbivore”(素食动物)。然后建立OWL:Thing的另一个子类Plant(植物),最后建立Plant的子类Tree(树),如图2-26所示。

图2-26 建立子类

3.建立属性

新建一个Object Property(注意不是DataProperty),右击“Object Properties”,选择“add sub-Properties”,输入is_part_of,然后勾选“Transitive”复选框,说明这是一个传递性属性。然后建立一个对象属性(owl:ObjectProperty)eat(吃),在Domain(定义域)中定义该属性的主体的类是Animal。最后建立一个属性eated(被吃),它是属性eat的逆关系(owl:inverseOf),在Inverse Of中选择属性“eat”,如图2-27所示。

图2-27 建立属性