CN101853257B - Sparql查询的转换***和方法 - Google Patents
Sparql查询的转换***和方法 Download PDFInfo
- Publication number
- CN101853257B CN101853257B CN200910132545A CN200910132545A CN101853257B CN 101853257 B CN101853257 B CN 101853257B CN 200910132545 A CN200910132545 A CN 200910132545A CN 200910132545 A CN200910132545 A CN 200910132545A CN 101853257 B CN101853257 B CN 101853257B
- Authority
- CN
- China
- Prior art keywords
- negative mode
- mode
- sql statement
- implicit
- sparql
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于SPARQL查询的转换的***,包括:语法/词法分析器,用于解析SPARQL查询;隐式否定模式检测器,用于检测解析后的SPARQL查询中的隐式否定模式;隐式否定模式转换器,用于将检测出的隐式否定模式转换为显式否定模式。分离器,用于将显式否定模式和解析后的SPARQL查询语句中的肯定模式分离;否定模式转换器,用于将所述显式否定模式转换为否定部分的SQL语句;肯定模式转换器,用于将所述肯定模式转换为肯定部分的SQL语句;以及组合器,用于组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
Description
技术领域
本发明涉及数据库查询,尤其涉及数据库查询语句的执行效率,更具体地说,涉及一种用于SPARQL查询的转换的***和方法。
背景技术
近年来,关系数据库管理***的成功引入了大量横向模式的数据。随着各种应用中对本体(ontology)越来越多的使用,在现有关系数据库管理***上支持RDF(Resource Description Framework的缩写,资源描述框架)查询已吸引了关系数据库研究人员和语义网研究人员两方面的注意。一方面,将关系数据表达为RDF图使得可以对不同资源进行统一的访问,以利于信息的联合和集中。另一方面,暴露关系数据库中锁存的大量数据可以丰富语义网的内容。
图1示出了虚拟RDF存储的结构框图。在客户端,使用SPARQL(Simple Protocol and RDF Query Language的缩写,简单协议和RDF查询语言)进行查询,查询引擎利用D2R(Database to Relationaldatabase)映射单元将SPARQL语句翻译为SQL语句,以对关系数据库进行查询。
SPARQL是W3C(World Wide Web Consortium的缩写,万维网联盟)的RDF查询语言推荐标准,它是为RDF开发的一种查询语言和数据获取协议,其语法单元结构有以下几种:
三元组:<主谓宾>,(以下简称为<s p o>)
“与”模式:<s p o><s p o>
“或”模式:<s p o>UNION<s p o>
过滤条件:Filter(条件)
典型地,语义查询可以分为两类,肯定的语义查询和否定的语义查询。例如,为了在超市中找到颜色(color)为白色(white)的尿布(diaper),可以进行如下简单的肯定的SPARQL查询:
<?x typeof diaper><?x color white>
如果是为了在超市中找到非白色的尿布,则本应进行如下查询:
<?x typeof diaper>!<?x color white> (1)
其中“!”表示逻辑“非”,符号“!”只是一个示例,本领域技术人员应认识到,任何可以表达“非”逻辑的表示方式都是可以的。但是,现有SPARQL语言中的语法模式都是以肯定形式表达的,没有“!<s p o>”这样的语法结构,即不支持否定模式的直接查询,因此不支持式(1)中的“!<?x color white>”。
又例如,希望找到这样的两种产品,他们可以通过第三种产品捆绑销售,但是不能直接捆绑销售,并且不能自己和自己捆绑销售。
假如某超市中商品捆绑销售的情况如下(以“-”标识捆绑销售):
(a)啤酒-尿布,尿布-牛奶;
(b)啤酒-红酒,红酒-水,啤酒-水。
假若按下面的式(2)进行查询:
Select?x,?z where{<?x BundleSale?y><?y BundleSale?z>
!<?x BundleSale?z>!<?x BundleSale?x>} (2)
则查询结果将为(a),因为啤酒和牛奶不捆绑销售,啤酒自己和牛奶自己也不捆绑销售,但是它们通过尿布捆绑销售。
由上可见,例如“!<s p o>”这样的显式否定模式的查询非常有用。但是,现有SPARQL语言中却不存在显式否定模式的语法结构。
为此,现有技术中,在SPARQL语言中以肯定的方式来间接描述否定模式,抽象为代数关系式即为P1!P2=P1-P1P2,“P1P2”代表两个以“与”逻辑组合的三元组,将其称为隐式否定模式。例如,为了表达式(1)中的查询,可以使用这样的形式:
Select?x where{<?x typeof diaper><?y typeof diaper><?ycolor white>Filter(?x!=?y)}
又例如,为了表达式(2)中的查询,可以使用这样的形式:
Select?x,?z where{<?x BundleSale?y><?y BundleSale?z>
<?m BundleSale?o><?o BundleSale?n><?m BundleSale?n>
<?a BundleSale?b><?b BundleSale?c><?a BundleSale?a>
Filter((?x!=?m OR?z!=?n)OR(?x!=?a OR?z!=?c))}
但是,在将上述隐式否定模式编译为SQL语句的实际运算过程中,不等条件“?x!=?y”会产生很多不必要的连接操作,而连接操作空间成本很高。其次,“!=”运算翻译成SQL语句后将会很繁琐。最后,不等条件会转换为若干肯定断言和否定断言的组合,增加运算量。总之,现有的SPARQL查询难以支持全语义查询,并且现有的将SPARQL转换为SQL的***和方法性能不理想。
发明内容
因此,本发明的主要目的是提供一种能够高效地将SPARQL查询语句转换为SQL语句的***和方法。
根据本发明的一个方面,提供了一种用于SPARQL查询的转换的***,包括:语法/词法分析器,用于解析SPARQL查询;隐式否定模式检测器,用于检测解析后的SPARQL查询中的隐式否定模式;隐式否定模式转换器,用于将检测出的隐式否定模式转换为显式否定模式;分离器,用于将显式否定模式和解析后的SPARQL查询中的肯定模式分离;否定模式转换器,用于将所述显式否定模式转换为否定部分的SQL语句;肯定模式转换器,用于将所述肯定模式转换为肯定部分的SQL语句;以及组合器,用于组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
根据本发明的另一方面,提供了一种用于SPARQL查询的转换的方法,包括以下步骤:语法/词法分析,解析SPARQL查询;隐式否定模式检测,检测解析后的SPARQL查询中的隐式否定模式;隐式否定模式转换,将检测出的隐式否定模式转换为显式否定模式;将显式否定模式和解析后的SPARQL查询中的肯定模式分离;否定模式转换,将所述显式否定模式转换为否定部分的SQL语句;肯定模式转换,将所述肯定模式转换为肯定部分的SQL语句;以及组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
根据本发明的另一方面,提供了一种用于SPARQL查询的转换的***,包括:语法/词法分析器,用于解析SPARQL查询;隐式否定模式检测器,用于检测解析后的SPARQL查询中的隐式否定模式,并输出检测出的隐式否定模式和肯定模式;隐式否定模式转换器,用于将检测出的隐式否定模式转换为否定部分的SQL语句;肯定模式转换器,用于将所述肯定模式转换为肯定部分的SQL语句;以及组合器,用于组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
根据本发明的另一方面,提供了一种用于SPARQL查询的转换的方法,包括以下步骤:语法/词法分析,解析SPARQL查询;隐式否定模式检测,检测SPARQL查询中的隐式否定模式,并输出检测出的隐式否定模式和肯定模式;隐式否定模式转换,将检测出的隐式否定模式转换为否定部分的SQL语句;肯定模式转换,将所述肯定模式转换为肯定部分的SQL语句;以及组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
附图说明
为了更加清楚地理解本发明及其优点,现在结合附图进行具体描述。附图中相似的参考标号代表相似的部件或特征。在附图中:
图1是示出本发明的应用环境的框图;
图2是示出根据本发明的一个实施例的SPARQL查询的转换***框图;
图3是示出隐式否定模式的实例的视图;
图4是示出根据本发明一个实施例的否定模式转换器的工作流程图;
图5是示出根据本发明的实施例,组合器基于左外连接(LEFTOUTER JOIN)命令进行的组合处理的示意图;
图6是示出根据本发明的实施例,组合器基于EXIST命令进行的组合处理的示意图;
图7是示出根据本发明的另一个实施例的SPARQL查询的转换***框图;以及
图8是示出根据本发明的实施例,从SPARQL查询语句中提取出的连通子图及各自的最大连通相似子图的示意图。
具体实施方式
以下将参考附图具体描述本发明的示例性实施例。
本发明旨在对SPARQL查询到SQL查询的转换过程进行改进。为了清楚地说明该改进,引入一种显式否定模式的表达,在将一个SPARQL语句转换为SQL语句的过程中,首先将SPARQL语句中的隐式否定模式转换为显式否定模式,从而优化转换过程和所得到的SQL语句。
在一个实施例中,将显式否定模式表示为!<s p o>,即在普通的三元组前加上一个表示否定意义的符号“!”。!<s p o>表示不存在<s po>的实例。根据封闭世界假定,有!<s p o>=<s!p o>。当然,本领域技术人员可以意识到,其他表示方式也是可行的。
在定义了显式否定模式之后,SPARQL中的任何现有的否定模式都可以使用显式否定模式表达:
三元组的否定:!<s p o>
“与”模式的否定:!<s p o>UNION!<s p o>
“或”模式的否定:!<s p o>!<s p o>
三元组的双重否定:<s p o>
图2示出根据本发明的一个实施例的支持SPARQL查询的转换的***框图。如图2所示,该***由三大部分组成:语法/词法分析器21、隐式否定模式适配器22、以及全语义SPARQL适配器23。以下结合图2描述根据本发明一个实施例的***如何将一个带有隐式否定模式的SPARQL查询语句高效地转换为SQL语句。
首先,SPARQL查询语句(下文亦称“SPARQL语句”或“SPARQL查询”)进入语法/词法分析器21,语法/词法分析器21解析该SPARQL语句。作为一种标准的查询语言,SPARQL的查询语句的解析过程在本领域中是公知的,因此不再赘述。
解析后的SPARQL语句进入隐式否定模式适配器22,隐式否定模式适配器用于检测所述解析后的SPARQL语句中的隐式否定模式并将其转换为显式否定模式。其中,隐式否定模式适配器22包括隐式否定模式检测器221和隐式否定模式转换器222。
在隐式否定模式检测器221,检测解析后的SPARQL语句中的隐式否定模式,如果该解析后的SPARQL语句具有隐式否定模式,则将其传递到隐式否定模式转换器222,否则直接输出到下一级。
以下详细描述隐式否定模式检测器221如何检测解析后的SPARQL语句中的隐式否定模式。
图3中示出了隐式否定模式的一个实例。可以总结出,隐式否定模式具有以下四个特征。
第一,具有与肯定模式重复的三元组,这些三元组与肯定模式的三元组的不同之处仅在于相应的变量不同,例如,在图3中,<?y typeofdiaper>是肯定模式三元组<?x typeof diaper>的重复,不同之处仅在于与肯定模式三元组中的变量x相应的变量y不同;
第二,所述不同的相应变量还存在于一个附加三元组中,例如,在图3中,变量y还存在于三元组<?y color white>中;
第三,在过滤条件表达式中,肯定模式与隐式否定模式中所述相应的变量存在不等关系“!=”,例如,在图3中,过滤条件表达式为“?x!=?y”;
第四,如果存在多个隐式否定模式,则含有不等关系“!=”的过滤条件表达式以“或(OR)”模式连接。
隐式否定模式检测器221根据以上所述的四个特征检测隐式否定模式,即,当一个SPARQL查询同时具备以上四个特征时,认为该SPARQL查询具有隐式否定模式。所属技术领域的技术人员应当知道,可以有各种方式检测上述四个特征。
按照本发明的一个实施例,隐式否定模式检测器221可通过对输入的SPARQL查询进行如下处理,以检测以上四个特征。
首先,将SPARQL查询中的过滤条件范化为析取范式。析取范式是指由有限个简单合取式构成的析取式。设Ai(i=1,2,...,s)为简单合取式,则A=A1∨A2∨...∨As为析取范式,例如,A1=p∧q,A2=q∧r,A3=p,则由A1,A2,A3构造的析取范式为A=A1∨A2∨A3=(p∧q)∨(q∧r)∨p。这种范化为本领域技术人员已知的;
然后,从过滤条件中提取具有成立不等关系“!=”的两个相应的不同变量(以下称为不等变量对)的条件;
提取该SPARQL查询中由三元组代表的连通子图,并且根据不等变量对和连通子图匹配出最大连通相似子图,比较最大连通相似子图与原连通子图以找出二者之间的差异,该差异代表了隐式否定模式中的附加三元组,该附加三元组与最大连通相似子图所代表的三元组构成了隐式否定模式。我们仍以上文提到的SPARQL查询为例:
Select?x,?z where{<?x BundleSale?y><?y BundleSale?z>
<?m BundleSale?o><?o BundleSale?n><?m BundleSale?n>
<?a BundleSale?b><?b BundleSale?c><?a BundleSale?a>
Filter((?x!=?m OR?z!=?n)OR(?x!=?a OR?z!=?c))}
由该查询中提取出的由三元组构成的三个连通子图如图8中左侧所示。根据不等变量对(x,m),(x,a),(z,n)和(z,c),在该三个连通子图中匹配出各自的最大连通相似子图,如图8中间所示。比较图8左侧的连通子图和中间的最大连通相似子图,寻找出二者之间的差异,如图8中右侧所示。该差异分别代表了<?m BundleSale?n>和<?aBundleSale?a>这两个附加三元组。这两个附加三元组合并各自的最大连通相似子图所代表的三元组,得到检测出的两个隐式否定模式:
<?m BundleSale?o><?o BundleSale?n><?m BundleSale?n>和
<?a BundleSale?b><?b BundleSale?c><?a BundleSale?a>。
可选地,可根据不等变量对的数量和连通子图的数量确定寻找最大连通相似子图的顺序,以减少计算量。当连通子图数量较大时,对于不等条件列表中的每个变量对验证连通子图中的相似子图;当不等变量对的数量较大时,对于每个连通子图中的各个子图验证不等变量对。
当隐式否定模式检测器221检测出隐式否定模式时,该具有隐式否定模式的解析后的SPARQL语句被送入隐式否定模式转换器222。隐式否定模式转换器222通过以下处理将隐式否定模式转换为显式否定模式。
首先,去除隐式否定模式中与肯定模式重复的三元组,以图3所示的隐式否定模式“<?y typeof diaper><?y color white>”为例,移除其中的重复三元组“<?y typeof diaper>”之后,剩下附加三元组“<?ycolor white>”。然后,将附加三元组中的变量y替换为肯定模式<?xcolor white>”中的相应变量x,附加三元组“<?y color white>”被转换为“<?x color white>”。最后,在转换后的附加三元组前面加上否定标志“!”,使其成为显式否定模式“!<?x color white>”。
至此,隐式否定模式适配器22已将语法/词法分析器21输出的解析后的SPARQL语句中的隐式否定模式的查询转换为显式否定模式的查询。
应注意的是,设置隐式否定模式适配器22是为了与含有隐式否定模式的现有SPARQL语法相兼容。本领域技术人员可以理解,如果SPARQL采用本发明中引入的显式否定模式来表达否定查询,则不需要在语法/词法分析器21之后***隐式否定模式适配器22。
从隐式否定模式适配器22输出的不含有隐式否定模式的解析后的SPARQL语句输入到全语义SPARQL适配器23中。全语义SPARQL适配器23用于将SPARQL语句转换为SQL语句。术语“全语义”表示对否定模式和肯定模式的概括。
如图2中所示,全语义SPARQL适配器23包括分离器231、否定模式转换器232、肯定模式转换器233、和组合器234。以下对每个部件进行具体描述。
分离器231将输入的解析后的SPARQL语句划分为肯定模式部分和否定模式部分两部分,并将它们分别输出到肯定模式转换器233和否定模式转换器232。具体地说,分离器231判断每一个三元组前面是否含有否定标志“!”,如果是,则将其判断为否定模式三元组并输入到否定模式转换器232中,如果否,则将其判断为肯定模式三元组并输入到肯定模式转换器233中。例如,对于SPARQL查询“<?xp?y>!<?x q?y>Filter(条件)”,可将“<?x p?y>”输入到肯定模式转换器233,而将“!<?x q?y>Filter(条件)”输入到否定模式转换器232。或者,作为替代地,也可以将“<?x p?y>Filter(条件)”输入到肯定模式转换器233,而将“!<?x q?y>”输入到否定模式转换器232。两种方案对于最后的转换结果来说是等效的。我们在此假设采用第一种方案。
否定模式转换器232用于将输入的解析后的SPARQL语句中的否定模式转换为待组合的否定部分的SQL语句。图4示出否定模式转换器的工作流程图。
以下参考图4中的流程对否定模式转换器232中的处理进行具体描述。
首先,在步骤401,搜索要转换的SPARQL匹配单元mu。该匹配单元mu具有比如“!<?x q?y>Filter(条件)”的形式。
在步骤402,建立一个新的SELECT语句,在SQL中,SELECT语句包括WHERE、SELECT、FROM三个子句。
在步骤403,生成WHERE子句。通过将匹配单元mu中的各个条件进行“与(AND)”操作来生成WHERE子句中的条件。
在步骤404,生成SELECT子句。具体来说,将匹配单元mu中的变量放入SELECT子句中。
在步骤405,生成FROM子句。具体来说,将匹配单元mu中的表格名称提取出来放入FROM子句。直到步骤405,我们已得到如下的否定部分的SQL语句N-st:
Select T1.Col1,T1.Col2 FROM qTable T1
WHERE条件1AND条件2AND......条件N
其中,T1是谓语为q的查询所对应的表格的名称,查询变量位于T1的列T1.Col1和T1.Col2中。
在步骤406,对变量映射表N-map进行维护,变量映射表N-map是这样的表,在该表中,否定模式查询中的变量与查询表格中的列一一对应。例如,表1是变量映射表的一个实例,其中,变量x和y分别与表T1中的列Col1和Col2对应:
x | T1.Col1 |
y | T1.Col2 |
表1
在步骤407,判断是否还存在其他待转换的匹配单元,如果否,则结束整个流程,如果是,则返回步骤401。
肯定模式转换器233将SPARQL语句中的肯定模式三元组转换为SQL语句。例如,将SPARQL中的“<?x p?y>”转换为以下肯定部分的SQL语句P-st:
Select T2.Col1,T2.Col2 FROM pTable T1
并且维护如表2所示的变量映射表P-map:
x | T2.Col1 |
y | T2.Col2 |
表2
由于现有SPARQL语言中存在肯定模式,所以这种转换的实现方式在本领域是公知的,在此不再详细描述。
随后,将否定模式转换器232输出的否定部分的SQL语句N-st和否定部分的变量映射表N-map和肯定模式转换器233输出的肯定部分的SQL语句P-st和肯定部分的变量映射表P-map输入到组合器234。组合器234将N-st和P-st组合为最终的SQL语句R-st。
在进行组合时,由于SQL语法的多样性,组合器234可以选择不同的方式将否定部分的SQL语句N-st和肯定部分的SQL语句P-st组合成完整的SQL语句。具体来说,存在三种方案:基于NOT IN命令的方案、基于NOT EXIST命令的方案以及基于LEFT OUTERJOIN命令的方案。
经本发明的发明人研究发现,基于NOT IN命令的方案并非在所有情况下都适用。只有当待转换的SPARQL语句中的多个变量之间存在依赖关系时,其才能被转换为含有NOT IN命令的SQL语句。而基于NOT EXIST命令的方案和基于LEFT OUTER JOIN命令的方案二者都可以将任意一个SPARQL语句转换为SQL语句,而无论待转换的SPARQL语句中的变量是否存在依赖关系。因此,本发明将重点描述后两种方案。
基于左外连接命令的SQL查询语句的一般格式为:Select v1,v2,...From T1 LEFT OUTER JOIN T2 LEFT OUTER JOIN...ON(on条件)Where(Where条件)
以下描述根据第一实施例的组合器234基于左外连接(LEFTOUTER JOIN)语句工作的流程。
步骤1,将肯定模式转换器233输出的所有肯定部分的SQL语句P-st组合起来成为组合的肯定部分SQL语句(以下称为comb-st),将肯定模式转换器233输出的所有肯定部分的变量映射表P-map组合起来成为组合的肯定部分的变量映射表(以下称为comb-map)。此步骤是本领域技术人员公知的技术,并且也可以在肯定模式转换器233中实现。
步骤2,将否定模式转换器222输出的否定部分的SQL语句N-st逐一地与在步骤1中得到的comb-st组合。
步骤2的具体实现如下所述:
对于否定部分的变量映射表N-map中的每个变量v,令E1代表在comb-map中变量v所映射到的列,比如在表2中变量x映射到的列T2.Col1;令E2为在N-map中该变量v所映射到的列,比如在表1中变量x映射到的列T1.Col1;生成On条件“E1=E2”并将其添加到on条件列表中;
将comb-st所对应的表左外连接一条N-st所对应的表,以条件列表中的已生成条件为On条件;
将上一步中进行了左外连接处理的表添加到R-st的From子句中;
对于comb-map中的每个变量v,将其映射到的列添加到R-st的Select子句中;
对于N-map中的每个变量v,令E2代表在N-map中变量v所映射到的列,在Where子句中添加条件“E2 is NULL”,这是因为,在左外连接操作所生成的表中,否定模式中的变量所对应的列的内容应为“NULL”。例如,如表3-5所示,表3和表4在执行了“T3 LEFTOUTER JOIN T4 ON(T3.ID=T4.ID)”之后生成表5,其中表5中的第一行右侧两列的内容为“NULL”;
ID | 公司名称 |
1 | ABC |
2 | IBM |
表3
ID | 雇员数量 |
2 | 370000 |
3 | 5000 |
表4
T3.ID | T3.公司名称 | T4.ID | T4.雇员数量 |
1 | ABC | NULL | NULL |
2 | IBM | 2 | 370000 |
表5
将comb-st和n-st的Where子句添加到R-st的Where子句中。
通过以上步骤,组合器234可容易地将肯定模式转换器233和否定模式转换器232的输出组合成为基于左外连接的最终的SQL语句。图5是组合器234基于左外连接(LEFT OUTER JOIN)命令进行的组合处理的一个实例的示意图,由图5中可以清楚地看到SPARQL查询语句各部分与SQL查询语句各部分之间的对应关系。
在组合器234的第二实施例中,组合器234还可以基于NOTEXIST命令的解决方案将肯定模式转换器233和否定模式转换器232的输出组合成为最终的SQL语句。以下将描述其具体处理过程。
在本实施例中,步骤1同第一实施例中的步骤1类似,将肯定模式转换器233输出的P-st组合起来成为comb-st,将肯定模式转换器233输出的所有P-map组合起来成为comb-map。
步骤2,将否定模式转换222输出的N-st和N-map分别逐一地与在步骤1中得到的comb-st和comb-map组合。
步骤2的具体实现与第一实施例中的不同,具体来说:
对于N-map中的每个变量v,令E1代表在comb-map中该变量v所映射到的列,比如在表2中变量x映射到的列T2.Col1;令E2为在N-map中该变量v所映射到的列,比如在表1中变量x映射到的列T1.Col1;生成条件“E1=E2”并将其以“与(AND)”的方式添加到N-st的Where子句中;将条件“E2 is NOT NULL”以“与(AND)”的方式添加到N-st的Where子句中;
在如上述步骤生成的N-st作为EXIST命令的表达式在外层加上NOT EXIST,并将NOT EXIST及其表达式共同作为条件放入comb-st的Where子句中。
应注意的是,如果存在多个N-st,则应从每个N-st都生成一个NOT EXIST子句,将生成的多个NOT EXIST子句以“与(AND)”的方式连接起来,共同作为comb-st的Where子句,以形成最终的SQL语句R-st。
通过以上步骤,组合器234可容易地将肯定模式转换器233和否定模式转换器232的输出组合成为基于EXIST的SQL语句。图6是组合器234基于EXIST语句进行的组合处理的一个实例的示意图,由图6中可以清楚地看到SPARQL查询语句各部分与SQL查询语句各部分之间的对应关系。
到此为止,已经描述了组合器234将肯定模式转换器233和否定模式转换器232的输出组合成为SQL语句的两个优选实施例。作为参考,在此分别给出基于EXIST命令和基于左外连接命令将各种SPARQL查询转换为SQL语句的结果示例。
1.基于EXIST命令的转换
1.1 SPARQL查询:<?x,p,o1>!<?x,q,o2>
SQL查询:Select T1.xCol From pTable T1 where T1.yCol=o1and NOT EXIST(Select T2.xCol From qTable T2 where(T1.xCol=T2.xCol AND T2.yCol=o2 AND T2.xCol is NOT NULL))
1.2 SPARQL查询:<?x,p,?y>!<?x,q,o2>
SQL查询:Select T1.xCol,T1.yCol From pTable T1 where NOTEXIST(Select T2.xCol From qTable T2 where(T1.xCol=T2.xColAND T2.yCol=o2 AND T2.xCol is NOT NULL))
1.3 SPARQL查询:<?x,p,?y>!<?x,q,?y>
SQL查询:Select T1.xCol,T1.yCol From pTable T1 where NOTEXIST(Select T2.xCol,T2.yCol From qTable T2 where
(T1.xCol=T2.xCol)AND(T1.yCol=T2.yCol)AND(T2.xCol isNOT NULL)AND(T2.yCol is NOT NULL))
1.4 SPARQL查询:<?x,p,?y>!<?y,q,?x>
SQL查询:Select T1.xCol,T1.yCol From pTable T1 where NOTEXIST(Select T2.xCol,T2.yCol From qTable T2 where
(T1.xCol=T2.yCol)AND(T1.yCol=T2.xCol)AND(T2.yCol isNOT NULL)AND(T2.xCol is NOT NULL))
2.基于左外连接(LEFT OUTER JOIN)命令的转换
2.1 SPARQL查询:<?x,p,o1>!<?x,q,o2>
SQL查询:Select T1.xCol From pTable T1 LEFT OUTER JOINqTable T2 on(T1.xCol=T2.xCol and T1.yCol=o1 and T2.yCol=o2)where(T2.xCol is NULL)
2.2 SPARQL查询:<?x,p,?y>!<?x,q,o2>
SQL查询:Select T1.xCol,T1.yCol From pTable T1 LEFTOUTER JOIN qTable T2 on(T1.xCol=T2.xCol and T2.yCol=o2)where(T2.xCol is NULL)
2.3 SPARQL查询:<?x,p,?y>!<?x,q,?y>
SQL查询:Select T1.xCol,T1.yCol From pTable T1 LEFTOUTER JOIN qTable T2 on(T1.xCol=T2.xCol)AND(T1.yCol=T2.yCol)where(T2.xCol is NULL)AND(T2.yCol is NULL)
2.4 SPARQL查询:<?x,p,?y>!<?y,q,?x>
SQL查询:Select T1.xCol,T1.yCol From pTable T1 LEFTOUTER JOIN qTable T2 on(T1.xCol=T2.yCol)AND(T1.yCol=T2.xCol)where(T2.yCol is NULL)AND(T2.xCol is NULL)
在本发明的第二实施例中,示出了一种更简化的SPARQL查询的转换***和方法。下面参考图7进行描述。
图7是示出根据本发明的另一个实施例的用于SPARQL查询的转换的***的框图。如图7中所示,本实施例中的SPARQL查询的转换***包括语法/词法分析器71、模式检测分离器72、否定模式直接转换器732、肯定模式转换器733以及组合器734。其中,语法/词法分析器71、肯定模式转换器733以及组合器734和第一实施例中的语法/词法分析器21、肯定模式转换器233以及组合器234的功能相同,在此省略对其的描述。
在模式检测分离器72检测解析后的SPARQL语句中的隐式否定模式,并且将检测出的隐式否定模式传递到否定模式直接转换器732,将其余部分,即肯定模式的部分传递到肯定模式转换器733。模式检测分离器72检测解析后的SPARQL语句中的隐式否定模式的原理与第一实施例中的隐式否定模式检测器221基本相同,只是本实施例中的模式检测分离器72除了输出检测出的隐式否定模式以外,还输出肯定模式的部分到肯定模式转换器733,因此,本实施例中的模式检测分离器72实际上起到了检测和分离两个作用。
本实施例中的否定模式直接转换器732与第一实施例中的隐式否定模式转换器222不同,其综合了第一实施例中的隐式否定模式转换器222和否定模式转换器232的功能。具体来说,本实施例中的否定模式直接转换器732不需要将从模式检测分离器72传递过来的隐式否定模式先转换为在第一实施例中定义的显式否定模式“!<?x p?y>”,而是将SPARQL语句中的隐式否定模式直接转换为SQL语句的否定部分。具体处理过程如下所述。
步骤1,识别出隐式否定模式中的重复三元组和附加三元组。
步骤2,搜索要转换的SPARQL匹配单元mu’。该匹配单元mu’是附加三元组及其过滤条件。
后续步骤与步骤402-407相同。
经过以上处理,否定模式直接转换器732输出的否定部分的SQL语句与第一实施例中的否定模式转换器232的输出相同。
以上描述了一种可以高效地将基于虚拟RDF存储的SPARQL查询转换为SQL查询的***和方法。本领域技术人员将会认识到,可以以方法、***或计算机程序产品的形式提供本发明的实施例。因此,本发明可以采取全硬件实施例、全软件实施例,或者软件和硬件的组合的实施例的形式。本发明的事件处理***可以以硬件、软件或二者组合来实现。当以硬件实现时,***的各个组成部分可以是分立的部件,各个组成部分中的一个或多个也可以集成在一起。硬件和软件的典型结合可以是带有计算机程序的通用计算机***,当程序被加载并执行时,控制计算机***,从而可以执行上述的方法。
本发明可以嵌入在计算机程序产品中,它包括使此处描述的方法得以实施的所有特征。所述计算机程序产品被包含在一个或多个计算机可读存储介质(包括但不限于,磁盘存储器、CD-ROM、光学存储器等)中,所述计算机可读存储介质具有包含于其中的计算机可读程序代码。
已参考根据本发明的方法、***及计算机程序产品的流程图和/或方框图说明了本发明。流程图和/或方框图中的每个方框,以及流程图和/或方框图中的方框的组合显然可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、嵌入式处理器或者其它可编程的数据处理设备,从而指令产生用于实现在流程图和/或方框图的一个或多个方框中规定的功能的装置。
当参考示例性实施例示出和描述本发明的同时,本领域技术人员将理解,可以不脱离如所附权利要求所定义的本发明的精神和范围而作出各种形式的修改和变更。仅出于描述而不是限制的目的描述了示例性实施例。因此,本发明的范围不受具体实施例的限定,而是受所附权利要求的限定,并且该范围内所有的修改、变更都应理解为包含在本发明中。
Claims (20)
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所述的方法,其中,所述隐式否定模式转换步骤进一步包括以下步骤:
去除隐式否定模式中与肯定模式重复的三元组;
以肯定模式中的相应变量替换隐式否定模式中的附加三元组中的变量;以及
将表示“非”逻辑的标志附加到转换后的附加三元组。
12.如权利要求9或10所述的方法,其中,所述否定模式转换步骤进一步包括以下步骤:
搜索要转换的SPARQL匹配单元;
建立新的SELECT语句;
生成WHERE子句;
生成SELECT子句;
生成FROM子句;
维护变量映射表;以及
判断是否存在其他未转换的匹配单元,如果是,则返回到所述搜索步骤。
13.如权利要求9或10所述的方法,其中,所述用于组合的步骤进一步包括:
将否定部分的SQL语句逐一地与组合后的肯定部分的SQL语句组合成结果SQL语句。
14.如权利要求13所述的方法,其中,所述结果SQL语句包含EXIST命令。
15.如权利要求13所述的方法,其中,所述结果SQL语句包含左外连接命令。
16.如权利要求9或10所述的方法,其中所述显式否定模式的形式为三元组附加表示“非”逻辑的标志。
17.一种用于SPARQL查询的转换的***,包括:
语法/词法分析器,用于解析SPARQL查询;
模式检测分离器,用于检测解析后的SPARQL查询中的隐式否定模式,并分离地输出检测出的隐式否定模式和肯定模式;
否定模式直接转换器,用于将检测出的隐式否定模式转换为否定部分的SQL语句;
肯定模式转换器,用于将所述肯定模式转换为肯定部分的SQL语句;以及
组合器,用于组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
18.如权利要求17所述的***,其中,所述否定模式直接转换器包括:
用于识别所述隐式否定模式中的附加三元组的部件;
用于搜索由所述附加三元组和过滤条件构成的要转换的SPARQL匹配单元的部件;
用于建立新的SELECT语句的部件;
用于生成WHERE子句的部件;
用于生成SELECT子句的部件;
用于生成FROM子句的部件;
用于维护变量映射表的部件;以及
用于判断是否存在其他未转换的匹配单元的部件。
19.一种用于SPARQL查询的转换的方法,包括以下步骤:
语法/词法分析,解析SPARQL查询;
模式检测分离,检测解析后的SPARQL查询中的隐式否定模式,并分离地输出检测出的隐式否定模式和肯定模式;
否定模式直接转换,将检测出的隐式否定模式转换为否定部分的SQL语句;
肯定模式转换,将所述肯定模式转换为肯定部分的SQL语句;以及
组合所述否定部分的SQL语句和所述肯定部分的SQL语句。
20.如权利要求19所述的方法,其中,所述否定模式直接转换步骤进一步包括以下步骤:
识别所述隐式否定模式中的附加三元组;
搜索由所述附加三元组和过滤条件构成的要转换的SPARQL匹配单元;
建立新的SELECT语句;
生成WHERE子句;
生成SELECT子句;
生成FROM子句;
维护变量映射表;以及
判断是否存在其他未转换的匹配单元,如果是,则返回到所述搜索步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910132545A CN101853257B (zh) | 2009-03-31 | 2009-03-31 | Sparql查询的转换***和方法 |
US12/732,240 US8275784B2 (en) | 2009-03-31 | 2010-03-26 | Translation system and method for SPARQL queries |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910132545A CN101853257B (zh) | 2009-03-31 | 2009-03-31 | Sparql查询的转换***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101853257A CN101853257A (zh) | 2010-10-06 |
CN101853257B true CN101853257B (zh) | 2012-09-26 |
Family
ID=42785525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132545A Expired - Fee Related CN101853257B (zh) | 2009-03-31 | 2009-03-31 | Sparql查询的转换***和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8275784B2 (zh) |
CN (1) | CN101853257B (zh) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012900B (zh) * | 2009-09-04 | 2013-01-30 | 阿里巴巴集团控股有限公司 | 信息检索方法和*** |
US9396283B2 (en) | 2010-10-22 | 2016-07-19 | Daniel Paul Miranker | System for accessing a relational database using semantic queries |
US9639575B2 (en) * | 2012-03-30 | 2017-05-02 | Khalifa University Of Science, Technology And Research | Method and system for processing data queries |
CN102722542B (zh) * | 2012-05-23 | 2016-07-27 | 无锡成电科大科技发展有限公司 | 一种资源描述框架图模式匹配方法 |
US9256639B2 (en) * | 2012-08-31 | 2016-02-09 | Infotech Soft, Inc. | Query optimization for SPARQL |
CN102999563A (zh) * | 2012-11-01 | 2013-03-27 | 无锡成电科大科技发展有限公司 | 基于资源描述框架的网络资源语义检索方法及*** |
JP5873935B2 (ja) * | 2013-01-09 | 2016-03-01 | 株式会社日立製作所 | データベースの管理方法、管理計算機及び記憶媒体 |
US9031933B2 (en) | 2013-04-03 | 2015-05-12 | International Business Machines Corporation | Method and apparatus for optimizing the evaluation of semantic web queries |
US10909113B2 (en) | 2013-07-31 | 2021-02-02 | Sap Se | Global dictionary for database management systems |
CN103617265B (zh) * | 2013-12-03 | 2016-08-31 | 北京航空航天大学深圳研究院 | 一种基于本体语义信息的本体查询引擎优化*** |
US9275425B2 (en) * | 2013-12-19 | 2016-03-01 | International Business Machines Corporation | Balancing provenance and accuracy tradeoffs in data modeling |
US9690792B2 (en) * | 2014-08-26 | 2017-06-27 | International Business Machines Corporation | Access control for unprotected data storage system endpoints |
US9703830B2 (en) | 2014-10-09 | 2017-07-11 | International Business Machines Corporation | Translation of a SPARQL query to a SQL query |
WO2016078004A1 (en) * | 2014-11-19 | 2016-05-26 | Empire Technology Development Llc | Ontology decomposer |
US10430410B2 (en) | 2015-03-12 | 2019-10-01 | International Business Machines Corporation | Explain tool for optimizing SPARQL queries |
US10915525B2 (en) | 2015-06-15 | 2021-02-09 | International Business Machines Corporation | Traversing a SPARQL query and translation to a semantic equivalent SQL |
US11068475B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to develop and manage data-driven projects collaboratively via a networked computing platform and collaborative datasets |
US11068847B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets |
US10699027B2 (en) | 2016-06-19 | 2020-06-30 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11755602B2 (en) | 2016-06-19 | 2023-09-12 | Data.World, Inc. | Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data |
US11947554B2 (en) | 2016-06-19 | 2024-04-02 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11086896B2 (en) | 2016-06-19 | 2021-08-10 | Data.World, Inc. | Dynamic composite data dictionary to facilitate data operations via computerized tools configured to access collaborative datasets in a networked computing platform |
US11042548B2 (en) | 2016-06-19 | 2021-06-22 | Data World, Inc. | Aggregation of ancillary data associated with source data in a system of networked collaborative datasets |
US11023104B2 (en) | 2016-06-19 | 2021-06-01 | data.world,Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US10853376B2 (en) | 2016-06-19 | 2020-12-01 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US10747774B2 (en) | 2016-06-19 | 2020-08-18 | Data.World, Inc. | Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets |
US10346429B2 (en) | 2016-06-19 | 2019-07-09 | Data.World, Inc. | Management of collaborative datasets via distributed computer networks |
US10984008B2 (en) | 2016-06-19 | 2021-04-20 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US10515085B2 (en) | 2016-06-19 | 2019-12-24 | Data.World, Inc. | Consolidator platform to implement collaborative datasets via distributed computer networks |
US11334625B2 (en) | 2016-06-19 | 2022-05-17 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11016931B2 (en) | 2016-06-19 | 2021-05-25 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10102258B2 (en) | 2016-06-19 | 2018-10-16 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11941140B2 (en) | 2016-06-19 | 2024-03-26 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11042560B2 (en) | 2016-06-19 | 2021-06-22 | data. world, Inc. | Extended computerized query language syntax for analyzing multiple tabular data arrangements in data-driven collaborative projects |
US10645548B2 (en) | 2016-06-19 | 2020-05-05 | Data.World, Inc. | Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets |
US10324925B2 (en) | 2016-06-19 | 2019-06-18 | Data.World, Inc. | Query generation for collaborative datasets |
US10452975B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US10452677B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US10438013B2 (en) | 2016-06-19 | 2019-10-08 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11036697B2 (en) | 2016-06-19 | 2021-06-15 | Data.World, Inc. | Transmuting data associations among data arrangements to facilitate data operations in a system of networked collaborative datasets |
US11042556B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Localized link formation to perform implicitly federated queries using extended computerized query language syntax |
US11468049B2 (en) | 2016-06-19 | 2022-10-11 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US11042537B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets |
US10691710B2 (en) | 2016-06-19 | 2020-06-23 | Data.World, Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US10353911B2 (en) | 2016-06-19 | 2019-07-16 | Data.World, Inc. | Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets |
US11036716B2 (en) | 2016-06-19 | 2021-06-15 | Data World, Inc. | Layered data generation and data remediation to facilitate formation of interrelated data in a system of networked collaborative datasets |
US11675808B2 (en) | 2016-06-19 | 2023-06-13 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US10824637B2 (en) | 2017-03-09 | 2020-11-03 | Data.World, Inc. | Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets |
EP3586247A4 (en) * | 2017-02-22 | 2020-11-18 | Data.World, Inc. | PLATFORM MANAGEMENT OF INTEGRATED ACCESS RECORDS USING FEDERATED QUERY GENERATION AND SCHEME WRITING OPTIMIZATION |
US12008050B2 (en) | 2017-03-09 | 2024-06-11 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US11238109B2 (en) | 2017-03-09 | 2022-02-01 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US11068453B2 (en) | 2017-03-09 | 2021-07-20 | data.world, Inc | Determining a degree of similarity of a subset of tabular data arrangements to subsets of graph data arrangements at ingestion into a data-driven collaborative dataset platform |
US10922308B2 (en) | 2018-03-20 | 2021-02-16 | Data.World, Inc. | Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform |
US11243960B2 (en) | 2018-03-20 | 2022-02-08 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
USD940732S1 (en) | 2018-05-22 | 2022-01-11 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11537990B2 (en) | 2018-05-22 | 2022-12-27 | Data.World, Inc. | Computerized tools to collaboratively generate queries to access in-situ predictive data models in a networked computing platform |
USD920353S1 (en) | 2018-05-22 | 2021-05-25 | Data.World, Inc. | Display screen or portion thereof with graphical user interface |
US11327991B2 (en) | 2018-05-22 | 2022-05-10 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
US11947529B2 (en) | 2018-05-22 | 2024-04-02 | Data.World, Inc. | Generating and analyzing a data model to identify relevant data catalog data derived from graph-based data arrangements to perform an action |
USD940169S1 (en) | 2018-05-22 | 2022-01-04 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11442988B2 (en) | 2018-06-07 | 2022-09-13 | Data.World, Inc. | Method and system for editing and maintaining a graph schema |
CN109241101B (zh) | 2018-08-31 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种数据库查询优化方法、装置、及计算机设备 |
US10705824B2 (en) * | 2018-09-10 | 2020-07-07 | International Business Machines Corporation | Intention-based command optimization |
US11947600B2 (en) | 2021-11-30 | 2024-04-02 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093493A (zh) * | 2006-06-23 | 2007-12-26 | 国际商业机器公司 | 数据库查询语言转换方法、转换装置、数据库查询*** |
WO2008026794A1 (en) * | 2006-08-28 | 2008-03-06 | Korea Institute Of Science & Technology Information | System for providing service of knowledge extension and inference based on dbms, and method for the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539371B1 (en) | 1997-10-14 | 2003-03-25 | International Business Machines Corporation | System and method for filtering query statements according to user-defined filters of query explain data |
US6925457B2 (en) | 2001-07-27 | 2005-08-02 | Metatomix, Inc. | Methods and apparatus for querying a relational data store using schema-less queries |
US7680862B2 (en) * | 2005-04-18 | 2010-03-16 | Oracle International Corporation | Rewriting table functions as SQL strings |
US7904401B2 (en) * | 2006-02-21 | 2011-03-08 | International Business Machines Corporation | Scaleable ontology reasoning to explain inferences made by a tableau reasoner |
US8510321B2 (en) | 2006-08-03 | 2013-08-13 | International Business Machines Corporation | Information retrieval from relational databases using semantic queries |
US20080256026A1 (en) * | 2006-10-17 | 2008-10-16 | Michael Glen Hays | Method For Optimizing And Executing A Query Using Ontological Metadata |
US7979455B2 (en) * | 2007-11-26 | 2011-07-12 | Microsoft Corporation | RDF store database design for faster triplet access |
US7818352B2 (en) * | 2007-11-26 | 2010-10-19 | Microsoft Corporation | Converting SPARQL queries to SQL queries |
-
2009
- 2009-03-31 CN CN200910132545A patent/CN101853257B/zh not_active Expired - Fee Related
-
2010
- 2010-03-26 US US12/732,240 patent/US8275784B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093493A (zh) * | 2006-06-23 | 2007-12-26 | 国际商业机器公司 | 数据库查询语言转换方法、转换装置、数据库查询*** |
WO2008026794A1 (en) * | 2006-08-28 | 2008-03-06 | Korea Institute Of Science & Technology Information | System for providing service of knowledge extension and inference based on dbms, and method for the same |
Also Published As
Publication number | Publication date |
---|---|
US20100250577A1 (en) | 2010-09-30 |
CN101853257A (zh) | 2010-10-06 |
US8275784B2 (en) | 2012-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853257B (zh) | Sparql查询的转换***和方法 | |
WO2021083239A1 (zh) | 一种进行图数据查询的方法、装置、设备及存储介质 | |
US10860632B2 (en) | Information query method and device | |
KR101431530B1 (ko) | 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
CN101145152B (zh) | 在特定上下文内自动精细化本体的***和方法 | |
CN102722542B (zh) | 一种资源描述框架图模式匹配方法 | |
US20170116260A1 (en) | Using a dimensional data model for transforming a natural language query to a structured language query | |
US8312041B2 (en) | Resource description framework network construction device and method using an ontology schema having class dictionary and mining rule | |
US7996444B2 (en) | Creation of pre-filters for more efficient X-path processing | |
CN105608232B (zh) | 一种基于图形数据库的bug知识建模方法 | |
US20130198166A1 (en) | Reusing existing query plans in a database system | |
JP7089605B2 (ja) | データ変形システムおよび方法 | |
CN112818181B (zh) | 图数据库检索方法、***、计算机设备和存储介质 | |
TWI735380B (zh) | 自然語言處理方法與其計算裝置 | |
CN116257610B (zh) | 基于行业知识图谱的智能问答方法、装置、设备及介质 | |
CN109063114B (zh) | 能源云平台的异构数据集成方法、装置、终端及存储介质 | |
CN101350033B (zh) | 一种owl信息到关系数据库的转换方法及装置 | |
JP2002099561A (ja) | データ変換方法およびデータ変換システム並びに記憶媒体 | |
CN110119404B (zh) | 一种基于自然语言理解的智能取数***及其方法 | |
CN101719162A (zh) | 基于片段模式匹配的多版本开放式地理信息服务访问方法及*** | |
CN109918391A (zh) | 一种流式事务处理方法及*** | |
CN115809294A (zh) | 一种基于Spark SQL临时视图的快速ETL方法 | |
CN115292347A (zh) | 一种基于规则的主动式sql算法性能检查装置及方法 | |
CN107729518A (zh) | 一种关系型数据库的全文检索方法及装置 | |
US8150838B2 (en) | Method and system for a metadata driven query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120926 Termination date: 20210331 |
|
CF01 | Termination of patent right due to non-payment of annual fee |