CN110019911A - 支持知识演化的知识图谱的查询方法和装置 - Google Patents
支持知识演化的知识图谱的查询方法和装置 Download PDFInfo
- Publication number
- CN110019911A CN110019911A CN201711482222.1A CN201711482222A CN110019911A CN 110019911 A CN110019911 A CN 110019911A CN 201711482222 A CN201711482222 A CN 201711482222A CN 110019911 A CN110019911 A CN 110019911A
- Authority
- CN
- China
- Prior art keywords
- query
- knowledge
- node
- knowledge mapping
- search
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000002123 temporal effect Effects 0.000 claims abstract description 25
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000001228 spectrum Methods 0.000 claims 1
- 238000013499 data model Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000877 morphologic effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000010429 evolutionary process Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000284 resting effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000009412 basement excavation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000019353 potassium silicate Nutrition 0.000 description 1
- NTHWMYGWWRZVTN-UHFFFAOYSA-N sodium silicate Chemical compound [Na+].[Na+].[O-][Si]([O-])=O NTHWMYGWWRZVTN-UHFFFAOYSA-N 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Library & Information Science (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种支持知识演化的知识图谱的查询方法和装置,该方法,包括:建立携带有时间信息的知识图谱,所述携带有时间信息的知识图谱是指:在知识图谱中记录有在不同时间下的主体数据、客体数据,以及主体与客体的关系数据;接收针对所述携带有时间信息的知识图谱的查询语句,其中,所述查询语句基于SPARQL语言的语法,并包含有针对时间范围的查询指示;根据所述查询语句查询在不同时间下的主体数据、客体数据,以及主体与客体的关系数据;并按照时间顺序输出查询结果。本发明在传统知识图谱上加入了时间,因此在时间知识图谱上可以保留知识的演变轨迹,记录下相同主题、客体或者关系在不同时间段内的状态,实现了对知识的演化查询。
Description
技术领域
本发明涉及数据处理技术领域,具体地,涉及支持知识演化的知识图谱的查询方法和装置。
背景技术
知识图谱也被称为科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。具体来说,知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共性分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。它把复杂的知识领域通过数据挖掘、信息处理、知识计量和图形绘制而显示出来,揭示知识领域的动态发展规律,为学科研究提供切实的、有价值的参考。知识图谱数据管理的一个重要问题是如何对知识图谱的数据进行存储和查询,知识图谱的数据可以用资源描述框架(ResourceDescription Framework,RDF)数据集来表示。其中,RDF三元组是构成RDF图的最基本单元,一个RDF三元组包含主语、谓语和宾语三个元素。
目前,两种方法对RDF数据进行管理:一种是从传统的关系数据库角度出发,利用关系数据模型对RDF数据进行查询。一种是从图角度出发,利用图的相关技术对知识图谱进行查询。
(1)关系数据模型角度出发
从关系数据模型的角度出发,有一些经典的方法,下面重点介绍4种方法,三列表法、水平划分方法、属性表法和垂直划分方法。
三列表是一种最简单方法,三列表包括了Subject、Property、Object,RDF的三元组可以映射到三列表的结构中。这种方法存储的结构简单,但是数据量较大,查询的效率较低。多组三元组的查询要对三元组做连接操作,若三元组数目较多,则表的规模较大,自连接操作的性能也较差。
水平划分方法把知识图谱中的每一个RDF主体作为关系数据库表中的一行,列是由数据集合中所有的属性构成。这种方法会产生大量的列,而且很多列上都存在空值。在此基础上,有学者提出了属性表,对不同的实体进行分类,将相关属性的实体划分一类,每类对应一张水平表,从而减少了自连接操作。由于RDF数据来源众多,属性和主体间的关联性可能并不强,类似的主体可能并不包含相同的属性,数据的结构性较差,依然会产生大量的空值。
垂直划分方法把三元组表拆分成为包含两列的表,每张表以三元组表中对应的属性为表名,有多少属性就拆分成多少张表,每张表的两列分别是Subject和Object。对于属性表中空值问题上,垂直划分方法避免了空间的浪费现象。但其对三元组模式查询中谓语为变量的情况仍然表现出较差的性能。
(2)图角度出发
从图角度出发,将知识图谱中的实体,以及各实体间的关系,表示成图中的顶点和边,知识图谱数据符合图模型结构。用户给出待查询的子图,利用图查询技术,如图模式匹配的方法,在知识图谱中查询出符合查询条件的子图。子图匹配一般分为子图同构和子图模拟两种。子图同构是在数据图中搜索出与用户定义的查询图在结构、节点以及边属性上完全匹配的子图。子图同构是一个NP问题,对图的拓扑结构有严格的要求,而知识图谱在数据的采集和处理过程中往往存在一定的数据缺失和噪声,使用子图同构的相关算法,通常很难匹配到与查询图完全一致的结果。因而,在大规模知识图谱上进行子图同构匹配容易遗漏查询结果。子图模拟是子图的近似匹配,它可以容忍结果中存在一定的噪声和错误,匹配的结果与查询图之间存在一定差别,但是通常可以满足实际的使用需求。将知识图谱的查询转换成图查询,也有很多需要解决的问题,比如,相对于普通的图模型,RDF图的边上面带有标签,也是一种查询的目标;再如,经典的图算法往往时间复杂度较高,需要根据实际应用来设计优化的算法降低查询的时间复杂度。
SPARQL(Simple Protocol and RDF Query Language)是一种针对RDF数据的结构化查询语言,能从RDF图中获取查询的信息,由查询语言规范、SPARQL数据访问协议、XML格式的查询结果三个部分构成。SPARQL语言与更多人熟知的SQL语言相似,在select语句表达的含义中,select表示查询的内容,from表示需要使用的数据集,where表示查询需要满足的模式。
但是,对于知识图谱的存储和查询,普遍存在如下主要问题:
(1)不关注知识随时间的演变,大多数知识图谱都只关心主体与客体的当前关系,而忽视了关系随时间的变化有可能发生变化的事实。
(2)目前知识图谱不存储知识随时间演变的相关信息。
(3)无论以关系数据模型的形式或者是图方式表达RDF数据的知识图谱,都是使用SPARQL语言或其扩展语言来表达基本的查询语法,而W3C标准定义的SPARQL不支持基于时间的知识查询。
(4)SPARQL语言不支持基于时间的知识演化的查询。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种支持知识演化的知识图谱的查询方法和装置。
根据本发明提供的
与现有技术相比,本发明具有如下的有益效果:
本发明提供的支持知识演化的知识图谱的查询方法和装置,在传统知识图谱上加入了时间,构建了一种带有时间信息的知识图谱。在时间知识图谱上可以保留知识的演变轨迹,记录下相同主题、客体或者关系在不同时间段内的状态。扩展了传统SPARQL的语法,加入了对时间范围的查询,实现了对知识的演化查询。查询结果不是单一的一个值,而是以时间序列的方式排列成簇,能够体现知识的演化过程。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的一实施例的时间知识图谱的逻辑结构示意图;
图2为图1中实施例的时间知识图谱的存储结构示意图;
图3为本发明提供的一实施例的时间知识图谱的查询原理示意图;
图4为客体查询的原理示意图;
图5为关系查询的原理示意图;
图6为主体查询的原理示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
图1为本发明提供的一实施例的时间知识图谱的逻辑结构示意图,如图1所示,时间知识图谱是由5元组构成的集合,G=<V,LV,E,LE,TE>,其中V是知识图谱中的主体、客体、类、实体等元素的集合;LV是知识图谱中点上标签的集合;E是连接主体和客体的边;LE是边上标签的集合;TE是边上时间段的集合。
图2为图1中实施例的时间知识图谱的存储结构示意图,图3为本发明提供的一实施例的时间知识图谱的查询原理示意图。如图3所示,给定一个时间知识图谱,在该时间知识图谱上进行知识演化查询。本实施扩展了SPARQL语言的语法,加入针对时间范围(TIMEFRAME)的查询,即在原有SPARQL语法后面加入了TIMEFRAME,新加入的TIMEFRAME部分语法结构为:TIMEFRAME(查询起始时间,查询终止时间)。
具体地,如图3所示,查询接收器接收用户提交的查询语句,并按照时间顺序将查询语句放入提交队列;对提交队列中的查询语句进行词法分析和语法分析,具体来说,对每条扩展SPARQL语句进行分析,获得一个查询的对象search_object,并将该对象送入等待队列。search_object包括:待查对象、主体、客体、关系、时间起点、时间终点。查询执行器将等待队列中的查询对象读取出来,并进行相应的处理之后,将查询结果送入结果队列。
图4为客体查询的原理示意图。使用查询执行器进行客体查询时,包括如下步骤:
S101:在存放时间知识图谱的邻接表中,读取第一个表节点,获得表节点的subject项,看该值是否和查询对象search_object中的主体一致,如果不一致,进入步骤S102。如果一致,进入步骤S103。
S102:继续读取邻接表中的下一个表项,如已不存在下一个表项,则提示没有与查询对象search_object相匹配的查询结果。否则,获得表节点的subject项,看该值是否和查询对象中的主体一致,如果不一致,重复步骤S102。如果一致,进入步骤S103。
S103:在邻接表中找到该表节点第一个相邻的节点,读取其中的relation项,与查询对象中的关系进行匹配,如果关系吻合进入步骤S104,否则进入步骤S105。
S104:读取当前节点的timeframe项的时间段信息,并与查询对象search_object中的时间段信息进行匹配,为便于描述,令当前节点的timeframe值为[t1,t2],查询对象的时间段为[tQ1,tQ2]。具体地:
如果t1<=tQ1<tQ2<=t2,那么提取当前节点的客体object项上的信息,放入最终结果集,进入步骤S106;
如果t1<=tQ1<t2<=tQ2,那么当前节点匹配到的时间段结果是[tQ1,t2],读取客体object信息,放入最终结果集,进入步骤S105;
如果tQ1<=t1<tQ2<=t2,那么当前节点匹配到的时间段结果是[t1,tQ2],读取客体object信息,放入最终结果集,进入步骤S106;
如果t1<t2<tQ1<tQ2或者tQ1<tQ2<t1<t2,则在当前节点没有匹配到符合要求的时间段,进入步骤S105。
S105:在邻接表中,读取下一个节点,按照步骤S103所述的方法匹配关系,如果关系吻合进入步骤S104,否则重复步骤S105,直至下一个节点的信息为空,进入步骤S106。
步骤S106:输出结果集,给出知识演化查询的结果。
以图3所示的查询图为例,说明整个知识演化查询的过程。扩展的SPARQL查询如下:
查询接收器接收该条查询语句放入提交队列,再经过词法分析和语法分析,得到查询对象search_object,该对象的内容如下:
待查对象:?school
主体:y:晨晨
客体:?school
关系:上学
时间起点:2008
时间终点:2015
将得到查询对象search_object送入等待队列,查询执行器执行如下步骤:
S201:在图2所示的邻接表中,读取第一个表节点,该节点的uId=0。获取该节点的subject=y:晨晨,该值与查询对象search_object中的主体一致,进入步骤S202。
S202:在邻接表中找到了第一个相邻的节点,读取其中的relation项中的值,与search_object中的关系一致,均为上学关系,因而关系是吻合的,进入步骤S203。
S203:当前节点的timeframe时间段信息是[2005,2011],查询对象的时间段是[2008,2015],因而在当前节点匹配到的时间段是[2008,2011],读取当前节点的客体object项中的值,该值为“y:学校A”,将{y:晨晨,上学,[2008,2011],y:学校A}放入结果集,进入步骤S204。
S204:读取下一个节点,按照步骤2所述的方法进行关系匹配,关系吻合,重复步骤S203,由于当前节点的时间段是[2011,2014],查询对象的时间段是[2008,2015],匹配到的时间段是[2011,2014],读取该节点object项的客体信息为“学校B”,将{y:晨晨,上学,[2011,2014],y:学校B}放入结果集。
步骤S205:继续读取下一个节点,进行关系匹配,关系吻合,重复步骤S203,由于当前节点的时间段是[2014,2017],查询对象的时间段是[2008,2015],匹配到的时间段是[2014,2015],读取该节点object项的客体信息为“学校C”,将{y:晨晨,上学,[2014,2015],y:学校C}放入结果集。
步骤S206:输出结果集,知识演化查询的结果如下:
{y:晨晨,上学,[2008,2011],y:学校A}
{y:晨晨,上学,[2011,2014],y:学校B}
{y:晨晨,上学,[2014,2015],y:学校C}
从该查询结果很容易看出,知识演化查询得到的结果是以簇的形式,按时间段显示出来,能够表达出知识随时间变化而变更。
图5为关系查询的原理示意图。使用查询执行器进行关系查询时,包括如下步骤:
S301:在存放时间知识图谱的邻接表中,读取第一个表节点,获得表节点的subject项,看该值是否和查询对象search_object中的主体一致,如果不一致,进入步骤S302。如果一致,进入步骤S303。
S302:继续读取邻接表中的下一个表项,如已不存在下一个表项,则提示没有与查询对象search_object相匹配的查询结果。否则,获得表节点的subject项,看该值是否和查询对象中的主体一致,如果不一致,重复步骤S302。如果一致,进入步骤S303。
S303:在邻接表中找到第一个相邻的节点,读取object项中的客体信息,如果该值与查询对象search_object中的客体一致,则进入步骤S304,否则进入步骤S305。
S304:匹配当前节点的timeframe时间段信息与查询对象search_object的时间起点与终点,假设当前节点的时间段为[t1,t2],查询对象的时间段为[tQ1,tQ2]。
如果t1<=tQ1<tQ2<=t2,那么提取当前节点的relation项中的关系信息,放入结果集,进入步骤S306;
如果t1<=tQ1<t2<=tQ2,那么当前节点匹配到的时间段结果是[tQ1,t2],读取relation项中的关系信息,放入结果集,进入步骤S305;
如果tQ1<=t1<tQ2<=t2,那么当前节点匹配到的时间段结果是[t1,tQ2],读取relation项中的关系信息,放入结果集,进入步骤S306;
如果t1<t2<tQ1<tQ2或者tQ1<tQ2<t1<t2,则在当前节点没有匹配到符合要求的时间段,进入步骤S305。
S305:在邻接表中,读取下一个节点,按照步骤S303中所述的方法,匹配客体信息,如果吻合进入步骤S304,否则重复步骤S305,直至下一个节点的信息为空,进入步骤S306。
S306:输出结果集,给出知识演化查询的结果。
对于图5所示的关系查询,给出扩展的SPARQL语言如下:
经过词法分析和语法分析,得到查询对象search_object如下:
待查对象:?r
主体:y:佳佳
客体:y:上海
关系:?r
时间起点:2000
时间终点:2002
将得到查询对象search_object送入等待队列,查询执行器执行如下步骤:
S401:在图2所示的邻接表中,读取第一个表节点,获取该节点的subject值为y:晨晨,该值与查询对象search_object中的主体不一致,进入步骤S402。
S402:读取下一个表节点,获取该节点的subject值为y:佳佳,该值与查询对象search_object中的主体一致,进入步骤S403。
S403:在邻接表中找到uId=1表节点的第一个相邻节点,读取其中的object项中的值,该值为y:上海,与search_object中的客体值一致,因而客体信息是吻合的,进入步骤S404;或者,
当前节点的timeframe时间段信息是[1999,2004],查询对象的时间段是[2000,2002],因而在当前节点匹配到的时间段是[2000,2002],读取当前节点的relation项中的值,该值为“居住”,将{y:佳佳,居住,[2000,2002],y:上海}放入结果集,进入步骤S404。
S404:输出查询结果:
{y:佳佳,居住,[2000,2002],y:上海}
图6为主体查询的原理示意图。使用查询执行器进行关系查询时,包括如下步骤:
S501:读取邻接表的第一个表节点,获取它的第一个节点,读取其中relation项和object项中的值,分别与查询对象search_object中的关系、客体相匹配,如果两个值都相同,则进入步骤S502,否则若任意一个不匹配,则进入步骤S503。
S502:假设当前节点的timeframe时间段为[t1,t2],查询对象的时间段为[tQ1,tQ2]。
如果t1<=tQ1<tQ2<=t2,那么读取当前节点所在的表节点的subject项,放入结果集,进入步骤S504;
如果t1<=tQ1<t2<=tQ2,那么当前节点匹配到的时间段结果是[tQ1,t2],读取表节点的subject项中的信息放入结果集,进入步骤S503;
如果tQ1<=t1<tQ2<=t2,那么当前节点匹配到的时间段结果是[t1,tQ2],读取表节点的subject项中的信息放入结果集,进入步骤S504;
如果t1<t2<tQ1<tQ2或者tQ1<tQ2<t1<t2,则在当前节点没有匹配到符合要求的时间段,进入步骤S503。
S503:读取下一个邻接节点,若该值已为空值,则转入步骤S504;否则读取该邻接节点中relation项和object项中的值,分别与查询对象search_object中的关系、客体相匹配,如果两个值都相同,则进入步骤S502,否则若任意一个不匹配,则重复步骤S503。
S504:读取下一个表节点,如果已经没有表节点,说明整个邻接表已经访问完毕,进入步骤S505,否则进入步骤S503。
S505:输出查询结果。
对于图6所示的主体查询,对应的扩展SPARQL语言如下:
经过词法分析和语法分析,得到查询对象search_object如下:
待查对象:?name
主体:?name
客体:y:学校A
关系:上学
时间起点:2006
时间终点:2009
将得到查询对象search_object送入等待队列,查询执行器执行如下步骤:
S601:在图2所示的邻接表中,读取第一个表节点,读取该表节点的第一个相邻节点,得到relation和object项的值分别为上学、y:学校A,该值与查询对象search_object中的关系和客体一致,进入步骤S602。
S602:读取当前节点的timeframe,该值为[2005,2011],查询对象的时间段为[2006,2009],根据匹配规则得到的时间段为[2006,2009],读取该表节点的subject值,将{y:晨晨,上学,[2006,2009],y:学校A}放入结果集。
S603:读取下一个表节点,并读取与它相邻的第一个节点,得到relation和object项的值分别为居住、y:上海,与查询对象中的关系和客体不匹配,进入步骤S604。
S604:读取该表节点的下一个邻接点,得到relation和object项的值分别为居住、y:苏州,与查询对象中的关系和客体不匹配,进入步骤5。
S605:继续读取下一个邻接点,得到relation和object项的值分别为上学、y:学校A,该值与查询对象search_object中的关系和客体一致,进入步骤S606。
S606:读取当前节点的timeframe,该值为[2005,2011],查询对象的时间段为[2006,2009],根据匹配规则得到的时间段为[2006,2009],读取该表节点的subject值,将{y:佳佳,上学,[2006,2009],y:学校A}放入结果集。
S607:读取下一个表节点,以及其相邻的第一个节点,由于节点值为NULL,重复步骤S607,直至整个邻接表读取完毕,进入步骤S608。
S608:输出查询结果。
{y:晨晨,上学,[2006,2009],y:学校A}
{y:佳佳,上学,[2006,2009],y:学校A}
本实施例的方法,在传统知识图谱上加入了时间,构建了一种带有时间信息的知识图谱。在时间知识图谱上可以保留知识的演变轨迹,记录下相同主题、客体或者关系在不同时间段内的状态。扩展了传统SPARQL的语法,加入了对时间范围的查询,实现了对知识的演化查询。查询结果不是单一的一个值,而是以时间序列的方式排列成簇,能够体现知识的演化过程。
需要说明的是,本发明提供的所述支持知识演化的知识图谱的查询方法中的步骤,可以利用所述支持知识演化的知识图谱的查询装置中对应的模块、单元等予以实现,本领域技术人员可以参照所述装置的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的装置的各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种支持知识演化的知识图谱的查询方法,其特征在于,包括:
建立携带有时间信息的知识图谱,所述携带有时间信息的知识图谱是指:在知识图谱中记录有在不同时间下的主体数据、客体数据,以及主体与客体的关系数据;
接收针对所述携带有时间信息的知识图谱的查询语句,其中,所述查询语句基于SPARQL语言的语法,并包含有针对时间范围的查询指示;
根据所述查询语句查询在不同时间下的主体数据、客体数据,以及主体与客体的关系数据;并按照时间顺序输出查询结果。
2.根据权利要求1所述的支持知识演化的知识图谱的查询方法,其特征在于,所述携带有时间信息的知识图谱用集合G表示,G=<V,LV,E,LE,TE>,其中,
V表示知识图谱中的主体、客体、类、实体元素的集合;LV表示知识图谱中点上标签的集合;E表示连接主体和客体的边;LE表示边上标签的集合;TE表示边上时间段的集合。
3.根据权利要求1所述的支持知识演化的知识图谱的查询方法,其特征在于,所述根据所述查询语句查询在不同时间下的主体数据、客体数据,以及主体与客体的关系数据,包括:
将当前接受到的查询语句放入提交队列的尾部;
顺次将所述提交队列中的查询语句进行词法和语法分析,得到查询对象search_object;
将所述查询对象search_object放入等待队列的尾部;
顺次将所述等待队列中的查询对象search_object进行处理后得到不同时间下的主体数据、客体数据,以及主体与客体的关系数据,其中,所述查询对象包括:主体、客体,以及主体与客体的关系。
4.根据权利要求3所述的支持知识演化的知识图谱的查询方法,其特征在于,在查询对象search_object为客体时,包括如下步骤:
A1:在存放携带有时间信息的知识图谱的邻接表中查找第一目标节点,找到第一目标节点之后,执行步骤A2;若找不到第一目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第一目标节点是指:对应的主体subject项与查询对象search_object中的主体subject项一致的节点;
A2:在邻接表中找到与所述第一目标节点相邻的第二目标节点,找到所述第二目标节点之后,执行步骤A3;若找不到第二目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第二目标节点是指与所述第一目标节点相邻,且对应的关系relation项与查询对象中的关系relation项相匹配的节点;
A3:读取第二目标节点的时间范围timeframe项的时间段信息,并与查询对象search_object中的timeframe项的时间段信息进行匹配,若匹配,则获取所述第二目标节点对应的客体object;
A4:按照时间顺序,输出所有获取到的客体object。
5.根据权利要求3所述的支持知识演化的知识图谱的查询方法,其特征在于,在查询对象search_object为主体和客体的关系时,包括如下步骤:
B1:在存放携带有时间信息的知识图谱的邻接表中查找第一目标节点,找到第一目标节点之后,执行步骤B2;若找不到第一目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第一目标节点是指:对应的主体subject项与查询对象search_object中的主体subject项一致的节点;
B2:在邻接表中找到与所述第一目标节点相邻的第三目标节点,找到所述第三目标节点之后,执行步骤B3;若找不到第三目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第三目标节点是指与所述第一目标节点相邻,且对应的object项中的客体信息与查询对象中的客体信息一致的节点;
B3:读取第三目标节点的timeframe项的时间段信息,并与查询对象search_object中的时间段信息进行匹配,若匹配,则获取所述第三目标节点对应的关系relation项中的关系信息;
B4:按照时间顺序,输出所有获取到的relation项中的关系信息。
6.根据权利要求3所述的支持知识演化的知识图谱的查询方法,其特征在于,在查询对象search_object为主体时,包括如下步骤:
C1:在存放携带有时间信息的知识图谱的邻接表中查找第四目标节点,找到第四目标节点之后,执行步骤C2;若找不到第四目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第四目标节点是指:对应的关系relation项、客体object项的与查询对象search_object中的关系relation项、客体object项一致的节点;
C2:读取第四目标节点的时间范围timeframe项的时间段信息,并与查询对象search_object中的timeframe项的时间段信息进行匹配,若匹配,则获取所述第四目标节点对应的subject项中的信息;
C3:按照时间顺序,输出所有获取到的subject项中的信息。
7.一种支持知识演化的知识图谱的查询装置,其特征在于,包括:
图谱建立模块,用于建立携带有时间信息的知识图谱,所述携带有时间信息的知识图谱是指:在知识图谱中记录有在不同时间下的主体数据、客体数据,以及主体与客体的关系数据;
接收模块,用于接收针对所述携带有时间信息的知识图谱的查询语句,其中,所述查询语句基于SPARQL语言的语法,并包含有针对时间范围的查询指示;
查询模块,用于根据所述查询语句查询在不同时间下的主体数据、客体数据,以及主体与客体的关系数据;并按照时间顺序输出查询结果。
8.根据权利要求7所述的支持知识演化的知识图谱的查询装置,其特征在于,所述携带有时间信息的知识图谱用集合G表示,G=<V,LV,E,LE,TE>,其中,
V表示知识图谱中的主体、客体、类、实体元素的集合;LV表示知识图谱中点上标签的集合;E表示连接主体和客体的边;LE表示边上标签的集合;TE表示边上时间段的集合。
9.根据权利要求7所述的支持知识演化的知识图谱的查询装置,其特征在于,所述查询模块,具体用于:
将当前接受到的查询语句放入提交队列的尾部;
顺次将所述提交队列中的查询语句进行词法和语法分析,得到查询对象search_object;
将所述查询对象search_object放入等待队列的尾部;
顺次将所述等待队列中的查询对象search_object进行处理后得到不同时间下的主体数据、客体数据,以及主体与客体的关系数据,其中,所述查询对象包括:主体、客体,以及主体与客体的关系。
10.根据权利要求9所述的支持知识演化的知识图谱的查询装置,其特征在于,在查询对象search_object为客体时,所述查询模块,具体用于执行如下步骤:
A1:在存放携带有时间信息的知识图谱的邻接表中查找第一目标节点,找到第一目标节点之后,执行步骤A2;若找不到第一目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第一目标节点是指:对应的主体subject项与查询对象search_object中的主体subject项一致的节点;
A2:在邻接表中找到与所述第一目标节点相邻的第二目标节点,找到所述第二目标节点之后,执行步骤A3;若找不到第二目标节点,则提示没有与查询对象search_object相匹配的查询结果,结束流程;其中,所述第二目标节点是指与所述第一目标节点相邻,且对应的relation项与查询对象中的关系匹配的节点;
A3:读取第二目标节点的timeframe项的时间段信息,并与查询对象search_object中的时间段信息进行匹配,若匹配,则获取所述第二目标节点对应的客体object;
A4:按照时间顺序,输出所有获取到的客体object。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711482222.1A CN110019911A (zh) | 2017-12-29 | 2017-12-29 | 支持知识演化的知识图谱的查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711482222.1A CN110019911A (zh) | 2017-12-29 | 2017-12-29 | 支持知识演化的知识图谱的查询方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019911A true CN110019911A (zh) | 2019-07-16 |
Family
ID=67187194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711482222.1A Pending CN110019911A (zh) | 2017-12-29 | 2017-12-29 | 支持知识演化的知识图谱的查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019911A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328842A (zh) * | 2021-01-05 | 2021-02-05 | 北京谷数科技股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112416984A (zh) * | 2019-08-21 | 2021-02-26 | 华为技术有限公司 | 一种数据处理方法及其装置 |
CN112416984B (zh) * | 2019-08-21 | 2024-06-04 | 华为技术有限公司 | 一种数据处理方法及其装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132474A1 (en) * | 2007-11-16 | 2009-05-21 | Li Ma | Method and Apparatus for Optimizing Queries over Vertically Stored Database |
CN105630881A (zh) * | 2015-12-18 | 2016-06-01 | 陕西师范大学 | 一种rdf的数据存储方法和查询方法 |
CN106997399A (zh) * | 2017-05-24 | 2017-08-01 | 海南大学 | 一种基于数据图谱、信息图谱、知识图谱和智慧图谱关联架构的分类问答系统设计方法 |
CN107391673A (zh) * | 2017-07-21 | 2017-11-24 | 深圳狗尾草智能科技有限公司 | 携带时间戳的中文通用知识图谱的生成方法及装置 |
CN107463649A (zh) * | 2017-07-26 | 2017-12-12 | 北京师范大学珠海分校 | 一种基于具名图的知识图谱时间演化方法 |
-
2017
- 2017-12-29 CN CN201711482222.1A patent/CN110019911A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132474A1 (en) * | 2007-11-16 | 2009-05-21 | Li Ma | Method and Apparatus for Optimizing Queries over Vertically Stored Database |
CN105630881A (zh) * | 2015-12-18 | 2016-06-01 | 陕西师范大学 | 一种rdf的数据存储方法和查询方法 |
CN106997399A (zh) * | 2017-05-24 | 2017-08-01 | 海南大学 | 一种基于数据图谱、信息图谱、知识图谱和智慧图谱关联架构的分类问答系统设计方法 |
CN107391673A (zh) * | 2017-07-21 | 2017-11-24 | 深圳狗尾草智能科技有限公司 | 携带时间戳的中文通用知识图谱的生成方法及装置 |
CN107463649A (zh) * | 2017-07-26 | 2017-12-12 | 北京师范大学珠海分校 | 一种基于具名图的知识图谱时间演化方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416984A (zh) * | 2019-08-21 | 2021-02-26 | 华为技术有限公司 | 一种数据处理方法及其装置 |
CN112416984B (zh) * | 2019-08-21 | 2024-06-04 | 华为技术有限公司 | 一种数据处理方法及其装置 |
CN112328842A (zh) * | 2021-01-05 | 2021-02-05 | 北京谷数科技股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515887B (zh) | 一种适用于多种大数据管理系统的交互式查询方法 | |
CN107291807B (zh) | 一种基于图遍历的sparql查询优化方法 | |
CN105138661A (zh) | 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法 | |
CN103646032B (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
US9753960B1 (en) | System, method, and computer program for dynamically generating a visual representation of a subset of a graph for display, based on search criteria | |
CN105975617A (zh) | 一种多分区表查询处理的方法和装置 | |
CN102955843B (zh) | 一种键值数据库的多键查找实现方法 | |
US20230075655A1 (en) | Systems and methods for context-independent database search paths | |
CN108681603B (zh) | 数据库中快速搜索树形结构数据的方法、存储介质 | |
Steer et al. | Cytosm: Declarative property graph queries without data migration | |
US20230394061A1 (en) | A method and apparatus for intelligent visual analysis and display of cross-source heterogeneous data | |
Schlegel et al. | Balloon fusion: SPARQL rewriting based on unified co-reference information | |
CN106095961B (zh) | 表显示处理方法和装置 | |
Sicilia et al. | AutoMap4OBDA: Automated generation of R2RML mappings for OBDA | |
CN110347846B (zh) | 有时间约束的非连通知识图谱查询方法 | |
CN106445913A (zh) | 基于MapReduce的语义推理方法及系统 | |
CN106021306A (zh) | 基于本体匹配的案例搜索系统 | |
CN110019911A (zh) | 支持知识演化的知识图谱的查询方法和装置 | |
KR101515304B1 (ko) | 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 | |
CN106933844A (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 | |
Ladwig et al. | Combining query translation with query answering for efficient keyword search | |
CN104820661A (zh) | 一种基于业务对象的探索式数据分析系统 | |
Gašpar et al. | Integrating Two Worlds: Relational and NoSQL | |
Mathew et al. | An efficient index based query handling model for neo4j | |
Kern et al. | A framework for building logical schema and query decomposition in data warehouse federations |
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 |
Application publication date: 20190716 |
|
RJ01 | Rejection of invention patent application after publication |