论文部分内容阅读
本文以国家杰出青年科学基金(外籍)项目——非结构数据管理的理论基础和系统实现(No.60688201)为研究来源,旨在解决该项目的核心理论问题——设计新型的数据模型来描述非结构数据元数据之间的各种语义关系及基于该模型的建模语言和查询语言,以有效的存储、管理和维护非结构化数据,并基于语境、语义和元数据之间的各种复杂关系进行搜索。本文的主要研究工作和贡献概括如下:我们在深入系统地研究了国内外主流数据模型的基础上,提出了一种新颖、功能强大的模型——信息网模型(INM)。INM可以非常直接、自然地表示现实世界中对象与对象、对象与关系以及关系与关系之间的各种联系,并且支持上下文语境信息访问。INM的最大创新之处是引入了角色关系并且采取新的机制表示对象之间的复杂关系和上下文语境信息来直接自然地反映现实世界中实体的动态、多刻面、演化特性。具体而言,角色关系兼具关系和角色双重作用。作为关系,它除了涵盖传统数据模型中关系所具有的一切特性外,还可以形成层次结构并指定其逆关系,进而根据这种逆关系生成由关系所产生的上下文。作为角色,它不同于角色模型中“角色”的概念,角色模型中的“角色”只是通过实例所属的角色类来体现对象所扮演的角色,因此它所能表达的语义非常有限。我们另辟蹊径,通过指定角色的角色标识来对角色进行更详尽的说明并将其嵌套在关系所产生的上下文中进而生成更丰富、翔实的上下文。此外,角色关系可以派生同名的角色关系类来表示参与了关系且扮演了相应角色的对象集合,而且可以通过在角色关系上指定属性和关系来描述这些对象在上下文中所具有的特性。INM的另外一个创新之处是它将现实世界中一个实体的所有信息都非常直接自然地集中表示在一个对象中,而且一个对象可以隶属多个不同的类,隶属于不同分类的属性或关系嵌套在对象属于该分类的上下文中构成详尽的上下文语境信息。这样,既不需要像角色模型那样为了支持多刻面和简单的上下文语境信息表示用一个对象实例和层次结构的角色实例来分散地表示现实世界一个实体的信息。也不需要像支持多分类的对象模型那样用给同名属性或关系改名的方法来解决隶属不同分类的相同属性或关系无法区分的问题。所以,INM中对象的表示与现实世界中实体的概念一一对应,表示更直接自然,更容易理解。针对INM我们设计了其建模语言,它能以直接、自然的方式表示INM的所有特性。它具有简洁、高度集成但是能够表达丰富语义的特点。就模式表示而言,我们用两种关系说明来表示INM的四种关系及其逆、角色关系的层次结构及其既作为关系又作为角色的双重作用都能非常自然地体现。就实例表示而言,我们主要用嵌套元组和关系层次来构造对象的复杂关系和上下文语境信息。本文还重点对INM建模语言的语义进行了形式化,主要包括:关系说明的分解,继承,关系的逆和约束。具体而言,关系说明的分解讨论角色关系和普通关系说明如何分解为与关系及其逆关系有联系的定义或说明集合。继承阐述INM中角色关系在模式级别和实例级别的继承,对象类的继承和角色关系的类继承。其中,除了对象类的继承与面向对象模型中的继承相同以外,其他两种继承都是INM所特有的。关系的逆讨论在考虑继承和覆盖的情况下互逆关系的语义,它用于关系的一致性约束。约束是为了确保数据库语义的正确性。首先,类层次不能出现环。其次,数据库中每一个对象对于其类定义都必须是强类型化。最后,INM建模语言提供对参与关系的两个对象之间一致性内置语义的支持,即:能够自动地维护各种关系及其逆关系的一致性。现有数据模型都无法支持这一特性,因为它们需要繁琐的人工操作。此外,我们还设计了INM的查询语言IQL,它是一种功能强大的描述性查询语言,能以简洁、自然的方式对用INM建模的信息进行搜索。IQL的查询部分和结构部分完全分离,其结构清晰紧凑,表示简洁自然,易于理解和使用;它直接使用INM对象结构表示查询并允许其任意位置出现变量,因此IQL与INM建模语言的表示风格高度一致,使得INM的整个语言系统表示简洁统一,逻辑一致;它既能够自然地表示和遍历有向图并提取其有意义的结果,又可以利用INM中的元数据对象独特的语义特征避免出现死循环;逻辑变量的使用使得IQL更实用灵活;IQL不区分属性、关系等成分,只需要根据其名字就能查找,降低了用户对模式熟悉程度的要求从而提高了IQL的实用性;IQL将逻辑中的存在和否定的语义作为内置语义,最大限度地简化了IQL的语法,使得IQL的表示简明扼要又能表达非常丰富的语义。我们还开发了基于INM的数据库管理系统原型让用户可以用信息说明语言和信息操纵语言(它们都基于INM建模语言)对模式和实例进行添加、删除、修改。也可以用IQL对各种信息进行查询。