一种基于树模板的链接数据关键词查询方法与流程

文档序号:16737553发布日期:2019-01-28 12:44阅读:239来源:国知局
一种基于树模板的链接数据关键词查询方法与流程

本发明属于信息检索技术领域,涉及数据查询方法,更为具体的说,是涉及计算机根据用户输入的查询关键词搜索链接数据集并将查询结果返回的方法。



背景技术:

链接数据的关键词查询是指根据用户的查询关键词,在链接数据图中查询并将包含查询关键词的子图作为查询结果返回。链接数据的关键词查询技术有利于帮助用户从大规模链接数据中获取其感兴趣的数据和信息。随着链接数据的大量增加,普通用户对其进行查询的需求也在不断增加。虽然存在形式化查询语言支持对链接数据查询,但它们对普通用户而言过于复杂,原因在于其要求用户必须掌握查询语言的语法规则和待查询数据的模式信息。而基于关键词的查询技术对于普通用户而言更加简便,因此,提供关键词查询方式对链接数据的检索和重用成为一个重要问题。

当前链接数据的关键词查询使用了多种技术方法,包括查询转换方法和直接查询方法。查询转换方法主要关注将关键词查询转换为形式化查询的过程。首先,匹配查询关键词到链接数据图的顶点或边。在模板或模式信息的辅助下,找到查询关键词之间的关联,确定用户的查询对象。最后,构造符合语法规则的形式化查询语句,将其排序返回。用户通过选择查询语句向链接数据发起查询并获得最终查询结果。这类方法需要依赖链接数据模式信息确定查询关键词之间的关联。直接查询方法以链接数据图为基础,定义查询结果(确定满足何种条件的子图为查询结果),建立相关索引以支持快速查询响应,利用查询算法找到候选查询结果,将查询结果返回给用户。由于需要首先将关键词转化成形式化查询语句,步骤多,效率较为低下。



技术实现要素:

为解决上述问题,本发明公开了一种基于树模板的链接数据关键词查询方法,封装链接数据文本和结构信息到d-step树,由于在d-step树模板索引的基础上,不需要进行关键词到形式化查询的转化,直接返回查询结果,实现了快速查询响应。

为了达到上述目的,本发明提供如下技术方案:

一种基于树模板的链接数据关键词查询方法,包括以下步骤:

步骤1,将链接数据图划分为若干d-step树

对于给定的链接数据图g,以入度为0的节点为d-step树的根节点,从根节点开始对g进行广度优先遍历,将遍历到的每个节点都加入到d-step树中直到树的高度超过d或遇到了出度为0的节点,d取大于0的整数;

步骤2,创建并索引d-step树模板

对于给定的d-step树t={v,e,l},d-step树模板对d-step树的内容和结构分开进行索引,其中索引内容字符串序列用于快速查找包括查询关键词的d-step树,结构字符串序列用于恢复d-step树结构并生成查询结果;

步骤3,进行关键词查询

首先根据树模板的内容字符串序列获得包含每个查询关键词的树模板,利用结构字符串恢复该树模板对应的d-step树并构建查询结果,最终查询结果是d-step树中的一棵包含所有查询关键词的子树并且该子树每一个叶子节点都至少与一个关键词相关联,树根则为所有命中节点的公共节点。

进一步的,所述步骤1中链接数据图为顶点和边都带有标签的有向图,以rdf三元组的主体和客体作为顶点,以三元组的谓词作为从主体指向客体的有向边。

进一步的,所述步骤1中,当g中入度为0的节点划分完之后,依然会从g中剩余节点中选取入度为0的节点,作为d-step树的根,直至整个数据图g被划分完为止。

进一步的,所述步骤2中的d-step树模板包括一个形如#v1#v2#...#vi#的内容字符串序列,和一个形如#(e1,null)#(e2,e3)#...#(en,em)的结构字符串序列,其中vi∈v,ei∈e,标签对(ei,ej)表明与边标签ei相关的边的结束点是与边标签ej相关的边的起始点。

进一步的,当ej为“null”时则表明与标签ei相关的边的起始点是d-step树的根节点。

进一步的,所述步骤3中只要查询结果的树根不同,则认为查询结果不同。

与现有技术相比,本发明具有如下优点和有益效果:

本发明将链接数据划分为若干d-step树,在此基础上创建并索引d-step树模板。d-step树模板对d-step树的内容和结构分开进行索引,内容字符串序列用于快速查找包括查询关键词的d-step树,结构字符串序列用于恢复d-step树结构并生成查询结果。由于本发明在树模板索引基础上实现,不需将查询关键词转换为结构化查询,而是在链接数据上直接构造查询结果并返回。实现了快速查询响应,提高了查询效率。

