发明名称 保证语义正确性的动态分层集成数据访问方法
摘要 本发明公开了一种保证语义正确性的动态分层集成数据访问方法,目的是解决如何在大规模关系数据库集成条件下,提供语义完全正确的数据访问。技术方案为,先对描述逻辑子集DL-Lite<sub>A</sub>进行扩展得到<img file="DDA00002684527000011.GIF" wi="254" he="56" />然后基于<img file="DDA00002684527000012.GIF" wi="227" he="56" />描述逻辑进行本体TBox分层,并建立关系数据库和本体之间的LAV映射和O-GAV映射。再根据TBox分层中的T<sub>Q</sub>,采用SuperRef算法对查询请求进行扩展重写,构建包含查询结果动态ABox A<sub>Q</sub>。最后,对ABox A<sub>Q</sub>进行求精,返回查询应答结果。采用本发明能够向用户提供语义完全正确的数据,满足集成数据访问中对于语义正确性的需求,且可降低计算复杂度,提高扩展查询重写的效率。
申请公布号 CN103049555A 申请公布日期 2013.04.17
申请号 CN201210586602.0 申请日期 2012.12.30
申请人 中国人民解放军国防科学技术大学 发明人 姚莉;唐富年;封孝生;刘芳;张群;郝智勇;李金洋;袁金平
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 郭敏
主权项 1.一种保证语义正确性的动态分层集成数据访问方法,其特征在于包括以下步骤:第一步,对DL-Lite系列中的描述逻辑子集DL-LiteA进行如下扩展,得到<img file="FDA00002684526700011.GIF" wi="254" he="56" />DL-Lite是一种保证在大型数据集上仍然具有多项式级时间的推理的描述逻辑。1.1增加值约束;1.2增加非受限数量约束;1.3增加对称关系、反对称关系、自反关系和反自反关系;1.4去除角色包含公理;第二步,基于<img file="FDA00002684526700012.GIF" wi="228" he="56" />描述逻辑进行本体TBox分层,这里的本体是在OWL1DL本体的基础上应用SWRL规则得到的,具有一阶逻辑的表达能力;其中,本体TBox是描述概念之间相互关系的术语公理集,OWL1 DL是OWL1的子语言,SWRL是以语义的方式呈现规则的一种语言;本体TBox分层的步骤如下:2.1将满足<img file="FDA00002684526700013.GIF" wi="228" he="56" />中肯定概念包含公理的子集从本体TBox中划分出来,作为第一个分层,记作T<sub>Q</sub>;2.2将满足<img file="FDA00002684526700014.GIF" wi="228" he="56" />中角色与概念特性的约束性公理、否定包含公理的子集从本体TBox中划分出来,作为第二个分层,记作T<sub>Cst</sub>;2.3将满足OWL1 DL本体中其他无法由<img file="FDA00002684526700015.GIF" wi="227" he="56" />语法构造进行等价代换的剩余公理子集从本体TBox中划分出来,作为第三个分层,记作T<sub>r</sub>,满足这一层约束公理的个体是OWL1 DL本体的合法实例,剩余公理子集包含的公理有概念的交和并、命名个体、角色传递、角色包含和等价运算;2.4将用SWRL描述的Horn逻辑规则从本体TBox中划分出来,作为第四个分层;第三步,建立关系数据库和本体之间的LAV映射和O-GAV映射,其中,LAV是局部视图法,O-GAV是面向对象的全局视图法,具体步骤如下:3.1基于概念连接图和实体树构造LAV映射,编码生成表示和存储LAV映射的XML文件,所述概念连接图为二元组&lt;CNode,Edge&gt;,CNode为概念连接图中的节点集合,Edge为概念连接图中的边集合;所述实体树的根节点为<img file="FDA00002684526700016.GIF" wi="228" he="56" />本体中的概念,描述关系模式中隐含的一个实体集,实体树的叶节点为一个序偶&lt;col,dp&gt;,其中col为关系模式中的列,dp为本体中的概念特性;3.2采用面向对象的全局视图OGMG方法构造O-GAV映射,方法是:3.2.1根据分层TBox的T<sub>Q</sub>分层进行LAV映射分类,通过遍历T<sub>Q</sub>中的概念集合和LAV映射集合,将含有同一概念的LAV映射分为一类;3.2.2依据LAV映射中的标识变量对映射中隐含的语义信息进行划分,将同一LAV映射中使用同一变量标识的合取项分为一类;3.2.3构造O-GAV映射的首部和体部:根据与同一概念相关的合取项分别构造O-GAV映射的首部和体部,其中,首部是只包含基本概念的映射,其余映射为映射的体部;3.2.4合并O-GAV映射,将属于同一概念体的信息加以整合,即对首部中包含同一概念信息的O-GAV映射进行合并;3.2.5对O-GAV映射进行编码,得到包含O-GAV映射集合的映射文件;第四步,采用SuperRef算法对查询进行扩展重写,方法是:4.1将用户查询中的原子查询,即由本体中的一元谓词或二元谓词构成的公式所包含的谓词,作为搜索重写可达图的初始节点,重写可达图是以T<sub>Q</sub>中可用于扩展查询重写的谓词为节点,以符合重写规则的公理为边的一个有向图,且各条有向边的方向从包含公理右端的谓词指向包含公理左端的谓词;4.2选择初始节点为当前节点;4.3搜索当前节点是否存在未访问子节点,若存在,进行4.4,若不存在,转4.6步;4.4选择当前节点的任一未访问子节点,根据当前节点和所选子节点间存在的公理及该子节点的谓词,对当前节点的查询进行重写,将重写后的查询语句放到查询语句集合中,并将该子节点标记为已访问;4.5将该子节点作为当前节点,转4.3步;4.6判断当前节点是否为初始节点,若是,转4.8步,若不是,进行4.7;4.7令当前节点的父节点作为当前节点,转4.3步;4.8查询扩展重写过程结束,得到对用户查询扩展重写的查询语句集合;第五步,构造动态ABox,方法是:5.1对扩展重写查询语句集合中的每一个合取查询,按照概念原子中包含的变量对查询进行划分,如果概念原子中的变量为共享变量,则将含有该共享变量的其他原子与该概念原子划分为同一组,若无共享变量则单独成组,划分后的每一组都描述了一个概念体的信息;所述合取查询是指将多个原子查询合取得到一个总体的结果,该结果为各原子查询结果的交集;5.2根据分组后的查询在O-GAV映射文件中进行查找,得到与该查询分组描述同一概念体的O-GAV映射;5.3根据O-GAV映射从关系数据库中获取数据,得到虚拟对象集合,并且根据O-GAV映射构造断言,进而形成动态ABox A<sub>Q</sub>,A<sub>Q</sub>中的元素是虚拟对象集合中的各虚拟对象的断言;第六步,对ABox A<sub>Q</sub>进行求精:6.1依据T<sub>Cst</sub>对A<sub>Q</sub>中的虚拟对象的断言进行检验,去除动态ABoxA<sub>Q</sub>中不满足T<sub>Cst</sub>约束的虚拟对象的断言,得到一个相对于<img file="FDA00002684526700031.GIF" wi="172" he="66" />一致的动态ABox A<sub>Cst</sub>,所述与<img file="FDA00002684526700032.GIF" wi="172" he="66" />一致表示同时满足T<sub>Cst</sub>和T<sub>Q</sub>的约束,<img file="FDA00002684526700033.GIF" wi="172" he="66" />是指T<sub>Cst</sub>和T<sub>Q</sub>的并集;若数据源仅基于<img file="FDA00002684526700034.GIF" wi="228" he="56" />本体集成,则A<sub>Cst</sub>中的虚拟对象即为求精后的满足本体约束的实例,可作为查询结果应答用户查询,转第七步;6.2若数据源基于OWL1DL本体集成,则依据T<sub>r</sub>对A<sub>Cst</sub>中的虚拟对象的断言进行检验,去除动态ABoxA<sub>Cst</sub>中不满足T<sub>r</sub>约束的虚拟对象,得到一个相对于T<sub>Cst</sub>热T<sub>Q</sub> T<sub>r</sub>一致的动态ABoxA<sub>Owl</sub>,则A<sub>Owl</sub>中的虚拟对象即为求精后的满足本体约束的实例,可作为查询结果应答用户查询,转第七步;6.3若数据源基于应用了SWRL规则的OWL1 DL本体集成,则判断A<sub>Owl</sub>中的虚拟对象的断言是否满足SWRL规则,去除不满足SWRL规则的虚拟对象,得到一个相对于T<sub>Cst</sub>热T<sub>Q</sub> T<sub>r</sub>一致并满足SWRL规则的动态ABox A<sub>OS</sub>,则A<sub>Owl</sub>中的虚拟对象即为求精后的满足本体约束的实例,可作为查询结果应答用户查询;第七步,返回查询应答结果。
地址 410073 湖南省长沙市开福区德雅路109号