CN109271560A - 一种基于树模板的链接数据关键词查询方法 - Google Patents
一种基于树模板的链接数据关键词查询方法 Download PDFInfo
- Publication number
- CN109271560A CN109271560A CN201811033735.9A CN201811033735A CN109271560A CN 109271560 A CN109271560 A CN 109271560A CN 201811033735 A CN201811033735 A CN 201811033735A CN 109271560 A CN109271560 A CN 109271560A
- Authority
- CN
- China
- Prior art keywords
- tree
- template
- node
- link data
- query result
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于树模板的链接数据关键词查询方法,包括:将链接数据转换为D‑step树模板并建立索引,在树模板基础上快速查找包括查询关键词的D‑step树并生成查询结果。本发明将链接数据划分为若干D‑step树,在此基础上创建并索引D‑step树模板。D‑step树模板对D‑step树的内容和结构分开进行索引,内容字符串序列用于快速查找包括查询关键词的D‑step树,结构字符串序列用于恢复D‑step树结构并生成查询结果。由于本发明在树模板索引基础上实现,不需将查询关键词转换为结构化查询,而是在链接数据上直接构造查询结果并返回。实现了快速查询响应,提高了查询效率。
Description
技术领域
本发明属于信息检索技术领域,涉及数据查询方法,更为具体的说,是涉及计算机根据用户输入的查询关键词搜索链接数据集并将查询结果返回的方法。
背景技术
链接数据的关键词查询是指根据用户的查询关键词,在链接数据图中查询并将包含查询关键词的子图作为查询结果返回。链接数据的关键词查询技术有利于帮助用户从大规模链接数据中获取其感兴趣的数据和信息。随着链接数据的大量增加,普通用户对其进行查询的需求也在不断增加。虽然存在形式化查询语言支持对链接数据查询,但它们对普通用户而言过于复杂,原因在于其要求用户必须掌握查询语言的语法规则和待查询数据的模式信息。而基于关键词的查询技术对于普通用户而言更加简便,因此,提供关键词查询方式对链接数据的检索和重用成为一个重要问题。
当前链接数据的关键词查询使用了多种技术方法,包括查询转换方法和直接查询方法。查询转换方法主要关注将关键词查询转换为形式化查询的过程。首先,匹配查询关键词到链接数据图的顶点或边。在模板或模式信息的辅助下,找到查询关键词之间的关联,确定用户的查询对象。最后,构造符合语法规则的形式化查询语句,将其排序返回。用户通过选择查询语句向链接数据发起查询并获得最终查询结果。这类方法需要依赖链接数据模式信息确定查询关键词之间的关联。直接查询方法以链接数据图为基础,定义查询结果(确定满足何种条件的子图为查询结果),建立相关索引以支持快速查询响应,利用查询算法找到候选查询结果,将查询结果返回给用户。由于需要首先将关键词转化成形式化查询语句,步骤多,效率较为低下。
发明内容
为解决上述问题,本发明公开了一种基于树模板的链接数据关键词查询方法,封装链接数据文本和结构信息到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树模板建立内容字符串索引和结构字符串索引。本发明提出的基于实体三元组关联图的链接数据关键词查询方法,在DBpedia 3.9(http://oldwiki.dbpedia.org/Downloads39)数据集上进行了测试,查询响应时间达到秒级。
本发明不需将查询关键词转换为结构化查询,而是在链接数据上直接构造查询结果并返回。将链接数据划分为若干D-step树,在此基础上创建并索引D-step树模板。D-step树模板对D-step树的内容和结构分开进行索引,内容字符串序列用于快速查找包括查询关键词的 D-step树,结构字符串序列用于恢复D-step树结构并生成查询结果。在树模板索引基础上,实现了快速查询响应。因此本发明能够解决链接数据关键词查询问题,以及便于一系列后续应用的开展。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (6)
1.一种基于树模板的链接数据关键词查询方法,其特征在于,包括以下步骤:
步骤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树中的一棵包含所有查询关键词的子树并且该子树每一个叶子节点都至少与一个关键词相关联,树根则为所有命中节点的公共节点。
2.根据权利要求1所述的基于树模板的链接数据关键词查询方法,其特征在于,所述步骤1中链接数据图为顶点和边都带有标签的有向图,以RDF三元组的主体和客体作为顶点,以三元组的谓词作为从主体指向客体的有向边。
3.根据权利要求1所述的基于树模板的链接数据关键词查询方法,其特征在于,所述步骤1中,当G中入度为0的节点划分完之后,依然会从G中剩余节点中选取入度为0的节点,作为D-step树的根,直至整个数据图G被划分完为止。
4.根据权利要求1所述的基于树模板的链接数据关键词查询方法,其特征在于,所述步骤2中的D-step树模板包括一个形如#v1#v2#...#vi#的内容字符串序列,和一个形如#(e1,null)#(e2,e3)#...#(en,em)的结构字符串序列,其中vi∈V,ei∈E,标签对(ei,ej)表明与边标签ei相关的边的结束点是与边标签ej相关的边的起始点。
5.根据权利要求4所述的基于树模板的链接数据关键词查询方法,其特征在于,所述步骤2中当ej为“null”时则表明与标签ei相关的边的起始点是D-step树的根节点。
6.根据权利要求1所述的基于树模板的链接数据关键词查询方法,其特征在于,所述步骤3中只要查询结果的树根不同,则认为查询结果不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033735.9A CN109271560A (zh) | 2018-09-05 | 2018-09-05 | 一种基于树模板的链接数据关键词查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033735.9A CN109271560A (zh) | 2018-09-05 | 2018-09-05 | 一种基于树模板的链接数据关键词查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271560A true CN109271560A (zh) | 2019-01-25 |
Family
ID=65187297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811033735.9A Pending CN109271560A (zh) | 2018-09-05 | 2018-09-05 | 一种基于树模板的链接数据关键词查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271560A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134758A (zh) * | 2019-04-26 | 2019-08-16 | 中国地质大学(武汉) | 一种面向连续空间-模糊关键字查询的索引方法 |
CN112559717A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 搜索匹配方法、装置、电子设备以及存储介质 |
CN113282774A (zh) * | 2021-05-06 | 2021-08-20 | 天津大学深圳研究院 | 一种新型图数据库的存储内图划分方法 |
-
2018
- 2018-09-05 CN CN201811033735.9A patent/CN109271560A/zh active Pending
Non-Patent Citations (2)
Title |
---|
QIANG SIMA: "Keyword Query Approach over RDF Data Based on Tree Template", 《IEEE》 * |
司马强: "基于树模板的RDF数据关键词查询方法研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134758A (zh) * | 2019-04-26 | 2019-08-16 | 中国地质大学(武汉) | 一种面向连续空间-模糊关键字查询的索引方法 |
CN112559717A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 搜索匹配方法、装置、电子设备以及存储介质 |
CN113282774A (zh) * | 2021-05-06 | 2021-08-20 | 天津大学深圳研究院 | 一种新型图数据库的存储内图划分方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255394B2 (en) | Apparatus, system, and method for efficient content indexing of streaming XML document content | |
US8219563B2 (en) | Indexing mechanism for efficient node-aware full-text search over XML | |
CN102346747B (zh) | 在数据模型中查找参数的方法 | |
CN109271560A (zh) | 一种基于树模板的链接数据关键词查询方法 | |
CN103699647B (zh) | 一种字符串词典的索引方法及系统 | |
CN101794307A (zh) | 基于互联网分词思想的车载导航poi搜索引擎 | |
CN104573039A (zh) | 一种关系数据库的关键词查询方法 | |
WO2015010509A1 (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
CN104572970A (zh) | 一种基于本体库内容的sparql查询语句生成系统 | |
CN107992608A (zh) | 一种基于关键字上下文的sparql查询语句自动生成方法 | |
CN104615734B (zh) | 一种社区管理服务大数据处理系统及其处理方法 | |
JP4247135B2 (ja) | 構造化文書記憶方法、構造化文書記憶装置、構造化文書検索方法 | |
CN103077216B (zh) | 子图匹配装置及子图匹配的方法 | |
CN104933031A (zh) | 一种基于语义网无监督的自动问答方法 | |
CN103226599A (zh) | 一种精确提取网页内容的方法及系统 | |
CN106202450A (zh) | 一种基于makefile文件依赖的源码分析方法 | |
CN102867049A (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
CN109145009A (zh) | 一种基于SQL检索ElasticSearch的方法 | |
CN109150962A (zh) | 一种通过关键字快速识别http请求头的方法 | |
CN104156431A (zh) | 一种基于实体图社团结构的rdf关键词查询方法 | |
CN104268176A (zh) | 一种基于搜索关键词的推荐方法及系统 | |
CN112905642B (zh) | 基于csv映射文件将iec61850报告数据存入关系数据库的方法 | |
CN113704575A (zh) | 解析XML与Java文件的SQL方法、装置、设备及存储介质 | |
CN106933844B (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 | |
CN103902651A (zh) | 一种基于MongoDB的云端代码查询方法与装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |