CN113761290A - 一种基于sql实现全文检索图数据库的查询方法及查询*** - Google Patents
一种基于sql实现全文检索图数据库的查询方法及查询*** Download PDFInfo
- Publication number
- CN113761290A CN113761290A CN202110260410.XA CN202110260410A CN113761290A CN 113761290 A CN113761290 A CN 113761290A CN 202110260410 A CN202110260410 A CN 202110260410A CN 113761290 A CN113761290 A CN 113761290A
- Authority
- CN
- China
- Prior art keywords
- query
- sql
- graph
- user
- establishing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000018109 developmental process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 102100038367 Gremlin-1 Human genes 0.000 description 1
- 101001032872 Homo sapiens Gremlin-1 Proteins 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于SQL实现全文检索图数据库的查询方法及查询***,包括以下步骤:S1、建立sql查询***和图查询***的映射关系;S2、建立sql查询***的查询用户和图查询***的用户映射关系;S3、建立sql查询***中表和图查询***中的节点、边等对象的对应关系;S4、将查询中涉及到图节点关系的查询下发图数据库执行,针对图数据库查询返回的记录通过SQL全文检索,向用户返回满足条件的记录。本发明的有益效果为:可以将图数据库,关系数据库存储的数据一起关联查询,减轻用户开发***的负担。
Description
技术领域
本发明涉及图数据库的查询领域,具体来说,涉及一种基于SQL实现全文检索图数据库的查询方法及查询***。
背景技术
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。
目前图数据库领域最主流的两种查询语言为Cypher和Gremlin。这些图查询语言都是侧重于通过对图的遍历找到满足条件的节点和关系,但是对关系或者节点的属性的条件检查都比较简单,比如当节点的附加属性是一篇文档时,想通过这篇文档来查询更加符合条件的节点,在目前的图数据库查询都难以做到。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种基于SQL实现全文检索图数据库的查询方法及查询***,解决了针对目前针对图的复杂属性查询困难的问题,减轻用户开发***的负担。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种基于SQL实现全文检索图数据库的查询方法,包括以下步骤:
S1、建立sql查询***和图查询***的映射关系;
S2、建立sql查询***的查询用户和图查询***的用户映射关系;
S3、建立sql查询***中表和图查询***中的节点、边等对象的对应关系;
S4、将查询中涉及到图节点关系的查询下发图数据库执行,针对图数据库查询返回的记录通过SQL全文检索,向用户返回满足条件的记录。
进一步的,所述步骤S1建立sql查询***和图查询***的映射关系包括以下步骤:
S11、用户在sql查询***中输入图查询***的访问url地址;
S12、在url地址上建立sql查询***到该图数据库的映射关系。
进一步的,所述url地址包括ip端口号和图数据库名称。
进一步的,所述步骤S2建立sql查询***的查询用户和图查询***的用户映射关系包括以下步骤:
S21、用户在sql查询***中输入图数据库的访问用户以及访问密码;
S22、根据访问用户以及访问密码建立当前sql用户到图数据库的映射关系。
进一步的,步骤S3建立sql查询***中表和图查询***中的节点和边等对象的对应关系包括以下步骤:
S31、在sql查询***中建立包含边等对象的属性书写文档的表;
S32、建立该表跟图数据库查询条件边等对象的对应关系。
进一步的,所述步骤S4将查询中涉及到图节点关系的查询下发图数据库执行,针对图数据库查询返回的记录通过SQL全文检索,向用户返回满足条件的记录包括以下步骤:
S41、输入边等对象中发表的文档中的相关字眼;
S42、***在接收到上述用户查询SQL语句时,对sql语句进行词法语法分析;
S43、生成SQL执行计划;
S44、建立和远端图数据库***的连接;
S45、下发相关的图查询语言到图数据库;
S46、读取图数据库满足条件的记录;
进一步的,所述步骤S42中,***在接收到上述用户查询SQL语句时,对sql语句进行词法语法分析,如有错误,向用户返回错误信息,若没有错误则继续执行步骤S43。
根据本发明的另一方面,提供了一种基于SQL实现全文检索图数据库的查询***,包括客户端、解析器、优化器、执行器、外部数据包装器和数据字典,所述客户端、解析器、优化器、执行器依次电信连接,所述外部数据包装器分别与所述优化器和执行器电信连接,并且,所述外部数据包装器通过数据字典与所述解析器电信连接;
其中,所述解析器用于实现对SQL语句的语法解析、语义校验、查询重写的功能;
所述优化器采用基于代价的查询优化(CBO)方式,生成SQL查询计划;
所述外部数据包装器采用回调函数方式,提供FDW对象管理、外部服务器(ForeignServer)对象管理、外部表对象管理、用户映射管理的功能;
所述数据字典用于定义FDW对象、外部服务器、外部表、用户映射相关元数据信息。
本发明的有益效果为:使用本发明提供的方法,用户通过SQL语句向***发送请求,***将涉及图查询检索的请求下发图数据库查询,基于返回的结果对其进行全文检索,解决了针对目前针对图的复杂属性查询困难的问题,减轻用户开发***的负担,对图数据库的检索很有意义,同时由于引入了SQL查询***,可以通过SQL对映射到该***的异构数据源进行关联查询,即可以将图数据库,关系数据库存储的数据一起关联查询,减轻用户开发***的负担。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种基于SQL实现全文检索图数据库的查询方法的流程图;
图2是根据本发明实施例的一种基于SQL实现全文检索图数据库的查询***的框图;
图3是根据本发明实施例的一种基于SQL实现全文检索图数据库的查询方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1和图3,根据本发明的实施例,提供了一种基于SQL实现全文检索图数据库的查询方法,包括以下步骤:
S1、建立sql查询***和图查询***的映射关系;
S11、用户在sql查询***中输入图查询***的访问url地址(包含ip,端口号图数据库名称);
S12、建立sql查询***到该图数据库的映射关系,从而可以在后面访问图数据库数据。
所述步骤S1的代码如下:
CREATE SERVER graph_server
FOREIGN DATA WRAPPER graph_fdw
OPTIONS(url'http://10.170.130.127:8223/db');
S2、建立sql查询***的查询用户和图查询***的用户映射关系
S21、用户在sql查询***中输入图数据库的访问用户以及访问密码;
S22、建立当前sql用户到图数据库的映射关系,从而可以使当前sql用户访问图数据库的数据。
所述步骤S2的代码如下:
create user MAPPING FOR db_user server graph_server
options(username'graph_user',password'graph_user');
S3、建立sql查询***中表和图查询***中的节点、边等对象的对应关系;
以下以找出Lihua认识的人为边等对象进行说明,步骤如下:
S31、sql查询***中建立包含Lihua认识的人的属性如姓名,年龄,书写文档的表;
S32、建立该表跟图数据库查询条件Lihua认识的人的对应关系。
所述步骤S3的代码如下:
CREATE FOREIGN TABLE persons(
name text,
age int,
doc text)
SERVER graph_server
OPTIONS(query'{"query":"MATCH(person:Person)-[:KNOWS](foaf:Person)WHERE person.name="Lihua"}');
S4、将查询中涉及到图节点关系的查询下发图数据库执行,针对图数据库查询返回的记录通过SQL全文检索,向用户返回满足条件的记录。
S41、输入边等对象中发表的文档中的相关字眼;
如找出Lihua认识的人中发表的文档包括类似人工智能字眼的人,该步骤的代码为:
select name,doc from persons where doc@@(‘jieba_qry’,’人工智能’);
S42、***在接收到上述用户查询SQL语句时,对sql语句进行词法语法分析,如有错误,向用户返回错误信息,没有错误继续执行步骤S43;
S43、生成SQL执行计划;
S44、建立和远端图数据库***的连接;
S45、下发相关的图查询语言到图数据库;
S46、读取图数据库满足条件的记录;
S47、针对读取的记录进行全文检索查询,将满足条件的记录返回用户。
如图2所示,根据本发明的实施例,还提供了一种基于SQL实现全文检索图数据库的查询***,包括客户端、解析器、优化器、执行器、外部数据包装器和数据字典,所述客户端、解析器、优化器、执行器依次电信连接,所述外部数据包装器分别与所述优化器和执行器电信连接,并且,所述外部数据包装器通过数据字典与所述解析器电信连接;
其中,所述解析器用于实现对SQL语句的语法解析、语义校验、查询重写的功能;
所述优化器采用基于代价的查询优化(CBO)方式,生成SQL查询计划;
所述外部数据包装器采用回调函数方式,提供FDW对象管理、外部服务器(ForeignServer)对象管理、外部表对象管理、用户映射管理的功能;
所述数据字典用于定义FDW对象、外部服务器、外部表、用户映射相关元数据信息。
综上所述,借助于本发明的上述技术方案,本发明解决了针对图数据库查询***属性难以进行复杂查询的问题,通过SQL的全文检索功能可以对文档属性进行更符合条件的过滤,如果不使用全文检索,只能使用普通的like检索,这种方式的检索效果不好,比如搜索friend时候,就不能将friendly,friends等检索出来。使用SQL的全文检索功能,则可以解决这个问题,用户通过SQL语句向***发送请求,***将涉及图查询检索的请求下发图数据库查询,基于返回的结果对其进行全文检索,解决了针对目前针对图的复杂属性查询困难的问题,减轻用户开发***的负担,对图数据库的检索很有意义,同时由于引入了SQL查询***,可以通过SQL对映射到该***的异构数据源进行关联查询,即可以将图数据库,关系数据库存储的数据一起关联查询,减轻用户开发***的负担。
同时由于引入了SQL查询***,可以通过SQL对映射到该***的异构数据源进行关联查询,即可以将图数据库,关系数据库存储的数据一起关联查询,减轻用户开发***的负担。
简要的对发明中提到的术语进行说明如下:
节点:节点是图主要的数据元素,通过关系连接到其他节点。节点可以具有一个或多个属性(即存储为键/值对的属性)。
关系:连接两个节点,代表两个节点的关联方式。关系可以有一个或多个属性(即存储为键/值对的属性)。
全文检索:将文档进行分词,将搜索条件分词,根据分词结果对文档进行匹配查询。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于SQL实现全文检索图数据库的查询方法,其特征在于,包括以下步骤:
S1、建立sql查询***和图查询***的映射关系;
S2、建立sql查询***的查询用户和图查询***的用户映射关系;
S3、建立sql查询***中表和图查询***中的节点、边等对象的对应关系;
S4、将查询中涉及到图节点关系的查询下发图数据库执行,针对图数据库查询返回的记录通过SQL全文检索,向用户返回满足条件的记录。
2.根据权利要求1所述的一种基于SQL实现全文检索图数据库的查询方法,其特征在于,所述步骤S1建立sql查询***和图查询***的映射关系包括以下步骤:
S11、用户在sql查询***中输入图查询***的访问url地址;
S12、在url地址上建立sql查询***到该图数据库的映射关系。
3.根据权利要求2所述的一种基于SQL实现全文检索图数据库的查询方法,其特征在于,所述url地址包括ip端口号和图数据库名称。
4.根据权利要求1所述的一种基于SQL实现全文检索图数据库的查询方法,其特征在于,所述步骤S2建立sql查询***的查询用户和图查询***的用户映射关系包括以下步骤:
S21、用户在sql查询***中输入图数据库的访问用户以及访问密码;
S22、根据访问用户以及访问密码建立当前sql用户到图数据库的映射关系。
5.根据权利要求1所述的一种基于SQL实现全文检索图数据库的查询方法,其特征在于,步骤S3建立sql查询***中表和图查询***中的节点和边等对象的对应关系包括以下步骤:
S31、在sql查询***中建立包含边等对象的属性书写文档的表;
S32、建立该表跟图数据库查询条件边等对象的对应关系。
6.根据权利要求1所述的一种基于SQL实现全文检索图数据库的查询方法,其特征在于,所述步骤S4将查询中涉及到图节点关系的查询下发图数据库执行,针对图数据库查询返回的记录通过SQL全文检索,向用户返回满足条件的记录包括以下步骤:
S41、输入边等对象中发表的文档中的相关字眼;
S42、***在接收到上述用户查询SQL语句时,对sql语句进行词法语法分析;
S43、生成SQL执行计划;
S44、建立和远端图数据库***的连接;
S45、下发相关的图查询语言到图数据库;
S46、读取图数据库满足条件的记录;
S47、针对读取的记录进行全文检索查询,将满足条件的记录返回用户。
7.根据权利要求6所述的一种基于SQL实现全文检索图数据库的查询方法,其特征在于,所述步骤S42中,***在接收到上述用户查询SQL语句时,对sql语句进行词法语法分析,如有错误,向用户返回错误信息,若没有错误则继续执行步骤S43。
8.一种基于SQL实现全文检索图数据库的查询***,其特征在于,用于权利要求1-7任意一项所述的基于SQL实现全文检索图数据库的查询方法的实现,包括客户端、解析器、优化器、执行器、外部数据包装器和数据字典,所述客户端、解析器、优化器、执行器依次电信连接,所述外部数据包装器分别与所述优化器和执行器电信连接,并且,所述外部数据包装器通过数据字典与所述解析器电信连接;
其中,所述解析器用于实现对SQL语句的语法解析、语义校验、查询重写的功能;
所述优化器采用基于代价的查询优化(CBO)方式,生成SQL查询计划;
所述外部数据包装器采用回调函数方式,提供FDW对象管理、外部服务器(ForeignServer)对象管理、外部表对象管理、用户映射管理的功能;
所述数据字典用于定义FDW对象、外部服务器、外部表、用户映射相关元数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110260410.XA CN113761290A (zh) | 2021-03-10 | 2021-03-10 | 一种基于sql实现全文检索图数据库的查询方法及查询*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110260410.XA CN113761290A (zh) | 2021-03-10 | 2021-03-10 | 一种基于sql实现全文检索图数据库的查询方法及查询*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761290A true CN113761290A (zh) | 2021-12-07 |
Family
ID=78786803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110260410.XA Pending CN113761290A (zh) | 2021-03-10 | 2021-03-10 | 一种基于sql实现全文检索图数据库的查询方法及查询*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761290A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297224A (zh) * | 2021-12-22 | 2022-04-08 | 重庆邮电大学 | 一种基于rdf的异构数据集成与查询***及方法 |
CN114490095A (zh) * | 2022-04-19 | 2022-05-13 | 北京闪马智建科技有限公司 | 请求结果的确定方法和装置、存储介质及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160092527A1 (en) * | 2014-09-30 | 2016-03-31 | Bitnine Co., Ltd. | Data processing apparatus and data mapping method thereof |
CN107092639A (zh) * | 2017-02-23 | 2017-08-25 | 武汉智寻天下科技有限公司 | 一种搜索引擎*** |
CN107515887A (zh) * | 2017-06-29 | 2017-12-26 | 中国科学院计算机网络信息中心 | 一种适用于多种大数据管理***的交互式查询方法 |
CN109684349A (zh) * | 2018-11-20 | 2019-04-26 | 中国科学院计算技术研究所 | 一种基于sql与图计算交互式分析的查询方法和*** |
CN111949650A (zh) * | 2019-05-15 | 2020-11-17 | 华为技术有限公司 | 一种多语言融合查询方法及多模数据库*** |
-
2021
- 2021-03-10 CN CN202110260410.XA patent/CN113761290A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160092527A1 (en) * | 2014-09-30 | 2016-03-31 | Bitnine Co., Ltd. | Data processing apparatus and data mapping method thereof |
CN107092639A (zh) * | 2017-02-23 | 2017-08-25 | 武汉智寻天下科技有限公司 | 一种搜索引擎*** |
CN107515887A (zh) * | 2017-06-29 | 2017-12-26 | 中国科学院计算机网络信息中心 | 一种适用于多种大数据管理***的交互式查询方法 |
CN109684349A (zh) * | 2018-11-20 | 2019-04-26 | 中国科学院计算技术研究所 | 一种基于sql与图计算交互式分析的查询方法和*** |
CN111949650A (zh) * | 2019-05-15 | 2020-11-17 | 华为技术有限公司 | 一种多语言融合查询方法及多模数据库*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297224A (zh) * | 2021-12-22 | 2022-04-08 | 重庆邮电大学 | 一种基于rdf的异构数据集成与查询***及方法 |
CN114490095A (zh) * | 2022-04-19 | 2022-05-13 | 北京闪马智建科技有限公司 | 请求结果的确定方法和装置、存储介质及电子装置 |
CN114490095B (zh) * | 2022-04-19 | 2022-06-21 | 北京闪马智建科技有限公司 | 请求结果的确定方法和装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8126892B2 (en) | Automatically linking documents with relevant structured information | |
CN110291517B (zh) | 图数据库中的查询语言互操作性 | |
US9558186B2 (en) | Unsupervised extraction of facts | |
US8862458B2 (en) | Natural language interface | |
Chakaravarthy et al. | Efficiently linking text documents with relevant structured information | |
CN107391677B (zh) | 携带实体关系属性的中文通用知识图谱的生成方法及装置 | |
US6910003B1 (en) | System, method and article of manufacture for concept based information searching | |
Bikakis et al. | The XML and semantic web worlds: technologies, interoperability and integration: a survey of the state of the art | |
CN104657440B (zh) | 结构化查询语句生成***及方法 | |
US9208229B2 (en) | Anchor text summarization for corroboration | |
WO2021135439A1 (zh) | 基于语音语义的信息检索方法、及其相关设备 | |
US20060253495A1 (en) | Metadata database management system and method therefor | |
CN104657439A (zh) | 用于自然语言精准检索的结构化查询语句生成***及方法 | |
US11263218B2 (en) | Global matching system | |
Chen et al. | Constraint preserving XML storage in relations | |
CN113761290A (zh) | 一种基于sql实现全文检索图数据库的查询方法及查询*** | |
US11500876B2 (en) | Method for duplicate determination in a graph | |
CN108536728A (zh) | 一种数据查询方法和装置 | |
CN114218472A (zh) | 基于知识图谱的智能搜索*** | |
CN113851219A (zh) | 一种基于多模态知识图谱的智能导诊方法 | |
Castano et al. | A discovery-based approach to database ontology design | |
CN117149804A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116467291A (zh) | 一种知识图谱存储与搜索方法及*** | |
CN114880483A (zh) | 一种元数据知识图谱构建方法、存储介质及*** | |
Tran et al. | Semantic search–using graph-structured semantic models for supporting the search process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211207 |