概念
本体模块化是指模块化本体是本体模块和模块之间连接的集合,本体模块之间通过接口连接,模块化本体中单个模块的更新不影响组成本体的其他模块,也不影响模块化本体整体的知识表示。
用某种本体描述语言(例如 OWL)定义的本体,用于描述数据层中数据的语义内容。对于不同的资源 拥有者可能采用不同的本体描述语言。
本体模块化的定义阐述
SuOrez—Figueroa等 认为本体网络开发中需要考虑的模块化方法包括以下三个方面:
(1)模块化本体设计,即构建独立、自包含组件的本体;
(2)模块化现有本体,涉及本体模块抽取、本体分解为模块、隐藏本体中模块;
(3)重用本体模块。关注于模块化现有本体的活动和方法论指导,创建模块作为大规模本体的子组件。
Aquin指出本体模块化对应于包括模块化本体设计和模块化现有本体各种不同的任务。本体模块化的两个主要活动:在设计阶段确定模块或者模块化现有的非模块化本体。前者称为模块化先验,后者称为模块化后验。
林松涛 认为本体模块化特指按照适当的原则将一个待建模的复杂领域自顶向下逐层的分解为若干个相对独立但又相关联的所谓“子领域”.对每个子领域进行独立的建模,形成所谓的“本体模块”;将若干个本体模块按某种方法组装起来,即形成该领域的模块化本体。
模块化的思想来源于软件工程,是指将软件设计成清晰和良好的结构以支持软件的维护和重用。本体模块化理论刚刚起步,不同研究人员根据对本体模块的理解和应用背景,给出了本体模块的不同定义和称谓,例如,本体视图(ontology view)、模块(module)、块(block)、本体段落(ontology segment)等。
本体模块化的特点
一般来讲,模块化本体应该具有以下特点:
(1)模块化本体语义的正确性和完整性:由模块组成的系统,必须准确提供组成系统的各个模块的信息,各个模块能够独立表达各自的语义。
(2)组合性(Compositionality):在单独模块或几个模块中成立的逻辑属性,在集成之后的系统中也应该是成立的。模块化系统的这种组合性对类似一阶逻辑那样的不可判定逻辑很有意义,因为可以从更小粒度的理论入手尝试证明属性的正确性。对可判定的逻辑而言,组合性对推理性能很有帮助。当前,一些大型本体的规模远远超出推理机的推理能力。
(3)有向性(Directionality):系统应当允许模块之间有向的信息流动,使得一个模块可以在使用而不影响另一个模块。典型的例子是,领域本体使用顶层本体的知识时,领域本体的改变不能对顶层本体产生影响。
(4)可理解(Comprehensibility):模块的可理解性是为了支持系统的可维护性。基础模块的可理解性可以通过控制词汇表的规模和结构、公理集的复杂性达到;组合模块的可理解性,应该可以通过其模块的组合方式实现。
(5)稳定性(Stability):当模块化本体中的某个模块更新(即演化),或添加某个新模块的时候,系统应当保持稳定。对系统结构而言,添加新模块不会破坏原有模块之间已经建立的结构关系。
本体模块化的思想来自于软件模块化,因此与软件工程中的模块化机制有很多相同或相似的性质,例如模块的独立性、模块之间的信息共享和信息隐藏等等。软件工程中的模块化理论值得本体领域研究的借鉴,理解软件工程中的模块化机制,对理解本体模块化的概念有很大的好处。上述模块化本体的特点,目前很难实现。当前的本体模块化研究,主要是本体分解和模块抽取,考虑从本体中获取本体模块,很少涉及模块的组合问题。
实现模块化本体主要有两种主要的语言途径。一种是基于非经典语义的逻辑语言扩展,如分布式描述逻辑,E-连接和基于包的描述逻辑;另外一种途径是基于经典描述逻辑语义,但限制对外部符号的使用以保证各模块可安全的合并。