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 建立属性