OWL本体语言和Protege本体编辑器
演讲稿原作者:Wala Abdulaziz
译者:Wu Di (pimgeek)
转载、编辑:Tan Liwei
原文发布日期:2013年6月5号
原文链接:https://prezi.com/ggozsbzy2xn-/owl-protege/
什么是本体(Ontology)?
在计算机科学和信息科学中,本体的作用是表达知识.在本体中,知识可以被正式地表达为一系列的领域相关概念,以及这些概念之间的相互关系.
本体可以被用来为一个知识领域建立模型,并且支持对这个模型中的实体进行推理.
我们为什么需要本体?
本体的重要作用?
- 利用本体,可以在不同的人或应用程序之间共享一组有结构的信息,并达成理解上的共识.(补充:消除歧义、去重)
- 允许我们重复使用领域知识:当我们已经拥有了关于某个知识领域的本体时,我们可以把同一个本体应用于不同的应用程序中,这就可以避免重新发明轮子.
- 可以把知识领域内的(内行人不言自明的)前提假设明确地表达出来.
- 把领域知识与操作性知识区分开.
- 利用概念之间的已适当建立的关系分析领域知识.
- 确定知识领域.
- 列举出这个领域里会用到的术语.
- 定义一些可以表达领域内概念的类(class).
- 定义每个类的属性,以便将他们链接起来.
- 定义约束条件, 以便限制类和属性.
- 从类出发创建一些实例
- 一种用来定义Web本体的语言.
- 一个OWL的本体可以包含关于类,属性及其实例的描述.
- 当给定了一个这样的本体时,OWL的形式化语义允许我们由本体自动推导出一些符合逻辑的结论.
- Protege 是一个图形界面的本体开发工具,它支持丰富的知识模型
- Protege 是开源的,并且可以免费获取
(1) 个体
- 个体代表知识领域中我们感兴趣的那些具体对象.
- 个体有时候也被称作实例.
- 个体也可以被称作"属于某个类的实例".
属性是个体之间的二元关系. 换句话说, 属性把一对个体链接起来.
(3) 类
(3) 类
- OWL的类可以被理解为包含若干个体的集合
- 类需要被形式化地描述出来,这些描述精确界定了究竟个体能否成为某个类的成员的"准入标准"
- 不同的类可以被组织为体现父类子类关系的树形大纲结构
当前活动的本体
类
- 披萨饼本体中有很多类
- 子类: 在OWL 中表示隐含关系
- 不相交的类: 把一组类区分开来(如果A类与B类不相交,那么属于A类的个体不可能同时属于B类)
- 我们让以下四个类不相交
IceCream
Pizaa
PizzaBase
PizzaTopping
OWL的属性
对象属性:
对象属性是一对个体之间的关系,它从某一个体出发,链接到另一个体.
对象属性是一对个体之间的关系,它从某一个体出发,链接到另一个体.
数据属性:
数据属性是个体与某个数据取值之间的关系.
标注属性:
标注属性被用来为类,个体,对象属性/数据属性等添加信息(元信息,或者所谓的关于数据的数据). 译者注: 标注属性本身也可添加标注属性.
对象属性
对象属性
- hasCountryOfOrigin (拥有发源地国家)
- hasIngredient: (拥有组成要素)
haseBase (拥有面饼)
hasTopping (拥有覆盖食材) - hasSpiciness (拥有辛辣口味)
- isIngerdientOf:
isBaseOf
isToppingOf
对象属性的特性
函数型特性
函数型特性(Functional Properties):
如果一个对象属性是函数型的, 那么借助这个属性,某个体a只能连接到唯一的个体b
函数型特性也被称作单值特性
例如:
hasBase property.
(一个披萨只能拥有一个面饼)
hasBase property.
(一个披萨只能拥有一个面饼)
反向函数型特性(Inverse Functional Properties):
如果一个对象属性具有反向函数型特性,那么这意味着它的反向属性具有函数型特性.
例如:
(1) isIngredientOf (多对一)
(2) hasIngredient (一对多)
传递型特性(Transitive Properties):
如果一个对象属性P是传递型的,那么如果个体a通过属性P关联到b,且b又通过属性P关联到c,那么我们就可以推得:a一定可以通过属性P直接关联到c.
对称型特性(Symmetric Properties):
如果属性P是对称的, 并且个体a 通过属性P与个体b 发生关联,那么我们可以推得b 也一定通过属性P与a 发生关联.
如果一个对象属性P是传递型的,那么如果个体a通过属性P关联到b,且b又通过属性P关联到c,那么我们就可以推得:a一定可以通过属性P直接关联到c.
对称型特性(Symmetric Properties):
如果属性P是对称的, 并且个体a 通过属性P与个体b 发生关联,那么我们可以推得b 也一定通过属性P与a 发生关联.
非对称型特性(Asymmetric properties):
如果属性P是非对称的, 并且个体a 通过属性P与个体b 发生关联,那么我们可以推得b 不可能通过属性P与a 发生关联.
对象属性的定义域和值域
对象属性把来自定义域的个体链接到来自值域的个体.(但这种规定并不被用来限制个体).当一对个体 a 和 b 可以被这个对象属性关联时,即使它们并没有被明确地分配给任何类,我们也能推出 a 一定属于定义域所对应的类,而 b 则一定属于值域所对应的类.
推理机(Reasoner)
推理机是Protege 的重要功能之一. 我们不仅可以用推理机判定一个类的定义是否一致,还能利用充分必要条件发现一些隐含的信息.
一致性检查
检查一个(译者注:按规则形成的)类是否不可能包含任何个体.
自动分类
给定一个包含了很多类的树形结构,分类器能够把其中的一些类自动归集到对应的分支上去.(译者注:分类器是推理机的一部分,不仅可以对类做自动归集,还可以对个体做自动归集.)
分类器
当推理得出的类呈现红色时,这表示这些类是不一致的.(如下图:)
在本体理论中,不一致表示这样的类不可能拥有任何个体.
CheeseyVegetableTopping 类是不一致的, 那是因为我们给它设定了两个没有交集的父类, CeeeseTopping 和 VegetableTopping.
说明:
如果我们取消CheeseToppping 与 VegetableTopping之间的互不相交关系,然后再次开动分类器,那么CheeseyVegetableTopping这个类就不再是不一致的了.
OWL可视化(OWLViz)
- OWLViz 插件可以被用来在我们已定义好的类结构中四处游走和查看
- 检查类的一致性,并且用树的形状展示逻辑意义.
- 在包含很多类,而且部分类的父类也很多的大型本体库中,这个插件很有用.
- 以声明方式形成的类的层级关系
- 以推理方式形成的类的层级关系
以推理方式形成的类
不一致的类
(上图中)存在不一致性的类,在图中以红色高亮显示.
为披萨饼本体增加一些其它类(比如饮料类)
有困惑吗?
有困惑吗?
参考资料
(1) Ontology (information science): http://en.wikipedia.org/wiki/Ontology_(information_science)
(2) Natalya F. Noy, Deborah L. McGuinness, Ontology Development 101: A Guide to Creating Your First Ontology, Stanford, Available from:
http://www.ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinness.pdf
(3) What is protégé?: http://protege.stanford.edu/overview/index.html
(4) W3C,(2004)OWL Web Ontology Language Guide: http://www.w3.org/TR/owl-guide/
(5) Protégé Glossary:
http://protegewiki.stanford.edu/wiki/Pr4_UG_mi_Glossary#FaCT.2B.2B
(6) Matthew Horridge, (2011) A Practical Guide To Building OWL Ontologies
Using Protege 4 and CO-ODE Tools [online] Manchester, Available from:
http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_1.pdf
相关推荐
Protege是一款开源的、基于Java的本体编辑器,广泛用于构建和管理本体,特别是在生物医学领域。OWL(Web Ontology Language)是一种强大的语义网络语言,用于描述、表示和共享复杂的数据模型。在Protege中,OWL被...
3. **Protege工具使用**:Protege是一款流行且免费的本体编辑器,教程会详细演示如何使用它来创建、编辑和管理OWL本体。包括创建新项目、添加类和对象属性、定义个体、导入和导出本体等操作。 4. **本体推理**:...
Protege是一款开源的本体编辑器和框架,广泛应用于本体开发。使用Protege构建大学本体,我们可以: - 创建类(Class):在Protege中定义“学院”、“专业”等类,并为其添加属性。 - 建立对象属性(Object Property...
2. **Protege**:Protege是由斯坦福大学开发的开源本体编辑器,它提供了一个图形用户界面,让用户可以方便地创建、编辑和管理OWL本体。Protege支持导入和导出多种本体格式,并与其他工具和服务集成,如SWI-Prolog、...
Protege是斯坦福大学开发的一个开放源代码的本体编辑器,广泛用于知识工程、语义网和本体建模等领域。它支持多种本体语言,如OWL和DL(Description Logic),允许用户通过图形用户界面构建和管理本体。Protege的强大...
Protege是一款开源的本体编辑器,它提供了强大的工具用于构建、浏览和管理本体。而OWL(Web Ontology Language)是一种语义网标准,用于描述和表示复杂的数据结构。OWL API是与OWL语言交互的Java库,允许开发者在...
Protege5是功能强大的OWL本体编辑器,提供了丰富的工具和插件,帮助用户快速构建和应用OWL本体。本文详细介绍了Protege5的使用,着重于OWL本体的构建和应用。通过使用Protege5,用户可以快速构建OWL本体,应用于知识...
Protege是一款功能强大的本体编辑器,它提供了两种主要的本体建模方式:Protégé-Frames和Protégé-OWL编辑器。在这里,我们使用Protégé-OWL编辑器来构建本体。 什么是本体? ---------------- 本体(Ontology...
Protege是一款广泛应用的开源本体编辑器,专为知识工程和语义网领域设计。本体在计算机科学中,特别是人工智能和信息管理领域,是一种形式化的概念模型,用于明确表示领域内的概念、属性以及概念之间的关系。Protege...
1. Protege:Protege是一款开源的本体编辑器,广泛用于知识表示、知识管理和语义Web领域。它提供了一个图形用户界面,使得非程序员也能创建、编辑和管理本体,从而构建和理解复杂的信息结构。 2. Excel接口:在...
Protege是一款广泛使用的开源本体编辑工具,它能够帮助用户构建、管理和编辑基于OWL(Web Ontology Language)的本体。通过Protege,我们可以定义实体之间的关系,创建复杂的本体结构,从而更好地组织和管理知识。 ...
Protege是一款强大的开源本体编辑器和框架,专门用于构建和管理本体,它是信息技术领域,特别是语义网和知识工程中的一个关键工具。本体是形式化的、结构化的知识表示,它允许计算机理解并处理复杂的数据和概念。...
在Protege 4.0版本中,相较于之前的3.4版本,开发者们进行了一系列的改进和优化,使得这款强大的本体编辑器在功能、易用性和性能上都有了显著提升。 首先,从界面设计上,Protege 4.0引入了更为现代化的用户界面,...
Protege是一款广泛使用的开源本体编辑器,支持创建、编辑和管理本体。在“使用Protege创建本体进行推理-入门实例”中,我们将探讨如何通过Protege 5.2构建一个简单的生物分类本体,并利用内置的HermiT推理机进行推理...
总之,`Protege-OWL 3.4.4`源代码的分析和研究,不仅可以帮助我们深入理解OWL本体语言,还能提升对知识表示、推理机制和软件架构的认识,对于从事相关领域研究和开发的人员,这是一个宝贵的资源和学习平台。...
Protege是一款开源的本体编辑器,广泛用于创建、编辑和管理本体。用户可以使用Protege来构建本体,定义类、属性和个体,以及它们之间的关系。OWL的介绍可能包括它的三个主要版本:OWL Lite、OWL DL和OWL Full,分别...
OWLSEditor-build23是针对本体编辑器Protege的一个重要插件,它的存在极大地丰富了Protege的功能,使得用户在构建、编辑和管理本体时能够获得更加便捷和高效的体验。本体,全称为Ontology,是知识表示的一种形式,它...
Protege是一款开源的本体编辑器,它允许用户通过图形化界面创建、编辑和管理本体。Protege OWL Tutorial P4_v1_3.pdf可能包含了关于如何使用Protege创建和编辑OWL本体的教程,包括类、属性、个体以及本体推理等内容...
Protege是一款强大的开源本体编辑器,广泛用于构建、编辑和管理本体,尤其在生物医学领域应用广泛。这个初学者资料集包含了丰富的资源,旨在帮助用户快速掌握Protege的基本操作和OWL(Web Ontology Language)的使用...