[新技术]关于本体和面向对象的区别与联系

本文探讨了本体与面向对象在数据建模、知识库构建及软件开发中的不同角色。本体强调概念、关系及个体,常用于表示术语和知识库,而面向对象设计是一种软件开发方法,侧重于程序代码实现和模块间的松散耦合。UML作为OOP的建模语言,其表达能力较之OWL(本体语言)更为有限。本体具备严格的逻辑语义,能进行推理和一致性检查,这是面向对象设计不具备的功能。
摘要由CSDN通过智能技术生成

 

 

关于这个问题,我看到两套说法:

 

第一种说法来自W3China论坛的wolfel :

 

      工程上确实借鉴了本体这个哲学术语。本体在工程上主要用在数据建模和知识库构建上。本体通常指的是概念,概念之间的关系以及个体对概念的所属关系,它通常用来表示术语(taxonomy),这种术语是数据库或者知识库存储,查询和处理的对象。

 

       面向对象设计是软件开发的方法学--它是用来开发软件的,不是用来表示数据或者知识的。如果使用OOP开发软件,首先要面向对象建模,这也就构建了概念(class)和概念之间的关系(比如基类和派生类)。但是,OOP更重要的是把模型转化成程序代码,并且要尽可能的使得构建过程变得灵活,使软件的各模块之间松散耦合。我觉得这才是OOP的精髓。

 

      OOP的建模语言UML和本体语言OWL也许是同一个范畴的技术,但可以明显看出UML的建模能力远远弱于OWL。 UML只是对软件结构建模,而OWL却是一套基于逻辑的严格的知识表示语言,具有丰富的表达能力。OWL能够表示客观世界的中复杂知识,而不像UML那样仅仅表示软件系统中概念和数据结构。

 

      另一点不同之处是OOP没有严格的模型论语义,而基于描述逻辑的本体却有。这就意味着它可以自动检查语义一致性,进行自动推理发现隐含知识,查询回答和对查询结果进行解释。OOP作为一种设计方法学,显然不具有这么强大的能力,OOP在应用领域里也不需要具备这种能力。

==============&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值