面向大规模时序RDF图数据的查询方法及系统技术方案

技术编号:33287112 阅读:13 留言:0更新日期:2022-04-30 23:56
本发明专利技术提供了一种面向大规模时序RDF图数据的查询方法及系统,包括:步骤S1:采用键

【技术实现步骤摘要】
面向大规模时序RDF图数据的查询方法及系统


[0001]本专利技术涉及知识图谱的查询
,具体地,涉及一种面向大规模时序RDF图数据的查询方法及系统。

技术介绍

[0002]图是一种复杂的数据结构,它将数据对象抽象为顶点,将数据对象之间的关系抽象为边。随着Web技术的发展和完善以及大数据时代的到来,图优秀的表达海量数据及其之间关系的能力使得使用图作为数据结构来存储数据成为了一种流行的选择。
[0003]RDF是W3C制定的一种表示Web上的数据的图模型,它是目前应用最为广泛的知识图谱框架之一,与RDF配套的SPARQL是一种专门用于查询使用RDF模型进行存储的数据的查询语言。普通SPARQL语句由若干<主语,谓语,宾语>三元组模式组成,只有符合这些模式的数据才能被加入查询结果集中。
[0004]传统的RDF图只有实体及其之间的关系,但是在现实场景中,实体之间的关系不一定是静态不变的,而是可能会随着时间而改变,在某一时刻存在的关系在另一时刻可能就不存在了。因此,将时序的概念应用于RDF来允许基于时间的图数据查询就成为了一种解决方案。很多实际应用程序都可能会有查询时序数据的需求,例如检索网站的历史信息、查询与时间有关的资源(例如股票、新闻)的数据。
[0005]目前,国内外有很多对时序知识图谱的研究,很多时序图的存储方法也被提了出来,比较具有代表性的两种方案分别是标签化和版本化。标签化指的是给图的边加上时间标签(可以理解为边的属性),表示这条边在哪个时间点或时间段是有效的;版本化指的是为图的每一个状态维护一个快照,每当一个或一组边发生改变,新的图版本就被创建。同时,也出现了一些时序知识图谱的存储和查询系统,但是这些系统尚无法同时满足以下两个指标:
[0006](1)支持对十亿级别数量的顶点和边的存储。
[0007](2)在几毫秒时延内完成基础的SPARQL查询。
[0008]如何设计一种存储结构和查询算法,使得这两个指标能够同时得到满足是本领域研究人员亟待解决的一大问题。
[0009]专利文献CN110909111A(申请号:201910982253.6)公开了基于知识图谱RDF数据特征的分布式存储与索引方法,步骤如下:对于存储数据进行处理,统计数据信息以及挖掘数据集中的关联信息;通过步骤1)中的数据信息,在三元组类之间构建有效实体聚集索引;基于统计信息对每个实体类进行本体划分处理,增加实体类所包含谓语聚合度,建立谓语指向索引;对数据集进行连接操作,保存连接特指类,以提高出现频率极高的星型查询效率;基于前述步骤将数据集划分级别,保证数据按照定义级别降序存放;对于输入查询,引入查询优化。

技术实现思路

[0010]针对现有技术中的缺陷,本专利技术的目的是提供一种面向大规模时序RDF图数据的查询方法及系统。
[0011]根据本专利技术提供的一种面向大规模时序RDF图数据的查询方法,包括:
[0012]步骤S1:采用键

值存储方式将五元组格式的时序RDF图数据均匀地加载和存储到多台机器的内存中;
[0013]步骤S2:在每台机器上创建若干个客户端线程和若干个工作线程;
[0014]步骤S3:客户端线程接收用户的查询请求,并对用户的查询请求进行解析,将解析后的查询请求发送至相应机器的工作线程;
[0015]步骤S4:工作线程基于解析后的查询请求执行查询任务得到最终查询结果;
[0016]步骤S5:工作线程将查询结果返回至客户端线程。
[0017]优选地,所述时序RDF图数据被持久化存储在若干文本文件中,每个文本文件都由五元组形式的数据行组成,五元组的前三个元素分别是将主语、谓语和宾语转化后得到的ID,五元组的前三个元素表示有向图的一条边,该边由主语对应的顶点指向宾语对应的顶点,谓语则表示边的类型;后两个元素分别表示该边有效期限的开始时间和截止时间的时间戳。
[0018]优选地,所述步骤S1采用:键是由有向图的顶点ID、谓语ID以及方向组成的三元组;值是由顶点ID、有效期限开始时间和截止时间的两个时间戳组成的三元组列表;一个键

