CN114356977B - 分布式rdf图查询方法、装置、设备及存储介质 - Google Patents

分布式rdf图查询方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114356977B
CN114356977B CN202210256310.4A CN202210256310A CN114356977B CN 114356977 B CN114356977 B CN 114356977B CN 202210256310 A CN202210256310 A CN 202210256310A CN 114356977 B CN114356977 B CN 114356977B
Authority
CN
China
Prior art keywords
query
vertex
local
graph
rdf
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.)
Active
Application number
CN202210256310.4A
Other languages
English (en)
Other versions
CN114356977A (zh
Inventor
胡健
彭鹏
陈泽宇
纪生义
秦拯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN202210256310.4A priority Critical patent/CN114356977B/zh
Publication of CN114356977A publication Critical patent/CN114356977A/zh
Application granted granted Critical
Publication of CN114356977B publication Critical patent/CN114356977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种分布式RDF图查询方法、装置、设备及存储介质,方法包括:基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片;将n个子数据库图分片存入n个gStore节点中;获取用户输入的查询语句Q和查询的数据库名称;将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q;将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果;将所有的局部查询结果连接在一起形成最终查询结果。本发明通过将查询语句重写为局部查询语句,实现基于查询重写的部分求值,不需要修改每个站点上的单机RDF图系统。

Description

分布式RDF图查询方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式RDF图查询方法、装置、设备及存储介质。
背景技术
知识图谱数据管理的一个核心问题是如何有效地存储RDF数据集和快速回答SPARQL查询。总的来说,有两套完全不同的思路:
其一是可以利用已有的成熟的数据库管理系统(例如关系数据库系统)来存储知识图谱数据,将面向RDF知识图谱的SPARQL查询转换为面向此类成熟数据库管理系统的查询,例如面向关系数据库的SQL查询,利用已有的关系数据库产品或者相关技术来回答查询。这里面最核心的研究问题是如何构建关系表来存储RDF知识图谱数据,并且使得转换的SQL查询语句查询性能更高;
其二是直接开发面向RDF知识图谱数据的Native的知识图谱数据存储和查询系统(Native RDF图数据库系统),考虑到RDF知识图谱管理的特性,从数据库系统的底层进行优化。
目前北京大学王选计算机研究所开发出一个面向RDF知识图谱的图数据库系统gStore,不同于传统基于关系数据库的知识图谱数据管理方法,gStore原生基于图数据模型(Native Graph Model),维持了原始RDF知识图谱的图结构;其数据模型是有标签、有向的多边图,每个顶点对应着一个主体或客体。gStore系统将RDF和SPARQL分别表示成图的形式,利用子图匹配的方法来回答SPARQL查询,并且利用基于图结构的索引(VS-tree)来加速查询的性能。 例如在RDF中,主体和客体可以分别表示成RDF图中的节点,一条称述(即RDF三元组)可以表示成一条边,其中谓词是边的标签。RDF图示例见图1。
同时,基于部分求值的系统有一个缺点:它们需要在每个站点修改单机RDF图系统。现有的单机RDF图系统只支持查找匹配项,而不支持SPARQL查询的本地局部匹配项,因此它们应该修改每个站点上的单机RDF图系统以实现本地局部匹配,这会导致操作比较繁琐。
发明内容
为了解决现有技术存在的问题,本发明提供了一种分布式RDF图查询方法、装置、设备及存储介质。
本发明是这样实现的:
一种分布式RDF图查询方法,其包括:
基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片;
将n个子数据库图分片存入n个gStore节点中;
获取用户输入的查询语句Q和查询的数据库名称;
将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q;
将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果;
将所有的局部查询结果连接在一起形成最终查询结果。
优选地,每个子数据库图分片包括若干个顶点以及顶点所属分区的标识符。
优选地,对于每个分区内的顶点,其包括内顶点以及扩展顶点,其中,内顶点关联internal值,扩展顶点关联extended值。
优选地,对于用户输入的查询语句Q,其重写生成的局部查询语句q是一个满足以下约束的查询图:
局部查询集V(q)⊆V(Q),且分为包含内顶点的Vc(q)和包含扩展顶点的Ve(q)两个子图,其中Vc(q)的诱导子图是弱连通的,且任何在Ve(q)顶点与至少一个在Vc(q)的顶点邻接;
对于任何在Vc(q)内的顶点v,q包含一个三元组,该模式与internal值关联;
对于任何在Ve(q)顶点v,q包含一个三元组(即边),该模式与extended值关联;
与在Vc(q)顶点相邻的任何边都包含在q中;
不存在边u1、u2满足u1∈Vc(q)∧u2∈Ve(q)。
优选地,在将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果时,对于每个本地局部匹配,构造一个匹配它的查询,然后证明该查询是一个本地局部查询:
给定映射函数f的查询语句Q的本地局部匹配PM;
用f-1 (PM)表示由一组顶点诱导的子图(Q),其中对于任意顶点v∈f-1(PM), f(v)不为NULL,通过在f-1 (PM)中添加三重模式来构造一个查询q∗;如果PM中的顶点u是内部的,添加一个三重模式来将f-1(u)与一个值internal关联;否则,添加一个三重模式,将f-1 (u)与一个值extended关联。
优选地,将所有的局部查询结果连接在一起形成最终查询结果,具体包括:
将每组的局部查询语句放在所有节点上并行执行,每组查询均执行完成后,对局部查询结果做Join操作;
在每组完成以上Join操作后,将每组的结果进行Union操作,从而得到最终结果。
本发明实施例还提供了一种分布式RDF图查询装置,其包括:
分区单元,用于基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片;
存储单元,用于将n个子数据库图分片存入n个gStore节点中;
查询单元,用于获取用户输入的查询语句Q和查询的数据库名称;
重写单元,用于将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q;
评估单元,用于将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果;
连接单元,用于将所有的局部查询结果连接在一起形成最终查询结果。
本发明实施例还提供了一种分布式RDF图查询设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的分布式RDF图查询方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上述的分布式RDF图查询方法。
综上所述,本实施例通过将查询语句重写为局部查询语句,实现基于查询重写的部分求值,不需要修改每个站点上的单机RDF图系统,方便了查询和部署的操作。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1为现有的RDF图。
图2是本发明第一实施例提供的一种分布式RDF图查询方法的流程示意图。
图3(a)-图3(c)是划分RDF数据图得到的结果示意图。
图4是PEG和gStore节点关系图。
图5是对查询语句进行重写的示例查询图。
图6(a)-图6(d)是图5中提到的四个本地局部查询的匹配示意图。
图7是分布式RDF图查询装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图2,本发明第一实施例提供了一种分布式RDF图查询方法,其可由分布式RDF图查询设备(以下简称查询设备)来执行,特别的,由所述查询设备内的一个或者多个处理器来执行,以实现如下步骤:
S101,基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片。
在本实施例中,为了实现本实施例的分布式RDF图查询方法,需要先在查询设备内部署PEG系统。具体部署流程如下:
首先,用户应部署PEG的前端。用户可以从GitHub下载前端包,通过vscode或webStorm打开。然后,用户应该在vue.config.js文件中修改代理的target,设置为后端部署的服务器地址和端口。
然后,用户运行npm run build:prod将文件打包到dist文件夹中。用户可以将dist文件夹放在服务器的任何位置,并使用nginx反向代理来完成跨域部署环境。
最后,用户将location /中的root修改为dist文件夹所在的路径,并修改location /api/中的proxy_pass来设置后端部署的服务器地址和端口。用户可以通过访问部署的地址和端口号来访问PEG的前端。另一方面,部署PEG的后端,用户需要创建一个名为build的新文件夹,然后进入这个文件夹并使用cmake进行编译。要在PEG中配置站点,需要一个名为conf / servers.json的配置文件。在这个json文件中,用户可以设置站点的IP地址、gStore http服务的端口、gStore的用户名和密码等。当用户完成配置后,可以运行PEG。
在部署完PEG后,就可以使用PEG来管理RDF数据图了,用户首先在浏览器中输入部署的地址和端口号来访问登录页面。登录后,用户进入数据加载器页面。该页面的功能是对数据库进行管理。用户可以在该界面进行数据库管理,如增删数据库或者进行数据库命名等。
在本实施例中,一个RDF数据图可根据顶点不相交的分区策略划分成n个子数据库图分片。顶点不相交分区已在大多数分布式RDF系统中使用,它将每个顶点分配到单个分区中。在本实施例可以使用任何顶点不相交的分区方法。分区形成一个文件,每行由两部分组成:第一部分是顶点,第二部分是顶点所属分区的标识符。
在顶点不相交分区中,一些边在分区间被切割。本实施例将称其为跨界边,并将其复制到其端点的两个分区中,以保证每个分区图的完整性。因此,对于每个分区,其他分区的一些顶点存储在它和这些顶点的集合被称为扩展顶点。同时,每个分区的顶点称为分区的内部顶点。然后,当查询设备对RDF数据图进行分区时,它还将每个顶点与一个值关联,该值表示该顶点是扩展的(extended)还是内部的(internal)。
图3(a)-图3(c)给出了划分RDF数据图的一个示例。顶点旁边的数字是顶点id,它是为了便于显示而引入的。查询设备首先加载分区,并维护一个映射,将每个顶点分配给它的分区。然后,查询设备逐个扫描三元组,并根据主语和宾语的分区标识符分配三元组。如果主语和宾语的分区标识符不同,这表明三元组是跨界边,需要在主语和宾语两部分中复制三元组。对于主语(或宾语)的分区,宾语(或主语)被复制并与一个属性值“extended”关联。例如,顶点001和002分别分配给分区1和2,因此边−−002,001是一个跨界边,它在分区1和分区2上都被复制。在分区1中,顶点001是内部的,而顶点002是扩展的,因此顶点002与一个属性值“extended”(即4中外部点)关联。另一方面,对于每个顶点,它在其分区中都与一个属性值“internal”(即4中内部点)相关联。例如,将vertex001分配给分区1,因此在分区1中,vertex001与一个属性值“internal”关联。
S102,将n个子数据库图分片存入n个gStore节点中。
在本实施例中,首先需先在查询设备调用gStore单机命令创建数据库,给定数据库名称和数据存储的路径,各个gStore节点开始将上述存入的n个子数据库图分片进行创建数据库。图4给出了PEG和gStore节点关系图。
S103,获取用户输入的查询语句Q和查询的数据库名称。
在本实施例中,用户可以输入SPARQL查询,选择相应的数据库,然后执行查询。
S104,将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q。
在本实施例中,对于用户输入的查询语句Q,其重写生成的局部查询语句q是一个满足以下约束的查询图:
局部查询集V(q)⊆V(Q),且分为包含内顶点的Vc(q)和包含扩展顶点的Ve(q)两个子图,其中Vc(q)的诱导子图是弱连通的,且任何在Ve(q)顶点与至少一个在Vc(q)的顶点邻接;
对于任何在Vc(q)内的顶点v,q包含一个三元组,该模式与Internal值关联;
对于任何在Ve(q)顶点v,q包含一个三元组(即边),该模式与Extended值关联;
与在Vc(q)顶点相邻的任何边都包含在q中;
不存在边u1、u2满足u1∈Vc(q)∧u2∈Ve(q)。
例如,图5显示出了重写的示例查询。因为划分策略只对“演员”这个边进行划分,所以在划分局部查询时,只需要关注“演员”这个边的
Figure 283529DEST_PATH_IMAGE001
Figure 678738DEST_PATH_IMAGE002
Figure 493110DEST_PATH_IMAGE003
Figure 377890DEST_PATH_IMAGE004
可以不关注,因此有三个局部查询语句:q1、q2和q3。在q1中,Vc(q1)是
Figure 644923DEST_PATH_IMAGE005
,Ve(q1)是
Figure 843823DEST_PATH_IMAGE006
;而在q2查询中Vc(q2)是
Figure 512702DEST_PATH_IMAGE006
,Ve(q2)是
Figure 568382DEST_PATH_IMAGE005
。在q3中,Vc(q3)是
Figure 322712DEST_PATH_IMAGE007
,Ve(q3)是∅。
S105,将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果。
在本实施例中,对于每个本地局部匹配,不考虑匹配NULL的顶点,首先构造一个匹配它的查询,然后证明该查询是一个本地局部查询。
给定映射函数f的查询语句Q的本地局部匹配PM,我们用f-1 (PM)表示由一组顶点诱导的子图(Q),其中对于任意顶点v∈f-1(PM),f(v)不为NULL。可以通过在f-1 (PM)中添加三重模式来构造一个查询q∗:如果PM中的顶点u是内部的,添加一个三重模式来将f-1(u)与一个值“internal”关联;否则,添加一个三重模式,将f-1(u)与一个值“Extended”关联。然后,可以发现q∗是一个局部查询。这表明每个本地局部匹配可以对应一个本地局部查询的匹配。例如,图6(a)-图6(d)显示了图5中提到的四个本地局部查询语句的匹配。可以发现M1和M2是q3的匹配项,M3和M4分别是q1和q2的匹配项。实际上,M3和M4是输入查询语句的本地局部。
S106,将所有的局部查询结果连接在一起形成最终查询结果。
具体地,根据分解组合后的查询,将每组的每一个查询放在所有gStore节点上并行执行,每组查询均执行完成后,对查询结果做Join操作。每组完成以上操作后,将每组的结果进行Union操作,从而得到最终结果。
Join操作类似于数据库的表连接。结果1和结果2做Join时,先对结果2的每条结果建立hash表,然后结果1的每条结果根据公共实体查找建立的hash表。若查找成功,则将对应的结果合并,公共实体则保留一份,以避免合并后出现两个公共实体;若查找失败,则结果1下一条结果进行查找。
Union操作类似于并操作,结果1和结果2做Union时,将两者中的每一条结果都保留下来,并去掉重复的结果。
综上所述,本实施例通过将查询语句重写为局部查询语句,实现基于查询重写的部分求值,不需要修改每个站点上的单机RDF图系统,方便了查询和部署的操作。
请参阅图7,本发明第二实施例还提供了一种分布式RDF图查询装置,其包括:
分区单元210,用于基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片;
存储单元220,用于将n个子数据库图分片存入n个gStore节点中;
查询单元230,用于获取用户输入的查询语句Q和查询的数据库名称;
重写单元240,用于将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q;
评估单元250,用于将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果;
连接单元260,用于将所有的局部查询结果连接在一起形成最终查询结果。
本发明第三实施例还提供了一种分布式RDF图查询设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的分布式RDF图查询方法。
本发明第四实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上述的分布式RDF图查询方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种分布式RDF图查询方法,其特征在于,包括:
基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片;其中,每个子数据库图分片包括若干个顶点以及顶点所属分区的标识符;对于每个分区内的顶点,其包括内顶点以及扩展顶点,其中,内顶点关联internal值,扩展顶点关联extended值;
将n个子数据库图分片存入n个gStore节点中;
获取用户输入的查询语句Q和查询的数据库名称;
将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q;其中,对于用户输入的查询语句Q,其重写生成的局部查询语句q是一个满足以下约束的查询图:局部查询集V(q)⊆V(Q),且分为包含内顶点的Vc(q)和包含扩展顶点的Ve(q)两个子图,其中Vc(q)的诱导子图是弱连通的,且任何在Ve(q)顶点与至少一个在Vc(q)的顶点邻接;对于任何在Vc(q)内的顶点v,q包含一个三元组模式,该模式与internal值关联;对于任何在Ve(q)顶点v,q包含一个三元组模式,该模式与extended值关联;与在Vc(q)顶点相邻的任何边都包含在q中;不存在边u1、u2满足u1∈Vc(q)∧u2∈Ve(q);
将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果;
将所有的局部查询结果连接在一起形成最终查询结果;其中,在将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果时,对于每个本地局部匹配,构造一个匹配它的查询,然后证明该查询是一个本地局部查询:
给定映射函数f的查询语句Q的本地局部匹配PM;
用f-1 (PM)表示由一组顶点诱导的子图,其中对于任意顶点v∈f-1(PM), f(v)不为空值,通过在f-1(PM)中添加三元组模式来构造一个查询q∗;如果PM中的顶点u是内部的,添加一个三元组模式来将f-1(u)与一个值internal关联;否则,添加一个三元组模式,将f-1 (u)与一个值extended关联;将所有的局部查询结果连接在一起形成最终查询结果,具体包括:
将每组的局部查询语句放在所有节点上并行执行,每组查询均执行完成后,对局部查询结果做Join操作;
在每组完成以上Join操作后,将每组的结果进行Union操作,从而得到最终结果。
2.一种分布式RDF图查询装置,其特征在于,包括:
分区单元,用于基于顶点不相交的分区方法以及用户输入的分区信息,对RDF数据图的每个顶点进行分区,将RDF数据图划分为n个子数据库图分片;其中,每个子数据库图分片包括若干个顶点以及顶点所属分区的标识符;对于每个分区内的顶点,其包括内顶点以及扩展顶点,其中,内顶点关联internal值,扩展顶点关联extended值;
存储单元,用于将n个子数据库图分片存入n个gStore节点中;
查询单元,用于获取用户输入的查询语句Q和查询的数据库名称;
重写单元,用于将所述查询语句重写为所有可能的局部查询集;所述局部查询集包括一组局部查询语句q;其中,对于用户输入的查询语句Q,其重写生成的局部查询语句q是一个满足以下约束的查询图:局部查询集V(q)⊆V(Q),且分为包含内顶点的Vc(q)和包含扩展顶点的Ve(q)两个子图,其中Vc(q)的诱导子图是弱连通的,且任何在Ve(q)顶点与至少一个在Vc(q)的顶点邻接;对于任何在Vc(q)内的顶点v,q包含一个三元组模式,该模式与internal值关联;对于任何在Ve(q)顶点v,q包含一个三元组模式,该模式与extended值关联;与在Vc(q)顶点相邻的任何边都包含在q中;不存在边u1、u2满足u1∈Vc(q)∧u2∈Ve(q);
评估单元,用于将所述局部查询语句发送到所有gStore节点进行评估以获得局部查询结果;其中,对于每个本地局部匹配,构造一个匹配它的查询,然后证明该查询是一个本地局部查询:给定映射函数f的查询语句Q的本地局部匹配PM;用f-1 (PM)表示由一组顶点诱导的子图,其中对于任意顶点v∈f-1(PM), f(v)不为空值,通过在f-1(PM)中添加三元组模式来构造一个查询q∗;如果PM中的顶点u是内部的,添加一个三元组模式来将f-1(u)与一个值internal关联;否则,添加一个三元组模式,将f-1 (u)与一个值extended关联;
连接单元,用于将所有的局部查询结果连接在一起形成最终查询结果;其中,将每组的局部查询语句放在所有节点上并行执行,每组查询均执行完成后,对局部查询结果做Join操作;在每组完成以上Join操作后,将每组的结果进行Union操作,从而得到最终结果。
3.一种分布式RDF图查询设备,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求1所述的分布式RDF图查询方法。
4.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如权利要求1所述的分布式RDF图查询方法。
CN202210256310.4A 2022-03-16 2022-03-16 分布式rdf图查询方法、装置、设备及存储介质 Active CN114356977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210256310.4A CN114356977B (zh) 2022-03-16 2022-03-16 分布式rdf图查询方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210256310.4A CN114356977B (zh) 2022-03-16 2022-03-16 分布式rdf图查询方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114356977A CN114356977A (zh) 2022-04-15
CN114356977B true CN114356977B (zh) 2023-02-10

Family

ID=81094462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210256310.4A Active CN114356977B (zh) 2022-03-16 2022-03-16 分布式rdf图查询方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114356977B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325029A (zh) * 2018-08-30 2019-02-12 天津大学 基于稀疏矩阵的rdf数据存储和查询方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007133694A2 (en) * 2006-05-11 2007-11-22 Geistiges Eigentum, Inc. Fast computation of compact poset isomorphism certificates
CN104462609B (zh) * 2015-01-06 2017-09-15 福州大学 结合星型图编码的rdf数据存储与查询方法
CN112883063A (zh) * 2021-02-15 2021-06-01 湖南大学 一种基于分区的分布式rdf系统上的sparql查询处理方法
CN114116785A (zh) * 2021-12-01 2022-03-01 湖南大学 一种基于最小属性割的分布式sparql查询优化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325029A (zh) * 2018-08-30 2019-02-12 天津大学 基于稀疏矩阵的rdf数据存储和查询方法

Also Published As

Publication number Publication date
CN114356977A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
Barbieri et al. Efficient and effective community search
Xin et al. Graphx: Unifying data-parallel and graph-parallel analytics
US10467245B2 (en) System and methods for mapping and searching objects in multidimensional space
Stuckenschmidt et al. Index structures and algorithms for querying distributed RDF repositories
Chechik Compact routing schemes with improved stretch
US20210271711A1 (en) Vectorized queues for shortest-path graph searches
Lee et al. Efficient and customizable data partitioning framework for distributed big RDF data processing in the cloud
US10191998B1 (en) Methods of data reduction for parallel breadth-first search over graphs of connected data elements
CN108268614B (zh) 一种森林资源空间数据的分布式管理方法
TW201837749A (zh) 基於社交網路的群組查找方法和裝置
US10496648B2 (en) Systems and methods for searching multiple related tables
US20220083504A1 (en) Managing snapshotting of a dataset using an ordered set of b+ trees
Farnan et al. PAQO: Preference-aware query optimization for decentralized database systems
Jin et al. Querying web-scale knowledge graphs through effective pruning of search space
EP4022429A2 (en) Vectorized hash tables
US10241963B2 (en) Hash-based synchronization of geospatial vector features
WO2016177027A1 (zh) 批量数据查询方法和装置
CN112507026B (zh) 基于键值模型、文档模型和图模型的分布式高速存储方法
Potter et al. Querying distributed RDF graphs: the effects of partitioning
Jin et al. GStar: an efficient framework for answering top-k star queries on billion-node knowledge graphs
CN114356977B (zh) 分布式rdf图查询方法、装置、设备及存储介质
WO2017193764A1 (zh) 镜像文件的处理方法、装置及存储介质
WO2019174558A1 (zh) 一种数据索引方法及装置
Yaşar et al. Distributed block formation and layout for disk-based management of large-scale graphs
Spyropoulos et al. Digree: A middleware for a graph databases polystore

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
GR01 Patent grant
GR01 Patent grant