一.Protege简介、用途和特点
1.Protege简介
Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具,也是基于知识的编辑器,属于开放源代码软件。这个软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,下面操作使用版本为5.5.0。
2.Protege用途
- Protege是一组自由开源的工具软件,用于构建域模型与基于知识的本体化应用程序。
- Protege提供了大量的知识模型架构与动作,用于创建、可视化、操纵各种表现形式的本体。
- 可以通过用户定制实现域-友好(领域相关)的支持,用于创建知识模型并填充数据。
- Protege可以通过两种方式进行扩展:插件和基于Java的API。
- 相比与其它的本地构建工具而言,Protege最大的好处在于支持中文,在插件上,用OntoGraf可实现中文关系的显示。
3.Protege特点
- 类建模(Class modeling):Protege提供了一个图形化用户界面来建模类(领域概念)和它们的属性及关系。
- 实例编辑(Instance editing):从这些类中,Protege自动产生交互式的形式,全用户或领域专家进行有效实例编辑成为可能。
- 模型处理(Model processing):Protege有一些插件库,可以定义语义、解答询问以及定义逻辑行为。
- 模型交换(Model exchange):最终的模型(类和实例)能以各种各样的格式被装载和保存,包括XML、UML和资源描述框架RDF。
二.Protege案例
通过简单例子介绍Protege基本操作,包括建立本体、构建类、建立子类、构建类之间的关系、建立对象属性、建立数据属性、建立实例、保存本体、可视化和推理。具体kgexample-v2.owl文件下载参考[2]。
1.建立本体
打开Protege后就是新建本体的界面,如下所示:
2.构建类
在Entities页面,选择Class标签,右键点击owl:Thing,选择增加子类”人物”和”地点”。
3.建立子类
右键点击”人物”,然后增加子类”禅师”,如下所示:
4.构建类之间的关系
因为人物和地点是不同的事物,即它们相互具有排它性(owl:disjoinWith)。首先选中”人物”,在Entities右侧Description点击DisjointWith后的+,在弹出的界面中展开owl:Thing,选择”地点”后确定。
5.建立对象属性
标签Entities->Object properties->右键owl:topObjectProperty->Add Sub-properties->曾住:
为属性添加domain和range属性值,如下所示:
6.建立数据属性
首先Entities->Data properties->owl:topDataProperty->Add Sub-properties->法号,然后选中法号->Description->Range->Built in datatypes->xsd:string:
说明:限制”法号”该属性的取值范围为字符串。
7服务器托管网.建立实例
首先标签Entities->Individuals->点击菱形图标->佛印禅师,然后Entities->Description->Types-&服务器托管网gt;Class Hierarchy->禅师。这样该实例就有了类型的约束,如下所示:
添加实例之间的关系,选中”佛印禅师”->Property assertions->Object property assertions->点击+->输入对象属性名称(曾住)->输入实例名称(镇江金山寺)。这样”佛印禅师”和”镇江金山寺”通过”曾住”关联起来,如下所示:
实例添加属性值,选中”苏轼”->Property assertions->Data property assertions->+:
这样就为”苏轼”实例的属性”别名”添加了具体的值,即苏东坡、东坡。
8.保存本体
Ctrl+S保存本体,选择”RDF/XML Syntas”文件格式,保存为kgexample.owl。如下所示:
9.可视化
Windows->Tabs->OntoGraf,如下所示:
10.推理
Reasoner->HermiT->Start reasoner,推理得到的信息将会在对应的描述中黄色背景显示出来。裴休是裴文德的父亲父亲的domain是人物,range是男人,推出裴休是男人的一个实例,如下所示:
对于推导出来的信息,如果想知道为什么被推理机推导出来,可以点击推导出的信息后面的问号,解释的原因会在新的对话框中显示出来。
参考文献:
[1]Protege插件库:https://protegewiki.stanford.edu/wiki/Protege_Plugin_Library
[2]kgexample-v2.owl: https://url39.ctfile.com/f/2501739-934982316-535253?p=2096 (访问密码: 2096)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
写java时不管是我们自己new对象还是spring管理bean,尽管我们天天跟对象打交道,那么对象的结构和内存布局有多少人知道呢,这篇文章可带你入门,了解java对象内存布局。 本文涉及到JVM指针压缩的知识点,不熟悉的小伙伴可以看前面写过的一篇关于指针压缩…