值对是由方向为dir、类型为pid的边以及顶点vid连接的所有顶点的ID及该相邻关系的有效期限。
[0019]优选地,所述步骤S2采用:客户端线程和工作线程的数量在运行前配置;且由于工作线程的负载较大,工作线程的数量为客户端线程数量的预设倍数以上。
[0020]优选地,所述用户的查询请求采用:时序扩展的SPARQL查询命令;
[0021]所述时序扩展的SPARQL查询命令包括:WHERE关键字前面包含一个时间常量或两个时间常量,和/或WHERE关键字后面的每个查询模式包含两个时间量,其中,两个时间量包括常量和/或变量。
[0022]优选地,所述步骤S3采用:将解析后的查询请求通过TCP或RDMA网络发送至预设机器的工作线程。
[0023]优选地,所述查询任务包括若干个三元组或五元组查询步;
[0024]所述步骤S4采用:每执行一个查询步,就会更新一次中间结果,当所有查询步都被执行完毕时就得到了最终结果;
[0025]当一个查询步是三元组时,匹配到的边只需要符合WHERE关键字前面的时间常量对有效期限的限制;当一个查询步是五元组时,则需要符合五元组的两个时间量对有效期限的限制。
[0026]根据本专利技术提供的一种面向大规模时序RDF图数据的查询系统,包括:
[0027]模块M1:采用键

值存储方式将五元组格式的时序RDF图数据均匀地加载和存储到多台机器的内存中;
[0028]模块M2:在每台机器上创建若干个客户端线程和若干个工作线程;
[0029]模块M3:客户端线程接收用户的查询请求,并对用户的查询请求进行解析,将解析
后的查询请求发送至相应机器的工作线程;
[0030]模块M4:工作线程基于解析后的查询请求执行查询任务得到最终查询结果;
[0031]模块M5:工作线程将查询结果返回至客户端线程。
[0032]优选地,所述时序RDF图数据被持久化存储在若干文本文件中,每个文本文件都由五元组形式的数据行组成,五元组的前三个元素分别是将主语、谓语和宾语转化后得到的ID,五元组的前三个元素表示有向图的一条边,该边由主语对应的顶点指向宾语对应的顶点,谓语则表示边的类型;后两个元素分别表示该边有效期限的开始时间和截止时间的时间戳;
[0033]所述模块M1采用:键是由有向图的顶点ID、谓语ID以及方向组成的三元组;值是由顶点ID、有效期限开始时间和截止时间的两个时间戳组成的三元组列表;一个键

值对是由方向为dir、类型为pid的边以及顶点vid连接的所有顶点的ID及该相邻关系的有效期限。
[0034]优选地,所述模块M2采用:客户端线程和工作线程的数量在运行前配置;且由于工作线程的负载本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向大规模时序RDF图数据的查询方法,其特征在于,包括:步骤S1:采用键

值存储方式将五元组格式的时序RDF图数据均匀地加载和存储到多台机器的内存中;步骤S2:在每台机器上创建若干个客户端线程和若干个工作线程;步骤S3:客户端线程接收用户的查询请求,并对用户的查询请求进行解析,将解析后的查询请求发送至相应机器的工作线程;步骤S4:工作线程基于解析后的查询请求执行查询任务得到最终查询结果;步骤S5:工作线程将查询结果返回至客户端线程。2.根据权利要求1所述的面向大规模时序RDF图数据的查询方法,其特征在于,所述时序RDF图数据被持久化存储在若干文本文件中,每个文本文件都由五元组形式的数据行组成,五元组的前三个元素分别是将主语、谓语和宾语转化后得到的ID,五元组的前三个元素表示有向图的一条边,该边由主语对应的顶点指向宾语对应的顶点,谓语则表示边的类型;后两个元素分别表示该边有效期限的开始时间和截止时间的时间戳。3.根据权利要求2所述的面向大规模时序RDF图数据的查询方法,其特征在于,所述步骤S1采用:键是由有向图的顶点ID、谓语ID以及方向组成的三元组;值是由顶点ID、有效期限开始时间和截止时间的两个时间戳组成的三元组列表;一个键

值对是由方向为dir、类型为pid的边以及顶点vid连接的所有顶点的ID及该相邻关系的有效期限。4.根据权利要求1所述的面向大规模时序RDF图数据的查询方法,其特征在于,所述步骤S2采用:客户端线程和工作线程的数量在运行前配置;且由于工作线程的负载较大,工作线程的数量为客户端线程数量的预设倍数以上。5.根据权利要求1所述的面向大规模时序RDF图数据的查询方法,其特征在于,所述用户的查询请求采用:时序扩展的SPARQL查询命令;所述时序扩展的SPARQL查询命令包括:WHERE关键字前面包含一个时间常量或两个时间常量,和/或WHERE关键字后面的每个查询模式包含两个时间量,其中,两个时间量包括常量和/或变量。6.根据权利要求1所述的面向大规模时序RDF图数据的查询方法,其特征在于,所述步骤S3采用:将解析后的查询请求通过TCP或RDMA网络发送至预设机器的工作线程。7.根据权利要求1所述的面向大规模时序RDF图数据的查询方法,其特征在于,所述查询任务包括若干个三元组或五元组查询步;所述步骤S4采用:每执行一个查询步,就会更新一次中间结果,当所有查询步都被执行完毕时就得到了最终结果;当一个查询步是三元组时,匹配...

【专利技术属性】
技术研发人员:陈榕石林夏虞斌陈海波臧斌宇
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1