The invention discloses a query method, spark based on semantic knowledge map scale includes: (1) each three tuple entity, respectively replaces the corresponding ID; (2) subgraph index categories and related constructs based on the hierarchical, and stored in the HDFS file (3); the SPARQL query is involved in the operation of operation by spark yuan language translation; (4) according to the characteristics of each of the three tuple pattern distribution of different scoring functions, determine the order of execution of each SPARQL query in three tuple model; (5) according to the three tuple model execution sequence, spark operation primitives execute queries and links, and link it results through the analysis on the mapping table after return. The invention supports efficient query of massive semantic data, has strong expansibility, and has good practical value for query application based on large-scale semantic data.
【技术实现步骤摘要】
一种基于spark的大规模知识图谱语义查询方法
本专利技术涉及计算机存储查询技术,具体涉及一种基于spark的大规模知识图谱语义查询方法。
技术介绍
随着语义Web的快速发展,语义数据量呈现爆炸性增长,大量的以RDF格式的语义数据被学术界与工业界的研究人员所发布。例如google的知识图谱就有超过6亿个实体和200亿条事实(2012年),wikidata项目也包含了超过2000万千万个page,每个page包含大量的三元组事实,YAGO和DBPedia也包含了超过亿条记录,开放关联数据(LinkedOpenData,LOD)项目更是发布了超过2700个数据源,包含总共超过1300亿的RDF三元组(2016年)。如何在大规模RDF知识图谱上有效地存储查询是众多研究者面临的棘手问题,而这也一直被认为是制约语义Web相关技术发展的瓶颈。sparql查询语言是W3C标准的RDF查询语言,它由多个查询模式组成,每一个查询模式也是一个三元组,包含了若干变量。传统的基于RDF的存储查询引擎通过构建主谓宾的排列索引取得查询性能的提升,但同时这也会耗用大量的存储空间,并且大部分的这些引擎都是基于单机的,可扩展性较差,仅适合于小规模RDF数据的存储查询,面对当前海量的语义数据,存在计算性能和可扩展性不足等问题。已有的少量分布式处理引擎如hadoopRDF,虽然借助于分布式平台部分解决了可扩展性问题,但由于sparql查询的迭代执行特点,其性能仍然收到很大约束,不能满足大规模语义数据查询的实时性要求,因此其实用性收到很大制约,迫切需要一个面对海量语义数据的高性能存储查询引擎来改 ...
【技术保护点】
一种基于spark的大规模知识图谱语义查询方法,包括以下步骤:(1)将数据中的每一个实体和关系分配一个单独的id,构建相应的映射表;然后根据映射表将遍历数据集中的每一个三元组中的实体、关系分别替换成为相应的id,形成新三元组;(2)在spark上,基于类别对象与关系对象构建分层的子图索引,并将该子图索引存储于hdfs文件中;(3)将sparql查询所涉及到的操作通过spark操作元语进行翻译;(4)解析sparql查询语句,根据每个三元组模式的特征分配不同的得分函数,确定sparql查询中每个三元组模式的执行顺序;(5)根据三元组模式的执行顺序、spark操作元语执行sparql查询与链接,返回最后链接结果;(6)将返回的最后链接结果通过映射表进行解析,将解析后的结果作为查询执行结果。
【技术特征摘要】
1.一种基于spark的大规模知识图谱语义查询方法,包括以下步骤:(1)将数据中的每一个实体和关系分配一个单独的id,构建相应的映射表;然后根据映射表将遍历数据集中的每一个三元组中的实体、关系分别替换成为相应的id,形成新三元组;(2)在spark上,基于类别对象与关系对象构建分层的子图索引,并将该子图索引存储于hdfs文件中;(3)将sparql查询所涉及到的操作通过spark操作元语进行翻译;(4)解析sparql查询语句,根据每个三元组模式的特征分配不同的得分函数,确定sparql查询中每个三元组模式的执行顺序;(5)根据三元组模式的执行顺序、spark操作元语执行sparql查询与链接,返回最后链接结果;(6)将返回的最后链接结果通过映射表进行解析,将解析后的结果作为查询执行结果。2.如权利要求1所述的基于spark的大规模知识图谱语义查询方法,其特征在于,所述的步骤(2)的具体步骤为:首先,分别为每一个类别对象和关系对象构建一个索引表,得到类别索引表和关系索引表,且该类别索引表和关系索引表组成第一层索引表;然后,基于类别索引表、关系索引表的链接操作构建类别-关系索引表和关系-类别索引表,并将该类别-关系索引表和关系-类别索引表组成第二层索引表;接下来,基于类别-关系索引表和关系-类别索引表的链接操作构建类别-关系-类别表,将其作为第三层索引表;最后,将第一层索引表、第二层索引表以及第三次索引表以文件的形式存储在hdfs分布式文件系统中,文件名和索引表名称一致。3.如权利要求1所述的基于spark的大...
【专利技术属性】
技术研发人员:陈华钧,陈曦,张宁豫,吴朝晖,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。