基于本体语义索引的关系数据库信息检索方法及装置制造方法及图纸

技术编号:10388503 阅读:303 留言:0更新日期:2014-09-05 13:43
本发明专利技术涉及一种基于本体语义索引的关系数据库信息检索方法及装置,包括以下步骤:首先通过自动抽取数据库的信息形成本体数据库语义索引,然后按照从索引中提取的用户字典对用户的查询语句进行分词,最终通过sql语句生成算法自动构建sql语句,通过数据库连接形成查询结果返回给用户,从而实现对关系数据库的语义检索。对比现有技术,本发明专利技术能够以类非结构化数据查询的方式使用关键字查询结构化数据;同时本发明专利技术仅将数据库结构和用户关心的关键信息导入本体知识库,存储开销和同步更新开销均较小,且使用数据库管理系统自身的查询功能实现查询,响应时间也大大提高。

【技术实现步骤摘要】
基于本体语义索引的关系数据库信息检索方法及装置
本专利技术涉及一种数据库信息检索方法及装置,特别涉及一种基于本体语义索引的关系数据库信息检索方法及装置,属于计算机应用

技术介绍
计算机信息检索始于50年代初,在40多年的发展历史中,计算机信息检索大体历经了脱机检索,联机检索,网络化联机检索三个阶段。现阶段基于关键字以及谷歌PageRank算法的信息检索技术已经相当成熟。但是在数据库检索领域尤其是企业内部大数据时代的数据库信息检索,除了手动编写sql语句检索查询以外,尚缺乏其他更好的自动化检索技术研究。语义网技术是当前互联网技术研究的热点之一。目前大多数页面中的使用的文字信息不便于机器自动处理,只适合人们自己阅读理解。如何解决可自动处理的数据和信息方面发展较慢的问题,在网络上信息量剧增、人们迫切需要计算机分担知识整理这一压力的今天,成为信息检索的一个难题。语义网就作为解决这个难题的潜在方案又被称为web3.0。作为语义网实现的一个核心技术——本体(Ontology),定义了组成主题领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。本体的目标是捕获相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇(术语)和词汇间相互关系的明确定义。随着语义网技术的兴起,基于语义的智能搜索成为搜索引擎的下一个目标。这些研究大多是对非结构化数据的检索,对于结构化的数据库尤其是企业内部大数据时代的数据库信息检索,尚缺乏一定的研究。其中少有的基于本体知识库的检索虽然形成了本体文件,但是所有的实例和信息全部需要导入本体文件中,对于企业内部大规模的数据来说显然不够现实并且扩展性也不是很好。总体而言,已有的研究存在以下问题:(1)在信息检索领域很少有对结构化数据库的检索研究。(2)虽然一些研究结合了语义网技术,但是将所有的数据全部倒入本体知识库中去,最终等于是本体知识库的检索,不仅导致存储开销增大,同时本体知识库与数据库的同步更新也成为问题。
技术实现思路
本专利技术的目的是为解决对类似非结构化数据检索的数据库的高效检索问题,将关键字检索与语义网中本体技术相结合,提供一种基于本体语义索引的关系数据库信息检索方法和装置,实现对数据库类似非结构化数据的关键字检索功能。本专利技术方法的思想是通过自动抽取数据库的信息形成本体数据库语义索引,然后按照从索引中提取的用户字典对用户的查询语句进行分词,最终通过sql语句生成算法自动构建sql语句,通过数据库连接形成查询结果返回给用户,从而实现对关系数据库的语义检索。本专利技术的具体技术方案如下:一种基于本体语义索引的关系数据库信息检索方法,包括以下步骤:步骤一、对给定的待检索数据库,按照已经定义的本体文件结构,自动抽取数据库的表列名以及主键列或用户关心的其它列值生成本体文件;步骤二、扫描步骤一生成的本体文件,抽取词以及自定义词性构建用户自定义字典;步骤三、对用户的查询使用分词工具根据自定义字典进行分词以及词性标注;步骤四、对应分词的结果按照sql语句生成模板自动生成sql语句,sql语句生成过程如下:根据用户自定义词性的分类,用户输入的最终分词结果是daob,dait,和indi这三种词性以及这三种词性之间的组合。对于单一模式(即每种词性至多一个),一共有3+3+1=7中组合方式,对于每种组合方式,处理方法如下:情况1:A/daob:select*fromA;情况2:B/dait:列举所有包含B的表名供用户选择(如若只有一项,直接默认选择),转化成情况4;情况3:C/indi:列举所有包含实例C的列名供用户选择(如若只有一项,直接默认选择),转化成情况6;情况4:A/daob+B/dait:selectBfromA;情况5:A/daob+C/indi:select*fromAwhereD=’C’(D是实例C所属的列);情况6:B/dait+C/indi:列举所有包含B的表名供用户选择(如若只有一项,直接默认选择),转化成情况7;情况7:A/daob+B/dait+C/indi:selectBfromAwhereD=’C’(D是实例C所属的列)。对于非单一模式,即对于至少一种自定义词性,包含多于一个的分词结果,按照表列实例是否相关分组,判断是否相关的方法如下:表列之间,对于每一个表(即本体中的数据对象子类)和每一个列(即本体中的数据项子类)根据本体里面的数据对象属性,看它们之间是否存在“有数据项”的数据对象属性关联,有就归为一组,没有则归为不同的组。列与实例之间,对于每一个列和实例,判断该实例是否是该列的实例即实例是否属于表示该列的数据项子类,是则归为一组,否则归为不同的组。其中的每一组又是上面七种情况之一,再分别进行处理即可。步骤五、对于生成的sql语句进行数据库查询,并且返回结果给用户。通过上述步骤的操作,即可由用户输入的查询语句自动构建sql语句形成查询结果最终返回给用户。一种基于本体语义索引的关系数据库信息检索装置,包括本体文件生成装置,抽取用户自定义字典装置,同步更新装置,关键字输入装置,分词装置,sql语句生成装置、数据库查询装置和数据显示装置;所述本体文件生成装置用于对用户给定的数据库以及用户关心的列值信息按照已经定义的本体文件结构,自动抽取数据库的表列名以及主键列或用户关心的其它列值生成本体文件;所述抽取用户自定义字典装置用于使用分词工具使用daob、dait和indi三种词性对本体文件进行扫描分词,以及词性标注,并抽取单词以及词性标注的组合项生成用户自定义字典,各组合项之间以“,”分隔;所述同步更新装置用于在数据库中发生对本体文件中存储的数据库表列项实例的增加、删除和修改时,同步更新本体知识库和自定义字典;所述关键字输入装置用于接收用户的查询语句;所述分词装置用于将用户的查询语句使用分词工具按照自定义字典进行分词以及词性标注;所述sql语句生成装置用于按照sql语句生成模板对用户查询语句的分词结果构建对应的sql语句;所述数据库查询装置用于使用sql语句查询数据库并返回查询结果;所述数据显示装置用于将数据库查询装置返回的查询结果显示给用户。有益效果对比现有技术,本专利技术具备以下有益效果:(1)能够以类非结构化数据查询的方式使用关键字查询结构化数据,可以与非结构查询共用统一的查询接口,用户不需要了解sql规范即可实现对结构化数据的查询。(2)本专利技术仅将数据库结构和用户关心的关键信息导入本体知识库,存储开销和同步更新开销均较小,且使用数据库管理系统自身的查询功能实现查询,响应时间也大大提高。附图说明图1是本体文件结构以及类与类之间的关系。图2是电力全网日统计表列结构。图3是电力变压器日统计表列结构。图4是实施例中具体的库信息和数据对象信息的本体结构。图5是实施例中数据对象:电力全网日统计的具体的数据项信息的本体结构。图6是实施例中数据对象:电力变压器日统计的具体的数据项信息的本体结构。图7是本专利技术装置的结构示意图。图8是本专利技术方法的数据流程示意图。图9是本专利技术关键字输入装置的结构示意图。图10是本专利技术数据显示装置的结构示意图。具体实施方式为了更好的说明本专利技术的技术方案,下面通过两个实例表,对本专利技术做本文档来自技高网
...
基于本体语义索引的关系数据库信息检索方法及装置

