首页 百科知识 本体构建编辑工具

本体构建编辑工具

时间:2022-02-27 百科知识 版权反馈
【摘要】:使用Protégé编辑本体只需要经过简单的操作即可实现,本节以古农书实验本体为例阐述Protégé的使用。目前的Protégé有XML、RDF以及OWL三种语言供用户选择。建立类别为古农书本体建立类别,主要是根据对古农书领域的分面分析,给出古农书领域的概念模型,在Protégé中可以对类进行设置,如不相交类。
本体构建编辑工具_éé_领域本体的半自动构建及检索研究

3.2 本体构建编辑工具——Protégé

经过近10年的发展,本体编辑工具已经比较成熟,目前存在Ontolingua、Webonto等数种有影响力的本体编辑工具。在这些工具中,被使用最广泛、最受关注的是斯坦福大学医学情报研究组开发的本体构建编辑工具——Protégé(http://protege.stanford.edu)。该工具采用Java编写,可以免费下载,其界面与普通的Windows应用程序风格一致,由于其开放性和兼容性备受瞩目,成为目前本体编辑的首选工具11

3.2.1 Protégé特点分析

Protégé有很多其他编辑工具所不具备的优点:

(1)是一个开放资源,允许用户二次开发,目前拥有最多的注册用户;

(2)不断有新版本推出,不断增加新功能,目前已经推出3.2版本;

(3)系统的可扩展性好,支持下载安装或者自行开发插件,拓展Protégé的功能;

(4)能够以多种方式存储本体,包括多种数据库格式和纯文本格式;

(5)支持多种本体表示语言输出,包括XML、RDFS、OWL等;

(6)界面简单友好,易于用户学习和操作;

(7)拥有众多的可视化插件供用户选择,概念关系一目了然;

(8)支持中文编码。

当然,Protégé在设计上也存在着一定程度的不足:

(1)一次只能打开一个本体:有些大型本体的编辑需要参考和引用已经存在的本体,这样的方式会影响大型本体的工作效率;

(2)不支持协同开发:目前的Protégé只有客户端,没有服务器端,不支持协同开发。尤其是大型本体的开发,需要多人的合作,大大影响本体的编辑效率;

(3)不能进行批量处理:在输入实例的过程中,不能以文本的形式将同类型的内容一次性导入,输入比较繁琐;

(4)运行速度比较慢,编辑效率不高,启动需要占用大量的内存资源;

(5)部分图形化显示工具不支持中文本体的显示,如OWLViz。

3.2.2 Protégé使用方法

Protégé工具有三个主要功能标签(Tab):类(Class)、属性(Property)、实例(Instance),主要是定义类和类结构,属性和属性值约束,类之间的关系和关系的属性等。使用Protégé编辑本体只需要经过简单的操作即可实现,本节以古农书实验本体为例阐述Protégé的使用。

(1)建立本体项目

给古农书本体建立project文件,类似软件项目开发中的项目文件,对古农书本体进行全面管理,同时需要给要建立的本体选择描述语言。目前的Protégé有XML、RDF以及OWL三种语言供用户选择。

(2)建立类别

为古农书本体建立类别,主要是根据对古农书领域的分面分析,给出古农书领域的概念模型,在Protégé中可以对类进行设置,如不相交类。经过概念分析,设置了如下类别:农书类、版本类、人物类、知识元类、研究论著类、时间类以及地点类等。

(3)设置属性

为古农书本体设置属性,主要是定义类之间的语义关系,以OWL语言为例,其中的属性有Object属性、Datatype属性和Annotation属性。其中最主要的是Object属性和Datatype属性,前者用来描述两个类之间的语义关系,定义属性的定义域(domain)和值域(range),如写作(Write)属性连接人物和农书类、研究论著类;后者用来描述类本身的特点,如时间类型、字符串类型、整形等,可用来定义日期、年龄等,类似程序设计中的变量类型。

(4)添加实例

为已经设置好的类添加实例概念。例如农书类的实例可能为齐民要术、农政全书;时间类的实例可能为宋代、元代等;地点类的实例可能为汉中地区、关中地区、长江流域等。

以上是最基本的设置,在OWL语言中,还可以为本体设置更多的语义关系约束,如把属性设置为:

(1)翻转属性(Inverse Property)

如果P1被声明为P2的翻转属性,那么如果X通过P1关联到Y,那么Y通过P1关联到X。如果hasChild是hasParent的翻转属性,Deborah hasParent Louise,那么我们就能够推理出Louise hasChild Deborah。

(2)传递属性(TransitiveProperty)

如果(x,y)是传递属性P的一个实例,(y,z)也是传递属性P的一个实例,那么(x,z)是传递属性P的一个实例。如果ancestor被声明为传递的,(Sara,Louise)是他的一个实例,(Louise,Deborah)也是他的一个实例,那我们就能够推理出(Sara,Deborah)是他的一个实例。

(3)对称属性(SymmetricProperty)

如果(x,y)是对称属性P的一个实例,那么(y,x)也是它的一个实例。被声明为对称的属性不能有任意的domain和range。Friend可以被说成是一个对称属性,如果Frank是Deborah的Friend,那我们可以推断出Deborah是Frank的Friend。

为属性添加约束(Restrictions),包括:

(1)allValuesFrom约束

该约束将一个属性的取值和一个class相关。也就是说,如果一个class的实例通过这个属性和另外一个individual相关,那么后一个individual则能够被认为是该约束类的一个实例。

Class Person有一个属性hasOffspring,该属性被约束在allValuesFrom上取值为Person类。这就是说如果Person的一个实例Louise通过属性hasOffspring和另一个individual Deborah相关,从这一点我们能推断出Deborah是Person的一个实例。这种约束允许hasOffspring属性被其他class使用,例如被class Cat使用,从而做出相应的约束。

(2)someValuesFrom约束

和上面类似,该约束也将一个属性的取值和一个class相关。只不过此时要求该属性的取值至少有一个是该class类型的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