CN106779150B - 一种大规模知识图谱复杂路径查询的视图物化方法 - Google Patents
一种大规模知识图谱复杂路径查询的视图物化方法 Download PDFInfo
- Publication number
- CN106779150B CN106779150B CN201611023978.5A CN201611023978A CN106779150B CN 106779150 B CN106779150 B CN 106779150B CN 201611023978 A CN201611023978 A CN 201611023978A CN 106779150 B CN106779150 B CN 106779150B
- Authority
- CN
- China
- Prior art keywords
- view
- query
- complex path
- rule
- fact
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种大规模知识图谱复杂路径查询的视图物化方法,包括以下3个模块:1)复杂路径查询的视图选择;2)复杂路径查询的视图存储;3)复杂路径查询的视图维护。复杂路径查询的视图选择模块实现预物化的复杂路径查询集识别、基于视图的复杂路径查询代价评估以及基于代价的复杂路径查询视图选取。复杂路径查询的视图存储模块实现基于内存列式的复杂路径查询视图存储组织以及复杂路径查询视图计算。复杂路径查询的视图维护模块实现基于删除数据集的视图更新、视图自动扩展以及基于插入数据集的视图更新。与现有技术相比,本发明具有良好的异构平台间移植能力以及显著提高大规模知识图谱复杂路径查询效率等优点。
Description
技术领域
本发明涉及一种大规模知识图谱复杂路径查询的视图物化方法,属于计算机应用技术领域。
背景技术
在大数据时代,知识图谱是用来组织和可视化大数据的一种重要工具,旨在描述和刻画真实世界中存在的各种实体以及实体间的关系,通常用有向图来组织和表示。图中的节点表示实体,而图中的边则由关系构成,关系用来连接两个实体,刻画它们之间的关联。
通常,我们用G(E,R)来表示知识图谱,其中E={ei}为所有实体组成的集合,R={r<ei,ej>}为实体间关系的集合,r<ei,ej>表示实体ei到ej的关系。不难看出,在多数情况下,r<ei,ej>≠r<ej,ei>。与现有的研究工作类似,我们将知识图谱G用资源描述框架RDF(Resource Description Framework)三元组的集合来表示,即G(E,R)={(ei,r,ej)}。目前比较主流的知识图谱包括Freebase、YAGO、Dbpedia、Internet Movie Database等。
复杂路径查询是深度分析和挖掘知识图谱,进而发现知识图谱隐含线索与规律的重要手段,目前成为知识图谱理论及技术领域的一个研究热点和重点。目前,学术界和工业界通常用Datalog语言来表达知识图谱上的复杂路径查询。一条复杂路径查询CQ可以用一个Datalog语言规则集合表示,例如CQ用如下4条规则组成的集合来表达:
规则1:P(x,r,y):-a(x,r1,y);
规则2:P(x,r,z):-P(x,r,z)∧P(y,r,z);
规则3:Q(x,v,y):-a(x,r,y)∧P(x,r,z);
规则4:P(x,v,y):-b(x,w,y)∧Q(x,v,z)。
在上面所给的4条规则中,“:-”的左边部分称作规则的头部,右边部分称作规则的规则体。x,y,z表示实体,r,v,w表示关系。在规则体中,a和b为知识图谱中存在的已知的RDF三元组事实,称作静态谓词;而在规则头部中,P和Q为复杂路径查询CQ所要得到的RDF三元组事实,称作查询谓词。
目前,国内外有一些知名的实验室团队在做这类的研究工作并取得了较好的应用成果,例如加州大学洛杉矶分校(University of California,Los Angeles)的AlexanderShkapsky团队、阿姆斯特丹自由大学(VU University Amsterdam)的Jacopo Urbani团队、牛津大学(University of Oxford)的Bernardo Cuenca Grau团队、卡拉布里亚大学(University of Calabria)的Valeria Fionda团队、中国人民大学的X.Zhang团队以及同济大学的Y.Xiang团队等。
然而我们发现,在大数据时代,知识图谱的规模非常巨大,里面包含着海量的实体和关系。因此,如果每次复杂路径查询均从零开始处理,其必导致查询的时间代价极大。而且当多个用户同时提交复杂路径查询时,系统的处理效率将非常低,其响应速度将非常慢。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷,而提出一种大规模知识图谱复杂路径查询的视图物化方法。该方法首先识别用户频繁提交的复杂路径查询集合,并基于代价的方式选取与复杂路径查询集合相关的视图进行物化;其次,基于内存列式的组织策略将待物化的复杂路径查询视图进行计算和存储;最后,当知识图谱动态变化时,对复杂路径查询视图自动进行增量更新和高效维护。在实际应用中,本发明能够显著提高大规模知识图谱上复杂路径查询的效率以及降低多用户并发查询的系统响应时间。
本发明的目的可以通过以下技术方案来实现:
1.一种大规模知识图谱复杂路径查询的视图物化方法,其特征在于,包括以下3个模块:
1)复杂路径查询的视图选择;
2)复杂路径查询的视图存储;
3)复杂路径查询的视图维护。
2.根据权利要求1所述的一种大规模知识图谱复杂路径查询的视图物化技术,其特征在于,所述的复杂路径查询的视图选择过程如下:
1)预物化的复杂路径查询集识别;
2)基于视图的复杂路径查询代价评估;
3)基于代价的复杂路径查询视图选取。
3.根据权利要求1所述的一种大规模知识图谱复杂路径查询的视图物化技术,其特征在于,所述的复杂路径查询的视图存储过程如下:
1)基于内存列式的复杂路径查询视图存储组织;
2)复杂路径查询视图计算。
4.根据权利要求1所述的一种大规模知识图谱复杂路径查询的视图物化技术,其特征在于,所述的复杂路径查询的视图维护过程如下:
1)基于删除数据集的视图更新;
2)视图自动扩展;
3)基于插入数据集的视图更新。
与现有技术相比,本发明具有以下优点:
1、能够显著提高大规模知识图谱上单个复杂路径查询的效率;
2、能够显著降低多个复杂路径查询并发执行的系统响应时间;
3、具有良好的异构平台间的移植能力。
附图说明
图1为本发明的技术架构图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
1、复杂路径查询的视图选择实施方法
(1)预物化的复杂路径查询集识别
由于知识图谱上的可以提交的不同复杂路径查询的数量巨大,因此在现实应用中,不可能物化所有的复杂路径查询视图,而且有些复杂路径查询不是经常需要提交,因此也没必要对它们进行物化处理。为此,本发明首先需要识别预物化的复杂路径查询集,主要通过以下3个步骤来具体实施:
步骤1:获取最近一个时间周期(例如一个星期)用户在系统中提交的所有复杂路径查询集合CQS={CQ1,…,CQn},其中每个查询CQi(1≤i≤n)对应一个Datalog语言规则集DLi;
步骤3.1:初始化队列L为空,并将msQ放入L中;
步骤3.2:将msQ作为Θ(msQ,CQS,π)的根节点;
步骤3.3:循环如下操作,直到L为空为止:
1)从L中取出第一个元素FQ;
3)对于2)中获取的做如下两个判断:i)如果已在Θ(msQ,CQS,π)中,那么在Θ(msQ,CQS,π)中直接增加条有向边,从DLf指向否则将加入Θ(msQ,CQS,π)中,并增加条有向边,从DLf指向ii)如果那么将放入L中;
步骤3.4:删除Θ(msQ,CQS,π)中所有不在CQS里面的叶子节点。
(2)基于视图的复杂路径查询代价评估
对于查询空间格Θ(msQ,CQS,π)中存在路径的两个复杂路径查询CQ1和CQ2,并且有CQ1πCQ2。如果CQ2已完成视图物化,那么CQ1的查询结果可以从CQ2视图来计算,而没必要以大规模知识图谱为输入参数从零开始计算。基于该策略,本发明通过如下5个步骤来具体实施代价评估:
步骤1:获取CQ2视图所包含的RDF事实表F1,…,Fm,其中m为CQ2视图中事实表的个数,并记X=(F1,…,Fm);
步骤4:在CQ2视图上,重复如下操作3000次:以满足数据分布的方式,从CQ2视图中抽取1/300比例的数据样本sCQ,计算从sCQ获取CQ1的时间代价timeC;记3000次操作全部完成后所得出的时间代价分别为:timeC1,…,timeC3000;
步骤5:基于步骤4,获取从CQ2视图计算CQ1的时间代价为:
(3)基于代价的复杂路径查询视图选取
在(1)和(2)的基础上,本发明基于代价的方式从查询空间格Θ(msQ,CQS,π)中选取若干个复杂路径查询视图进行物化,使得这些视图能够快速处理Θ(msQ,CQS,π)的叶子节点,即CQS={CQ1,…,CQn}。本发明通过如下4个步骤来具体实施:
步骤1:初始化中间变量temp,令temp=CQS={CQ1,…,CQn};
步骤2:检测给定的空闲磁盘空间容量Ψ是否超过temp中复杂路径查询的视图大小总和,如果超过,那么直接将temp中复杂路径查询的视图进行物化,然后退出程序,否则执行步骤3;
步骤3:在temp中计算视图大小最小的两个复杂路径查询CQx和CQx,并在查询空间格Θ(msQ,CQS,π)中获取CQx和CQy的最小共同父节点CQ’,即CQ’满足如下3个条件:1)CQxπCQ’,2)CQyπCQ’,3)Θ(msQ,CQS,π)中不存在一个复杂路径查询CQ”,使得CQxπCQ”及CQyπCQ”成立,并且CQ’πCQ”;
步骤4:调整temp=temp∪{CQ’}-{CQx,CQy},并返回到步骤2。
2、复杂路径查询的视图存储实施方法
(1)基于内存列式的复杂路径查询视图存储组织
一旦对复杂路径查询视图完成选择之后,本发明对每个被选中的复杂路径查询视图进行物化存储。首先,本发明对这些复杂路径查询视图的存储格式进行有效的安排和组织,以便提高后面的视图计算效率。
不失一般性,对于每个复杂路径查询CQ,其所对应的Datalog语言规则集合为记为DL={rule1,…,ruleh}。本发明首先获取这h条规则所包含规则头部的l个查询谓词P1,…,Pl,然后针对每个查询谓词Pi(1≤i≤l),在内存中将其组织为一个RDF三元组的事实簇队列List(Pi),而每个事实簇FC包含三部分内容:执行序号s、规则编号rn以及核心事实表FT。执行序号s表示当前视图计算已进行到第s步,每一步执行一条规则;规则编号rn表示目前正在执行第rn条规则,其中1≤rn≤l;核心事实表用来存储当前视图计算所产生的RDF三元组事实。
对于每一步所产生的核心事实表FT,本发明采用基于内存的列式存储策略进行存储组织。由于FT存储RDF三元组事实,因此,FT包含三个列c1,c2,c3,每个列为RDF三元组的一个分量。首先对第一个列c1的取值从小到大进行排序并存储,然后,针对第一列中的相同值,对第二个列c2的取值从小到大进行排序并存储,最后,针对第二列中的相同值,对第三个列c3的取值从小到大进行排序并存储。
另外,为了提高内存空间的利用率,在列式存储过程中,本发明基于行程长度编码(RLE:run-lengh encoding)策略对核心事实表FT中的每一列进行压缩处理,即针对每一列ci(1≤i≤3),如果它上面的相同值出现了n次,那么本发明用来代替n次的重复存储。
(2)复杂路径查询视图计算
对于每个待物化的复杂路径查询CQ:DL={rule1,…,ruleh},在(1)中所给的视图存储组织的基础上,视图计算的任务是将第s步的执行规则编号rn所对应的核心事实表FT的结果进行物化存储,其核心工作是求得FT所包含的所有RDF三元组事实。本发明通过如下6个步骤来具体实施:
步骤2:对于每个查询谓词Pi(1≤i≤k),获取它的事实簇队列List(Pi),进而获取List(Pi)所包含的所有核心事实表FT(Pi);
步骤3:获取查询谓词P目前事实簇队列List(P)中所包含的所有核心事实表FT(P);
步骤4:计算sumFT=FT(P1)∞FT(P2)∞…∞FT(Pi),其中∞表示自然连接操作;
步骤5:计算FT=sumFT-FT(P);
步骤6:在List(P)中增加一个新的事实簇nFC包含三部分内容:执行序号s、规则编号rn以及核心事实表FT。
3、复杂路径查询的视图维护实施方法
当底层知识图谱的数据发生变化时,本发明物化的复杂路径查询视图也需要随之动态更新,其增量维护过程如下:
(1)基于删除数据集的视图更新
假定本次知识图谱所删除的RDF三元组事实集合为Drdf={(x,r,y)},即对于Drdf中的每一个事实(x,r,y),x和y之间现在不存在关系r。
基于集合Drdf中的每一个事实(x,r,y),本发明更新每个已物化的复杂路径查询CQ。假定CQ相应的Datalog语言规则集DL中有k个规则rule1,…,rulek涉及(x,r,y),那么我们首先获取这k个规则的头部查询谓词所对应的事实簇队列List(P1),…,List(Pk),然后按List(P1),…,List(Pk)中的执行序号从小到大顺序遍历其核心事实表FT,并将FT中与(x,r,y)相关的三元组事实删除。
(2)视图自动扩展
在(1)中,基于删除数据集Drdf中的每一个事实(x,r,y),本发明针对每个物化的复杂路径查询CQ,从k个事实簇队列List(P1),…,List(Pk)删除与(x,r,y)相关的三元组事实。然而,我们发现有些被删除的事实能够通过其它已物化的三元组事实来补全,并进行自动扩展,具体实施如下:
本发明首先将在(1)中被删除的m个三元组事实按照删除的先后顺序进行排序,得到deF=<(x1,r1,y1),…,(xm,rm,ym)>;然后针对每一个被删除三元组事实(xt,rt,yt)∈deF,本发明按List(P1),…,List(Pk)中的执行序号从小到大顺序遍历其核心事实表FT,如果(xt,rt,yt)能够通过FT中的其它三元组事实来推理出来,那么将(xt,rt,yt)添加进FT中。
(3)基于插入数据集的视图更新
假定本次知识图谱所插入的RDF三元组事实集合为Irdf={(x,r,y)},即对于Irdf中的每一个事实(x,r,y),x和y之间现在存在关系r,而原来不存在该关系。基于集合Irdf中的每一个事实(x,r,y),本发明更新每个已物化的复杂路径查询CQ:DL={rule1,…,ruleh},具体实施如下:
步骤1:在DL中获取规则体与(x,r,y)匹配的第一个规则编号rna;
步骤2:将(x,r,y)在rna规则体中的计算结果写入头部查询谓词Pa的第一个事实簇所对应的核心事实表FT(Pa)中;
步骤3:从规则编号rna开始,循环访问DL中每个规则所对应的规则编号rn’:P’:-P1,…,Pk,并执行如下操作,记当前执行序号为s:
步骤3.1:对于每个查询谓词Pi(1≤i≤k),获取它的事实簇队列List(Pi),进而获取List(Pi)的核心事实表FT(Pi)中由于(x,r,y)而新增的三元组事实nFT(Pi);
步骤3.2:获取查询谓词P’目前事实簇队列List(P’)的核心事实表FT(P’)中由于(x,r,y)而新增的三元组事实nFT(P’);
步骤3.3:计算snFT=nFT(P1)∞nFT(P2)∞…∞nFT(Pi);
步骤3.4:计算nFT=snFT-nFT(P’);
步骤3.5:将nFT插入到执行序号为s所对应的List(P’)核心事实表中。
Claims (1)
1.一种大规模知识图谱复杂路径查询的视图物化方法,其特征在于,包括以下3步骤:
步骤一:复杂路径查询的视图选择实施方法
(1)预物化的复杂路径查询集识别
步骤1:获取最近一个时间周期用户在系统中提交的所有复杂路径查询集合CQS={CQ1,…,CQn},其中每个查询CQi(1≤i≤n)对应一个Datalog语言规则集DLi;
步骤3.1:初始化队列L为空,并将msQ放入L中;
步骤3.2:将msQ作为Θ(msQ,CQS,π)的根节点;
步骤3.3:循环如下操作,直到L为空为止:
1)从L中取出第一个元素FQ;
2)记FQ所对应的Datalog语言规则集为DLf,获取只比DLf少一条规则的k=|DLf|个子集DLf 1,DLf 2,…,DLf k;
3)对于2)中获取的DLf t(1≤i≤k),做如下两个判断:i)如果DLf t已在Θ(msQ,CQS,π)中,那么在Θ(msQ,CQS,π)中直接增加条有向边,从DLf指向DLf t,否则将DLf t加入Θ(msQ,CQS,π)中,并增加条有向边,从DLf指向DLf t;ii)如果那么将DLf t放入L中;
步骤3.4:删除Θ(msQ,CQS,π)中所有不在CQS里面的叶子节点;
(2)基于视图的复杂路径查询代价评估
对于查询空间格Θ(msQ,CQS,π)中存在路径的两个复杂路径查询CQ1和CQ2,并且有CQ1πCQ2;如果CQ2已完成视图物化,那么CQ1的查询结果从CQ2视图来计算,而没必要以大规模知识图谱为输入参数从零开始计算;通过如下5个步骤来具体实施代价评估:
步骤1:获取CQ2视图所包含的RDF事实表F1,…,Fm,其中m为CQ2视图中事实表的个数,并记X=(F1,…,Fm);
步骤4:在CQ2视图上,重复如下操作3000次:以满足数据分布的方式,从CQ2视图中抽取1/300比例的数据样本sCQ,计算从sCQ获取CQ1的时间代价timeC;记3000次操作全部完成后所得出的时间代价分别为:timeC1,…,timeC3000;
步骤5:基于步骤4,获取从CQ2视图计算CQ1的时间代价为:
(3)基于代价的复杂路径查询视图选取
在(1)和(2)的基础上,基于代价的方式从查询空间格Θ(msQ,CQS,π)中选取若干个复杂路径查询视图进行物化,使得这些视图能够快速处理Θ(msQ,CQS,π)的叶子节点,即CQS={CQ1,…,CQn},通过如下4个步骤来具体实施:
步骤1:初始化中间变量temp,令temp=CQS={CQ1,…,CQn};
步骤2:检测给定的空闲磁盘空间容量Ψ是否超过temp中复杂路径查询的视图大小总和,如果超过,那么直接将temp中复杂路径查询的视图进行物化,然后退出程序,否则执行步骤3;
步骤3:在temp中计算视图大小最小的两个复杂路径查询CQx和CQy,并在查询空间格Θ(msQ,CQS,π)中获取CQx和CQy的最小共同父节点CQ’,即CQ’满足如下3个条件:1)CQxπCQ’,2)CQyπCQ’,3)Θ(msQ,CQS,π)中不存在一个复杂路径查询CQ”,使得CQxπCQ”及CQyπCQ”成立,并且CQ’πCQ”;
步骤4:调整temp=temp∪{CQ’}-{CQx,CQy},并返回到步骤2;
步骤二:复杂路径查询的视图存储实施方法
(1)基于内存列式的复杂路径查询视图存储组织
一旦对复杂路径查询视图完成选择之后,对每个被选中的复杂路径查询视图进行物化存储;
对于每个复杂路径查询CQ,其所对应的Datalog语言规则集合为记为DL={rule1,…,ruleh};首先获取这h条规则所包含规则头部的l个查询谓词P1,…,Pl,然后针对每个查询谓词Pi,1≤i≤l,在内存中将其组织为一个RDF三元组的事实簇队列List(Pi),而每个事实簇FC包含三部分内容:执行序号s、规则编号rn以及核心事实表FT;执行序号s表示当前视图计算已进行到第s步,每一步执行一条规则;规则编号rn表示目前正在执行第rn条规则,其中1≤rn≤l;核心事实表用来存储当前视图计算所产生的RDF三元组事实;
对于每一步所产生的核心事实表FT,采用基于内存的列式存储策略进行存储组织;由于FT存储RDF三元组事实,因此,FT包含三个列c1,c2,c3,每个列为RDF三元组的一个分量;首先对第一个列c1的取值从小到大进行排序并存储,然后,针对第一列中的相同值,对第二个列c2的取值从小到大进行排序并存储,最后,针对第二列中的相同值,对第三个列c3的取值从小到大进行排序并存储;
另外,在列式存储过程中,基于行程长度编码(RLE:run-lengh encoding)策略对核心事实表FT中的每一列进行压缩处理,即针对每一列ci,1≤i≤3,如果它上面的相同值出现了n次,那么用<,n>来代替n次的重复存储;
(2)复杂路径查询视图计算
对于每个待物化的复杂路径查询CQ:DL={rule1,…,ruleh},在(1)中所给的视图存储组织的基础上,视图计算的任务是将第s步的执行规则编号rn所对应的核心事实表FT的结果进行物化存储,其核心工作是求得FT所包含的所有RDF三元组事实;通过如下6个步骤来具体实施:
步骤2:对于每个查询谓词Pi(1≤i≤k),获取它的事实簇队列List(Pi),进而获取List(Pi)所包含的所有核心事实表FT(Pi);
步骤3:获取查询谓词P目前事实簇队列List(P)中所包含的所有核心事实表FT(P);
步骤4:计算sumFT=FT(P1)∞FT(P2)∞…∞FT(Pi),其中∞表示自然连接操作;
步骤5:计算FT=sumFT-FT(P);
步骤6:在List(P)中增加一个新的事实簇nFC包含三部分内容:执行序号s、规则编号rn以及核心事实表FT;
步骤三:复杂路径查询的视图维护实施方法
当底层知识图谱的数据发生变化时,物化的复杂路径查询视图也需要随之动态更新,其增量维护过程如下:
(1)基于删除数据集的视图更新
假定本次知识图谱所删除的RDF三元组事实集合为Drdf={(x,r,y)},即对于Drdf中的每一个事实(x,r,y),x和y之间现在不存在关系r;
基于集合Drdf中的每一个事实(x,r,y),更新每个已物化的复杂路径查询CQ;假定CQ相应的Datalog语言规则集DL中有k个规则rule1,…,rulek涉及(x,r,y),那么首先获取这k个规则的头部查询谓词所对应的事实簇队列List(P1),…,List(Pk),然后按List(P1),…,List(Pk)中的执行序号从小到大顺序遍历其核心事实表FT,并将FT中与(x,r,y)相关的三元组事实删除;
(2)视图自动扩展
在(1)中,基于删除数据集Drdf中的每一个事实(x,r,y),针对每个物化的复杂路径查询CQ,从k个事实簇队列List(P1),…,List(Pk)删除与(x,r,y)相关的三元组事实;有些被删除的事实通过其它已物化的三元组事实来补全,并进行自动扩展,具体实施如下:
首先将在(1)中被删除的m个三元组事实按照删除的先后顺序进行排序,得到deF=<(x1,r1,y1),…,(xm,rm,ym)>;然后针对每一个被删除三元组事实(xt,rt,yt)∈deF,按List(P1),…,List(Pk)中的执行序号从小到大顺序遍历其核心事实表FT,如果(xt,rt,yt)能够通过FT中的其它三元组事实来推理出来,那么将(xt,rt,yt)添加进FT中;
(3)基于插入数据集的视图更新
假定本次知识图谱所插入的RDF三元组事实集合为Irdf={(x,r,y)},即对于Irdf中的每一个事实(x,r,y),x和y之间现在存在关系r,而原来不存在该关系;基于集合Irdf中的每一个事实(x,r,y),更新每个已物化的复杂路径查询CQ:DL={rule1,…,ruleh},具体实施如下:
步骤1:在DL中获取规则体与(x,r,y)匹配的第一个规则编号rna;
步骤2:将(x,r,y)在rna规则体中的计算结果写入头部查询谓词Pa的第一个事实簇所对应的核心事实表FT(Pa)中;
步骤3:从规则编号rna开始,循环访问DL中每个规则所对应的规则编号rn’:P’:-P1,…,Pk,并执行如下操作,记当前执行序号为s:
步骤3.1:对于每个查询谓词Pi(1≤i≤k),获取它的事实簇队列List(Pi),进而获取List(Pi)的核心事实表FT(Pi)中由于(x,r,y)而新增的三元组事实nFT(Pi);
步骤3.2:获取查询谓词P’目前事实簇队列List(P’)的核心事实表FT(P’)中由于(x,r,y)而新增的三元组事实nFT(P’);
步骤3.3:计算snFT=nFT(P1)∞nFT(P2)∞…∞nFT(Pi);
步骤3.4:计算nFT=snFT-nFT(P’);
步骤3.5:将nFT插入到执行序号为s所对应的List(P’)核心事实表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611023978.5A CN106779150B (zh) | 2016-11-17 | 2016-11-17 | 一种大规模知识图谱复杂路径查询的视图物化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611023978.5A CN106779150B (zh) | 2016-11-17 | 2016-11-17 | 一种大规模知识图谱复杂路径查询的视图物化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106779150A CN106779150A (zh) | 2017-05-31 |
CN106779150B true CN106779150B (zh) | 2020-08-14 |
Family
ID=58968218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611023978.5A Active CN106779150B (zh) | 2016-11-17 | 2016-11-17 | 一种大规模知识图谱复杂路径查询的视图物化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106779150B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110491106B (zh) * | 2019-07-22 | 2022-03-18 | 深圳壹账通智能科技有限公司 | 基于知识图谱的数据预警方法、装置和计算机设备 |
CN111917648B (zh) * | 2020-06-30 | 2021-10-26 | 华南理工大学 | 一种数据中心里分布式机器学习数据重排的传输优化方法 |
CN114880504B (zh) * | 2022-07-08 | 2023-03-31 | 支付宝(杭州)信息技术有限公司 | 一种图数据的查询方法、装置以及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156725A (zh) * | 2011-04-01 | 2011-08-17 | 中国测绘科学研究院 | 一种提高数据仓库查询性能的方法 |
CN102799624A (zh) * | 2012-06-19 | 2012-11-28 | 北京大学 | 基于Datalog的分布式环境下大图数据查询方法 |
WO2015090788A1 (en) * | 2013-12-19 | 2015-06-25 | Siemens Aktiengesellschaft | Processing an input query |
CN104866593A (zh) * | 2015-05-29 | 2015-08-26 | 中国电子科技集团公司第二十八研究所 | 一种基于知识图谱的数据库搜索方法 |
-
2016
- 2016-11-17 CN CN201611023978.5A patent/CN106779150B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156725A (zh) * | 2011-04-01 | 2011-08-17 | 中国测绘科学研究院 | 一种提高数据仓库查询性能的方法 |
CN102799624A (zh) * | 2012-06-19 | 2012-11-28 | 北京大学 | 基于Datalog的分布式环境下大图数据查询方法 |
WO2015090788A1 (en) * | 2013-12-19 | 2015-06-25 | Siemens Aktiengesellschaft | Processing an input query |
CN104866593A (zh) * | 2015-05-29 | 2015-08-26 | 中国电子科技集团公司第二十八研究所 | 一种基于知识图谱的数据库搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106779150A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7509311B2 (en) | Use of statistics on views in query optimization | |
US10769147B2 (en) | Batch data query method and apparatus | |
Zhang et al. | Scalable skyline computation using object-based space partitioning | |
EP3047398B1 (en) | Combined row and columnar storage for in-memory databases for oltp and analytics workloads | |
US10824622B2 (en) | Data statistics in data management systems | |
EP3014488B1 (en) | Incremental maintenance of range-partitioned statistics for query optimization | |
Shao et al. | An efficient similarity search framework for SimRank over large dynamic graphs | |
US10762087B2 (en) | Database search | |
US8682875B2 (en) | Database statistics for optimization of database queries containing user-defined functions | |
US10146818B2 (en) | Computing system | |
CN113688127B (zh) | 数据压缩技术 | |
WO2012170049A1 (en) | Sideways information passing | |
CN106897374B (zh) | 一种基于轨迹大数据最近邻查询的个性化推荐方法 | |
CN106779150B (zh) | 一种大规模知识图谱复杂路径查询的视图物化方法 | |
US9110949B2 (en) | Generating estimates for query optimization | |
US20100235344A1 (en) | Mechanism for utilizing partitioning pruning techniques for xml indexes | |
CN103793467A (zh) | 一种基于超图和动态规划的大数据实时查询优化方法 | |
WO2015041731A1 (en) | Interest-driven business intelligence systems including segment data | |
US9141654B2 (en) | Executing user-defined function on a plurality of database tuples | |
Su et al. | Indexing and parallel query processing support for visualizing climate datasets | |
CN113918605A (zh) | 数据查询方法、装置、设备以及计算机存储介质 | |
US20090307200A1 (en) | System and Method For Providing Suppression of Zero, Null, Overflow, and Divide by Zero Values in Sparse Query Results | |
Kvet | Relational data index consolidation | |
US9378243B1 (en) | Predicate-based range set generation | |
Su et al. | Supporting correlation analysis on scientific datasets in parallel and distributed settings |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |