[发明专利]SPARQL查询的转换系统和方法有效
申请号: | 200910132545.7 | 申请日: | 2009-03-31 |
公开(公告)号: | CN101853257A | 公开(公告)日: | 2010-10-06 |
发明(设计)人: | 曹锋;马力;胡岗;孙行智;潘越 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 党建华 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sparql 查询 转换 系统 方法 | ||
1.一种用于SPARQL查询的转换的系统,包括:
语法/词法分析器,用于解析SPARQL查询;
隐式否定模式检测器,用于检测解析后的SPARQL查询中的隐式否定模式;
隐式否定模式转换器,用于将检测出的隐式否定模式转换为显式否定模式;
分离器,用于将所述显式否定模式和解析后的SPARQL查询中的肯定模式分离;
否定模式转换器,用于将所述显式否定模式转换为否定部分的SQL语句;
肯定模式转换器,用于将所述肯定模式转换为肯定部分的SQL语句;以及
组合器,用于组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
2.如权利要求1所述的系统,其中,所述隐式否定模式检测器包括:
用于将SPARQL查询中的过滤条件范化为析取范式的部件;
用于从所述过滤条件中提取具有不等变量对的条件的部件;
用于提取SPARQL查询中各个三元组所代表的连通子图并且匹配出各自的最大连通相似子图的部件;以及
用于根据各个最大连通相似子图以及其与各自的连通子图之间的差异匹配隐式否定模式的部件。
3.如权利要求1或2所述的系统,其中,所述隐式否定模式转换器包括:
用于去除隐式否定模式中与肯定模式重复的三元组的部件;
用于以肯定模式中的相应变量替换隐式否定模式中的附加三元组中的变量的部件;以及
用于将表示“非”逻辑的标志附加到转换后的附加三元组的部件。
4.如权利要求1或2所述的系统,其中,所述否定模式转换器包括:
用于搜索要转换的SPARQL匹配单元的部件;
用于建立新的SELECT语句的部件;
用于生成WHERE子句的部件;
用于生成SELECT子句的部件;
用于生成FROM子句的部件;
用于维护变量映射表的部件;以及
用于判断是否存在其他未转换的匹配单元的部件。
5.如权利要求1或2所述的系统,其中,所述组合器包括:
用于将否定部分的SQL语句逐一地与组合后的肯定部分的SQL语句组合成结果SQL语句的部件。
6.如权利要求5所述的组合器,其中,所述结果SQL语句包含EXIST命令。
7.如权利要求5所述的组合器,其中,所述结果SQL语句包含左外连接命令。
8.如权利要求1或2所述的系统,其中所述显式否定模式的形式为三元组附加表示“非”逻辑的标志。
9.一种用于SPARQL查询的转换的方法,包括以下步骤:
语法/词法分析,解析SPARQL查询;
隐式否定模式检测,检测解析后的SPARQL查询中的隐式否定模式;
隐式否定模式转换,将检测出的隐式否定模式转换为显式否定模式;
将显式否定模式和解析后的SPARQL查询中的肯定模式分离;
否定模式转换,将所述显式否定模式转换为否定部分的SQL语句;
肯定模式转换,将所述肯定模式转换为肯定部分的SQL语句;以及
组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
10.如权利要求9所述的方法,其中,所述隐式否定模式检测步骤进一步包括以下步骤:
将SPARQL查询中的过滤条件范化为析取范式;
从所述过滤条件中提取具有不等变量对的条件;
提取SPARQL查询中各个三元组所代表的连通子图并且匹配出各自的最大连通相似子图;以及
根据各个最大连通相似子图以及其与各自的连通子图之间的差异匹配隐式否定模式。
11.如权利要求9或10所述的方法,其中,所述隐式否定模式转换步骤进一步包括以下步骤:
去除隐式否定模式中与肯定模式重复的三元组;
以肯定模式中的相应变量替换隐式否定模式中的附加三元组中的变量;以及
将表示“非”逻辑的标志附加到转换后的附加三元组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910132545.7/1.html,转载请声明来源钻瓜专利网。