【技术保护点】
一种基于本体语义索引的关系数据库信息检索方法,其特征在于,包括以下步骤:步骤1:对给定的待检索数据库,按照已经定义的本体文件结构,自动抽取数据库的表列名以及主键列或用户关心的其它列值生成本体文件;步骤2:扫描步骤一生成的本体文件,抽取词以及自定义词性构建用户自定义字典;步骤3:对用户的查询使用分词工具根据自定义字典进行分词以及词性标注;步骤4:对应分词的结果按照sql语句生成模板自动生成sql语句;步骤5:对生成的sql语句执行数据库查询,并返回查询结果给用户。

【技术特征摘要】
1.一种基于本体语义索引的关系数据库信息检索方法,其特征在于,包括以下步骤:步骤1:对给定的待检索数据库,按照已经定义的本体文件结构,自动抽取数据库的表列名以及主键列或用户关心的其它列值生成本体文件;步骤2:扫描步骤一生成的本体文件,抽取词以及自定义词性构建用户自定义字典;步骤3:对用户的查询使用分词工具根据自定义字典进行分词以及词性标注;步骤4:对应分词的结果按照sql语句生成模板自动生成sql语句;步骤5:对生成的sql语句执行数据库查询,并返回查询结果给用户;所述sql语句生成模板如下:情况1:A/daob:select*fromA;情况2:B/dait:列举所有包含B的表名供用户选择,如若只有一项,直接默认选择,转化成情况4;情况3:C/indi:列举所有包含实例C的列名供用户选择,如若只有一项,直接默认选择,转化成情况6;情况4:A/daob+B/dait:selectBfromA;情况5:A/daob+C/indi:select*fromAwhereD=’C’,其中D是实例C所属的列;情况6:B/dait+C/indi:列举所有包含B的表名供用户选择,如若只有一项,直接默认选择,转化成情况7;情况7:A/daob+B/dait+C/indi:selectBfromAwhereD=’C’,其中D是实例...

【专利技术属性】
技术研发人员:汪良果廖乐健陈若愚宋丹丹
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

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

1