本发明专利技术涉及知识图谱查询技术领域,尤其是涉及一种知识图谱海量数据图查询方法及具有其的系统。该知识图谱海量数据图查询方法包括:获取所述数据图的开始和结束的实体名单,其中,所述实体名单从所述开始到所述结束包括实体和边的hive表;根据预设的过滤条件,过滤所述实体和所述边的hive表;根据过滤后的所述实体和所述边的hive表,确定所述实体和所述边的集合;将所述实体的属性放入所述边的属性中,将所述边的集合(属性包含实体信息)导入GraphFrame框架中,确定join数据量和次数;根据join数据量和次数,对所述数据图查询。进而能够在实体及边的总和超过100亿的数据量下,减少大量储存空间加快join逻辑,减少join次数,大大提高了查询效率。大大提高了查询效率。大大提高了查询效率。
【技术实现步骤摘要】
一种知识图谱海量数据图查询方法及具有其的系统
[0001]本专利技术涉及知识图谱查询
,尤其是涉及一种知识图谱海量数据图查询方法及具有其的系统。
技术介绍
[0002]知识图谱(KnowledgeGraph)又称为科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。
[0003]当构成知识图谱的实体及关系的总和超过100亿的数据量下,进行1万个以上节点的K层展开和多对多实体关系1度以上的批量离线查询时,图谱数据库原有提供的查询功能返回结果耗时超过60分钟,查找效率低下,甚至根本无法查询出结果导致图库死机,不能满足用户需求。
[0004]因此,亟需一种能够快速在海量数据形成的知识图谱中快速查询数据图的方法。
技术实现思路
[0005]本专利技术的提供一种知识图谱海量数据图查询方法及具有其的系统,能够解决在海量数据的知识图谱中查询数据图效率低下的问题。
[0006]本申请第一方面提供一种知识图谱海量数据图查询方法,方法包括:
[0007]获取所述数据图的开始和结束的实体名单,其中,所述实体名单从所述开始到所述结束包括实体和边的hive表;
[0008]根据预设的过滤条件,过滤所述实体和所述边的hive表;
[0009]根据过滤后的所述实体和所述边的hive表,确定所述实体和所述边的集合;
[0010]将所述实体的属性放入所述边的属性中,将所述边的集合导入GraphFrame框架中,确定join数据量和次数,其中,所述边的集合中所述边的属性包含实体信息;
[0011]根据join数据量和次数的GraphFrame框架,对所述数据图查询。
[0012]可实施的一种方式中,所述获取所述数据图的开始和结束的实体名单的步骤,包括:
[0013]获取所述实体名单中所述实体的多个hive表以及所述实体与所述实体之间边的多个hive表,其中,所述实体的hive表包括ID字段,所述边的hive表包括SRC和DST字段。
[0014]可实施的一种方式中,所述根据预设的过滤条件,过滤所述实体和所述边的hive表的步骤,包括:
[0015]将所述数据图的开始和结束的实体名单导入spark应用;
[0016]将计算所述开始实体名单到结束实体名单要使用的所述实体和所述边加载到spark应用中;
[0017]根据预设的过滤条件,在spark应用中过滤掉不符合过滤条件的实体和边。
[0018]可实施的一种方式中,所述根据过滤后的所述实体和所述边的hive表,确定所述实体和所述边的集合的步骤,包括:
[0019]将所述实体和所述边的hive表的固定属性进行编码,其中,所述固定属性至少包括hive表的ID、SRC和DST;
[0020]将32位的随机字符串数字编码成所述实体和所述边的两个long类型的整数;
[0021]将编码后的所述实体和所述边分别对应形成所述实体的集合和所述边的集合。
[0022]可实施的一种方式中,所述将所述实体的属性放入所述边的属性中,将所述边的集合导入GraphFrame框架中,确定join数据量和次数的步骤,包括:
[0023]将所述实体的属性对应的放入所述边的属性中,并对所述边的集合做join;
[0024]根据开始和结束的实体名单,限制所述边的数量。
[0025]可实施的一种方式中,所述将所述实体的集合和所述边的集合导入GraphFrame框架中,将所述实体的属性放入所述边的属性中,确定join数据量和次数的步骤,还包括:
[0026]若计算每条路径中不包含重复实体,则计算每1度路径时过滤掉有重复实体的路径,其中,所述每1度路径表示与所述实体关系为1度。
[0027]可实施的一种方式中,所述根据join数据量和次数的GraphFrame框架,对所述数据图查询的步骤,包括:
[0028]根据join数据量和次数的GraphFrame框架,计算所述实体和边的个数,并导出所述数据图查询的所有路径,导出所有所述实体和所述边的相关属性,以及导出用于数据图展示的json数据。
[0029]本申请第二方面提供一种知识图谱海量数据图查询系统,应用于前述的知识图谱海量数据图查询方法,所述系统包括:
[0030]获取单元,用于获取所述数据图的开始和结束的实体名单,其中,所述实体名单从所述开始到所述结束包括实体和边的hive表;
[0031]过滤单元,用于根据预设的过滤条件,过滤所述实体和所述边的hive表;
[0032]实体和边的集合单元,用于根据过滤后的所述实体和所述边的hive表,确定所述实体和所述边的集合;
[0033]GraphFrame框架单元,用于将所述实体的属性放入所述边的属性中,将所述边的集合导入GraphFrame框架中,确定join数据量和次数,其中,所述边的集合中所述边的属性包含实体信息;
[0034]结果单元,用于根据join数据量和次数的GraphFrame框架,对所述数据图查询。
[0035]本申请第三方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述的知识图谱海量数据图查询方法。
[0036]本申请第四方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述的知识图谱海量数据图查询方法的步骤。
[0037]本专利技术有益效果:
[0038]本申请提供一种知识图谱海量数据图查询方法及具有其的系统,首先根据要查询的数据图得到开始和结束的实体名单,再根据预设的过滤条件,过滤掉实体和边中的部分数据,减少计算的数据量。接下来,根据过滤后的实体和边的hive表,确定实体和边的集合,
将所述实体的属性放入所述边的属性中,再将边的集合导入GraphFrame框架中,减少join数据量和次数,当边的join完成时,再把实体的信息展开,这样相当于减少了一次大表join大表的操作,节省了计算时间。最后,根据join数据量和次数的GraphFrame框架,对所述数据图查询。通过上述方式对一些占用空间的大字段进行编码减少大量储存空间加快join逻辑,示例性地,能够在实体及边的总和超过100亿的数据量下,进行1万个以上节点的K层展开和多对多实体关系1度以上的批量离线查询时,在10分钟内根据要求出图,大大提高了查询效率。
附图说明
[0039]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种知识图谱海量数据图查询方法,其特征在于,方法包括:获取所述数据图的开始和结束的实体名单,其中,所述实体名单从所述开始到所述结束包括实体和边的hive表;根据预设的过滤条件,过滤所述实体和所述边的hive表;根据过滤后的所述实体和所述边的hive表,确定所述实体和所述边的集合;将所述实体的属性放入所述边的属性中,将所述边的集合导入GraphFrame框架中,确定join数据量和次数,其中,所述边的集合中所述边的属性包含实体信息;根据join数据量和次数的GraphFrame框架,对所述数据图查询。2.根据权利要求1所述的知识图谱海量数据图查询方法,其特征在于,所述获取所述数据图的开始和结束的实体名单的步骤,包括:获取所述实体名单中所述实体的多个hive表以及所述实体与所述实体之间边的多个hive表,其中,所述实体的hive表包括ID字段,所述边的hive表包括SRC和DST字段。3.根据权利要求1所述的知识图谱海量数据图查询方法,其特征在于,所述根据预设的过滤条件,过滤所述实体和所述边的hive表的步骤,包括:将所述数据图的开始和结束的实体名单导入spark应用;将计算所述开始实体名单到结束实体名单要使用的所述实体和所述边加载到spark应用中;根据预设的过滤条件,在spark应用中过滤掉不符合过滤条件的实体和边。4.根据权利要求1所述的知识图谱海量数据图查询方法,其特征在于,所述根据过滤后的所述实体和所述边的hive表,确定所述实体和所述边的集合的步骤,包括:将所述实体和所述边的hive表的固定属性进行编码,其中,所述固定属性至少包括hive表的ID、SRC和DST;将32位的随机字符串数字编码成所述实体和所述边的两个long类型的整数;将编码后的所述实体和所述边分别对应形成所述实体的集合和所述边的集合。5.根据权利要求4所述的知识图谱海量数据图查询方法,其特征在于,所述将所述实体的属性放入所述边的属性中,将所述边的集合导入GraphFrame框架中,确定join数据量和次数的步骤,包括:将所述实体的属性对应的放入所述边的属性中,并对所述...
【专利技术属性】
技术研发人员:杨娟,翟士丹,高磊,
申请(专利权)人:北京海致星图科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。