一种存储优化的语义数据查询系统技术方案

技术编号:6914611 阅读:232 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种存储优化的语义数据查询系统,包括语义数据导入模块、语义数据存储管理模块、存储数据持久化模块和语义数据查询模块。本系统支持了多种规范描述的资源描述框架数据的导入,并可以将存储模型映射到磁盘中,可以实现内存存储模型的快速重现。系统通过对语义数据查询进行转换和处理,形成底层存储模型可操作的查询图模型;通过对底层存储数据进行统计,建立了查询连接操作的代价模型,并使用贪婪算法实现了语义数据查询的优化模块,对查询的先后顺序进行了调整,提高了查询的性能。

【技术实现步骤摘要】

本专利技术属于语义网的资源描述框架数据存储及其查询领域,具体涉及一种包含优化的存储模型和基于该优化模型基础上的语义数据查询系统。
技术介绍
语义网是由万维网的创始人Tim Berners-Lee提出的关于下一代互联网的设想。它通过定义相应的描述标准使得数据更加结构化,通过向数据添加规则和语义,使得这些数据能够被机器处理。在七层语义网架构中,可扩展标识语言(Extensible Markup Language, XML) {^ ^ ^, [^^^ ! (Resource Description Framework, RDF)作为描述语义网数据的通用语言,是语义网描述数据的基础,资源描述框架的层次架构之上可以使用资源描述框架模式(Resource Description Framework Schema, RDFS)和网络本体语言(Web Ontology Language,OWL),通过一些内建的推理规则,能够对资源描述框架数据进行逻辑推理操作。语义数据查询语言(Simple Protocol and Query Language, SPARQL)已经成为查询资源描述框架数据的推荐标准,语法和结构化查询语言(Mructured Query Language, SQL)相似,但又有不同的特点。因此,如何在特定的存储模型上实现语义数据查询并对其进行查询的优化成为研究的热点。传统的存储资源描述框架数据的方式为三元组表,这些方式主要有基于关系数据库的存储方式和基于磁盘的本地文件存储方式。测试表明,三元组表或相似的方式存储空间利用率和查询效率都不是很高。垂直分割方式为了优化三元组的方式提出了按照属性进行分割,每个属性对应一个表,使得存储空间可以大大的较少,在查询单值属性可以快速的得到特定属性的所有结果。同时注意到资源描述框架数据一般拥有相关的模式信息,可以使用模式信息对分割方式进行进一步的优化。而随着硬件技术的不断发展,内存容量也越来越大,构建大规模的基于内存的资源描述框架数据存储系统成为可能。首先内存能够提供相当快的访问速度,可以对数据进行实时的操作,节省磁盘的开销,如果在内存中设计一个存储结构良好的资源描述框架存储系统,可以进一步的提高查询和分析的效率。基于内存的资源描述框架存储结构仍然处于不断的研究和完善阶段,构建一个基于内存的优化的存储模型和查询系统还是相当具有研究意义。研究表明,查询语句的执行顺序对查询的性能影响较大。而语义数据查询中基本图模式(Basic Graph Pattern, BGP)是语义数据查询语言非常重要的组成部分,因此优化的主要工作是对基本图模式的优化。传统的使用关系数据库作为后端的资源描述框架数据存储系统,由于直接将语义数据查询语言转化为结构化查询语言,因此一般不需要直接对语义数据查询语言进行优化,直接使用关系数据库的结构化查询语言优化引擎来实现。在优化的过程中,一般使用选择性评估来估计查询的代价大小。基于不同的存储模型有不同的选择性评估方法。一般的资源描述框架数据都有相应的模式信息,模式信息定义了实例空间数据使用的词汇。可以使用模式空间的词汇对实例空间的存储结构进行优化。本专利技术提出的基于内存的存储系统利用模式信息对存储结构进行存储优化的方法可以达到提高存储空间利用率,并且达到提高查询的性能。同时通过支持语义数据查询语言,并对查询的过程使用选择性评估和贪婪算法生成优化的查询计划,可以大大提高查询的速度。实验表明,使用模式信息对实例空间的数据进行组织存储在保证存储空间利用率的前提下,可以提高查询的效率。而在特定的优化存储模型上进行语义数据查询的优化可以进一步提高系统的查询效率。
技术实现思路
本专利技术的目的在于提供一种存储优化的语义数据查询系统,该系统可以使得资源描述框架数据能够高效地存储并被快速地查询。本专利技术提供的一种存储优化的语义数据查询系统,其特征在于,该系统包括语义数据导入模块、语义数据存储管理模块、存储数据持久化模块和语义数据查询模块;语义数据导入模块用于将各种格式的数据转换成合适的格式,并和数据存储管理模块进行交互完成数据的导入工作;语义数据存储管理模块负责整个系统的资源描述框架数据的存储和管理;它接受来自于语义数据导入模块做产生的格式化数据,将数据存入语义数据存储管理模块当中; 它与语义数据查询模块进行交互,接受来自语义数据查询模块的数据查询请求,并将符合条件的结果记录返回给语义数据查询模块;它与存储数据持久化模块进行交互,在整个系统退出前,将要序列化的数据传输给存储数据持久化模块,并在整个系统初始化的过程中, 将序列化的数据直接映像到内存中;存储数据持久化模块用于与语义数据存储管理模块进行交互,在系统退出时,将内存数据存储到文件系统中,以保证数据的持久性;在系统初始化时,将文件数据传递给模块;语义查询优化模块用于将用户的查询语句转换成系统能执行的特定格式,并将数据请求发送给语义数据存储管理模块,得到符合条件的记录,并将结果返回给用户。本专利技术将资源描述框架数据存储优化模型和语义数据查询优化相结合,提出了一种高效的数据查询系统。该系统具有以下特点和优势(1)基于主存的方法,将三元组转化为标识符(整型ID)进行存储,采用基于属性的垂直分割方法并利用模式数据的信息来组织存储结构,极大的提高了存储空间的利用率,同时方便查询的操作;(2)将语义数据查询语句进行查询图的转换,并对底层数据进行统计,利用贪婪算法实现了优化的查询计划,提高了语义数据查询的性能。附图说明图1为语义数据查询系统的总体结构示意图;图2为语义数据导入模块示意图;图3为语义数据存储模型管理模块示意图;图4为字符串与标识符映射模块数据结构示意图;图5为资源描述框架数据存储优化模型示意图;图6为实例空间中谓词为特定类型(rdf:type)的三元组的划分方式;图7为数据查询模块示意图;图8为语义数据查询语句的连接操作转换示意具体实施例方式下面结合附图对本专利技术作进一步详细的说明。如图1所示,本专利技术主要包括四个模块语义数据导入模块1、语义数据存储管理模块2、存储数据持久化模块3和语义数据查询模块4。语义数据存储管理模块2主要负责整个系统的资源描述框架数据的存储和管理。 它接受来自于语义数据导入模块1做产生的格式化数据,将数据存入语义数据存储管理模块2当中;它与语义数据查询模块4进行交互,接受来自语义数据查询模块4的数据查询请求,并将符合条件的结果记录返回给语义数据查询模块4 ;它与存储数据持久化模块3进行交互,在整个系统退出前,将要序列化的数据传输给存储数据持久化模块3,并在整个系统初始化的过程中,将序列化的数据直接映像到内存中。数据导入模块1主要将各种格式的数据转换成统一的格式,并和数据存储管理模块2进行交互完成数据的导入工作。存储数据持久化模块3的主要作用是与语义数据存储管理模块2进行交互,在系统退出时,将内存数据存储到文件系统中,以保证数据的持久性;在系统初始化时,将文件数据传递给模块2。查询优化模块4将用户的查询语句转换成系统能执行的特定格式,并将数据请求发送给数据存储管理模块2,得到符合条件的记录,并将结果返回给用户。下面分别举例说明上述各个部件的具体构成。如图2所示,语义数据导入模块1包括语义数本文档来自技高网
...

【技术保护点】
1.一种存储优化的语义数据查询系统,其特征在于,该系统包括语义数据导入模块(1)、语义数据存储管理模块(2)、存储数据持久化模块(3)和语义数据查询模块(4);语义数据导入模块(1)用于将各种格式的数据转换成统一的格式,并和数据存储管理模块(2)进行交互完成数据的导入工作;语义数据存储管理模块(2)负责整个系统的资源描述框架数据的存储和管理;它接受来自于语义数据导入模块(1)做产生的格式化数据,将数据存入语义数据存储管理模块(2)当中;它与语义数据查询模块(4)进行交互,接受来自语义数据查询模块(4)的数据查询请求,并将符合条件的结果记录返回给语义数据查询模块(4);它与存储数据持久化模块(3)进行交互,在整个系统退出前,将要序列化的数据传输给存储数据持久化模块(3),并在整个系统初始化的过程中,将序列化的数据直接映像到内存中;存储数据持久化模块(3)用于与语义数据存储管理模块(2)进行交互,在系统退出时,将内存数据存储到文件系统中,以保证数据的持久性;在系统初始化时,将文件数据传递给模块(2);语义查询优化模块(4)用于将用户的查询语句转换成系统能执行的格式,并将数据请求发送给语义数据存储管理模块(2),得到符合条件的记录,并将结果返回给用户。...

【技术特征摘要】

【专利技术属性】
技术研发人员:金海吴德龙赵峰刘谱
申请(专利权)人:华中科技大学
类型:发明
国别省市:83

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1