【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2014年6月17日提交的题为“REAL-TIMESAVED-QUERYUPDATESFORALARGEGRAPH”的美国非临时专利申请No.14/306,969的优先权,该专利申请的全部内容通过引用合并于此。
技术介绍
基于大型图表的知识库表示与世界有关的实际信息。例如,在数据图表中,可将实体(诸如人、地点、短语、单词、类别、事实、东西、概念等)存储为节点,并且节点之间的边缘(edge)可指示实体之间的关系。这样的数据图表的基本单元可以是包括两个节点或实体以及边缘标签的三元组。第一节点有时被称为源或主语节点(subjectnode),并且第二节点有时称为目标或对象节点(objectnode)。当然,除识别主语、谓语以及对象之外,三元组进一步可包括附加信息,诸如与实体和/或关系有关的元数据。用户可以定义用于图表的查询或集合。集合或查询定义节点必须满足以响应于查询而成为节点集合的成员的约束。所述约束通常指定节点必须或不必具有什么关系以成为查询结果的成员,例如集合的成员。这样的查询(即,集合)在搜索、数据挖掘、广告定向、推荐系统等中被广泛地使用,并且成员资格常常被存储,因为计算成员资格在大型图表中是昂贵的。但是随着节点和关系被添加到图表或从图表删除,所保存的成员可能变得过时,尤其是在被频繁地更新的大型图表中。
技术实现思路
某些实施方式使得系统能够随着边缘被更新(例如,随着三元组被添加到基于图表的数据存储或从其删除)而实时地更新所保存的查询结果。实时可以包括短延迟(例如,小于一分钟),以允许系统按三元组的源节点将更新分组。查询可由约束定义,其 ...
【技术保护点】
一种计算机系统,包括:至少一个处理器;以及至少一个存储器,所述至少一个存储器存储:被边缘连接的节点的数据图表,多个所保存的查询,每个查询由要被满足以获取在用于该查询的查询结果中的成员资格的一个或多个约束来定义,每个约束指定所述边缘中的至少一个,以及指令,所述指令在被所述至少一个处理器执行时使得所述系统:响应于利用源节点、更新边缘以及目标节点来更新所述数据图表的操作而识别目标约束,所述目标约束指定包括所述更新边缘的路径,并且所述目标约束属于第一所保存的查询,评估用于成员节点的所述目标约束以通过经由所述目标约束的所述路径遍历所述图表来确定用于所述目标约束的状态,基于所述状态来确定用于所述第一所保存的查询的经叠缩的定义是否指示所述成员节点是响应于或不响应于所述第一所保存的查询,以及在所述经叠缩的定义指示所述成员节点是响应或不响应的情况下,根据所述经叠缩的定义而利用所述成员节点来更新所述第一所保存的查询的所保存的查询结果。
【技术特征摘要】
【国外来华专利技术】2014.06.17 US 14/306,9691.一种计算机系统,包括:至少一个处理器;以及至少一个存储器,所述至少一个存储器存储:被边缘连接的节点的数据图表,多个所保存的查询,每个查询由要被满足以获取在用于该查询的查询结果中的成员资格的一个或多个约束来定义,每个约束指定所述边缘中的至少一个,以及指令,所述指令在被所述至少一个处理器执行时使得所述系统:响应于利用源节点、更新边缘以及目标节点来更新所述数据图表的操作而识别目标约束,所述目标约束指定包括所述更新边缘的路径,并且所述目标约束属于第一所保存的查询,评估用于成员节点的所述目标约束以通过经由所述目标约束的所述路径遍历所述图表来确定用于所述目标约束的状态,基于所述状态来确定用于所述第一所保存的查询的经叠缩的定义是否指示所述成员节点是响应于或不响应于所述第一所保存的查询,以及在所述经叠缩的定义指示所述成员节点是响应或不响应的情况下,根据所述经叠缩的定义而利用所述成员节点来更新所述第一所保存的查询的所保存的查询结果。2.根据权利要求1所述的系统,其中,所述存储器进一步存储按边缘对所述约束的索引,所述索引被用来识别所述目标约束。3.根据权利要求1或2所述的系统,其中,所述目标约束是第一目标约束,并且所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得所述系统:识别属于所述第一所保存的查询的第二目标约束;所述第二目标约束指定包括所述更新边缘的路径;所述第二目标约束具有比所述第一目标约束的路径长度更长的路径长度;以及将用于所述第二目标约束的状态设置成指示所述第二目标约束未解算的状态。4.根据权利要求3所述的系统,其中,所述状态是第一状态,并且所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得系统:基于所述第一状态而确定用于所述第一所保存的查询的经叠缩的定义未能指示所述成员节点是响应于或不响应于所述第一所保存的查询;评估用于所述成员节点的所述第二目标约束以通过经由所述第二目标约束的所述路径遍历所述图表来确定用于所述第二目标约束的第二状态;以及基于所述第一状态和所述第二状态而确定用于所述第一查询的所述经叠缩的定义是否指示所述成员节点是响应于或不响应于所述第一所保存的查询,以及在所述经叠缩的定义指示所述成员节点是响应或不响应的情况下,根据所述经叠缩的定义而利用所述成员节点来更新所述第一所保存的查询的所保存的查询结果。5.根据权利要求1至4中的任一项所述的系统,其中,所述目标约束是第一目标约束,并且所述状态是第一状态,并且所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时,使得所述系统:将所述图表的所述遍历的结果存储在所述存储器中;识别用于所述第一查询的第二目标约束,所述第二目标约束具有包括所述第一目标约束的所述路径的路径;在评估所述第二目标约束时使用所存储的所述遍历的所述结果以确定用于所述第二目标约束的第二状态;基于所述第一状态和所述第二状态而确定用于所述第一所保存的查询的所述经叠缩的定义是否指示所述成员节点是响应于或不响应于所述第一所保存的查询;以及在所述经叠缩的定义指示所述成员节点是响应或不响应的情况下根据所述经叠缩的定义而利用所述成员节点来更新所述第一所保存的查询的所保存的查询结果。6.根据权利要求1至5中的任一项所述的系统,其中,所述更新是第一更新,并且所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得所述系统:存储所述数据图表的所述遍历的结果;以及当对所述数据图表的后续更新包括与所述第一更新的所述源节点不同的源节点时删除所存储的结果。7.根据权利要求1至6中的任一项所述的系统,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得所述系统:存储所述数据图表的所述遍历的结果;以及使用所存储的结果来评估指定包括所述目标约束的所述路径的路径的第二目标约束。8.根据权利要求1至7中的任一项所述的系统,其中,所述目标约束是第一目标约束,并且所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得所述系统:识别多个目标约束,所述第一目标约束是所述多个目标约束中的一个,所述多个目标约束是用于至少两个查询,并且所述第一所保存的查询是所述至少两个查询中的一个;以及智能地评估所述多个目标约束以便以较长的路径长度延迟...
【专利技术属性】
技术研发人员:阿密特·贝哈尔,基思·帕特里克·戈尔登,本·休特琴森,威廉·常,
申请(专利权)人:谷歌公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。