附图说明

图1为本发明提供的基于树模板的链接数据关键词查询方法流程图。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种基于树模板的链接数据关键词查询方法,包含将链接数据转换为树模板并建立索引的过程,以及在树模板基础上快速查找包括查询关键词的d-step树并生成查询结果的过程。本发明将链接数据划分为若干d-step树,在此基础上创建并索引d-step树模板。d-step树模板对d-step树的内容和结构分开进行索引,内容字符串序列用于快速查找包括查询关键词的d-step树,结构字符串序列用于恢复d-step树结构并生成查询结果。具体的说,本发明流程如图1所示,包含如下步骤:

一、将链接数据图转换为d-step树模板并建立索引。

步骤1,将链接数据图划分为若干d-step树。

链接数据可以通过有向图模型表示。以rdf三元组的主体和客体作为顶点,以三元组的谓词作为从主体指向客体的有向边。链接数据图为顶点和边都带有标签的有向图,将链接数据图划分为若干d-step树便于索引及关键词查询。

对于给定的一个链接数据图g,以入度为0的节点为d-step树的根节点,从根节点开始对g进行广度优先遍历,将遍历到的每个节点都加入到d-step树中直到树的高度超过d(d取大于0的整数)或遇到了出度为0的节点。注意,当g中入度为0的节点划分完之后,依然会从g中剩余节点中选取入度为0的节点,作为d-step树的根,直至整个数据图g被划分完为止。

d-step树是一棵多叉树,其中d指该多叉树的高度,也表示对数据图g的划分方法。通过调整d的大小,对数据图g进行不同的划分。

步骤2,对d-step树创建并索引d-step树模板。对于给定的d-step树t={v,e,l},v为树中顶点集合,e为树中边集合,l为顶点和边到标签的映射。d-step树模板对d-step树的内容和结构分开进行索引。其中索引内容字符串序列用于快速查找包括查询关键词的d-step树,结构字符串序列用于恢复d-step树结构并生成查询结果。

d-step树模板(简称树模板)包括一个形如#v1#v2#...#vi#的内容字符串序列(其中vi∈v),和一个形如#(e1,null)#(e2,e3)#...#(en,em)的结构字符串序列(其中ei∈e),标签对(ei,ej)表明与边标签ei相关的边的结束点是与边标签ej相关的边的起始点。若ej为“null”则表明与标签ei相关的边的起始点是d-step树的根节点。

d-step树中的内容字符串和结构字符串具有如下的对应关系。除了根节点之外,其他节点在内容字符串中的位置与边标签在结构字符串中的位置都有着一一对应的关系。在内容字符中,第一个位置出现的必定是d-step树的根节点。在结构字符串中,如果边标签对中“null”出现,表明与该边标签所在边的起始点是根节点。

二、查找包括查询关键词的d-step树并生成查询结果。

步骤3,进行关键词查询。首先根据树模板的内容字符串序列获得包含每个查询关键词的树模板,利用结构字符串恢复该树模板对应的d-step树并构建查询结果。给定一个查询q={q1,q2,...,qm}和一棵d-step树t,对应查询q的查询结果定义为树t的一棵子树(用节点集ts={s1,s2,...,sn}表示),子树ts满足下列条件:

(1)对查询q中的每个关键词qi,ts中至少存在一个节点sj与qi相关联。

(2)ts中的每个叶子节点至少与查询q中的一个关键词qi相关联。

查询结果是d-step树一棵包含所有查询关键词的子树并且该子树每一个叶子节点都至少与一个关键词相关联。只要查询结果的树根不同,则认为查询结果不同。

本发明在实验过程中,使用lucene(https://lucene.apache.org/core/)对d-step树模板建立内容字符串索引和结构字符串索引。本发明提出的基于实体三元组关联图的链接数据关键词查询方法,在dbpedia3.9(http://oldwiki.dbpedia.org/downloads39)数据集上进行了测试,查询响应时间达到秒级。

本发明不需将查询关键词转换为结构化查询,而是在链接数据上直接构造查询结果并返回。将链接数据划分为若干d-step树,在此基础上创建并索引d-step树模板。d-step树模板对d-step树的内容和结构分开进行索引,内容字符串序列用于快速查找包括查询关键词的d-step树,结构字符串序列用于恢复d-step树结构并生成查询结果。在树模板索引基础上,实现了快速查询响应。因此本发明能够解决链接数据关键词查询问题,以及便于一系列后续应用的开展。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1