CN113312384B - 图数据的查询处理方法、装置及电子设备 - Google Patents

图数据的查询处理方法、装置及电子设备 Download PDF

Info

Publication number
CN113312384B
CN113312384B CN202010120772.4A CN202010120772A CN113312384B CN 113312384 B CN113312384 B CN 113312384B CN 202010120772 A CN202010120772 A CN 202010120772A CN 113312384 B CN113312384 B CN 113312384B
Authority
CN
China
Prior art keywords
rule
query
point
graph
query request
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
Application number
CN202010120772.4A
Other languages
English (en)
Other versions
CN113312384A (zh
Inventor
李非凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010120772.4A priority Critical patent/CN113312384B/zh
Publication of CN113312384A publication Critical patent/CN113312384A/zh
Application granted granted Critical
Publication of CN113312384B publication Critical patent/CN113312384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种图数据的查询处理方法、装置及电子设备,方法包括:响应于查询请求,获取该查询请求对应的规则图,所述规则图包括所述查询请求相关的一个或者多个规则的组合;根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树;根据规则树生成图数据查询代码并执行,从而在所述图数据库中进行查询处理。本发明实施例通过基于规则图和规则树的中间数据处理,将第一用户配置的复杂规则进行了梳理,并且结合具体的查询请求,对规则进行了提前过滤,缩减了中间计算数据量,大大提高图数据查询推理的性能。

Description

图数据的查询处理方法、装置及电子设备
技术领域
本申请涉及一种图数据的查询处理方法、装置及电子设备,属于计算机技术领域。
背景技术
随着人工智能技术的发展和应用,知识图谱以及图数据库被广泛应用,如今在智能搜索、智能问答、个性化推荐、内容分发等领域均有重要的应用。知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。
在基于图谱的查询处理中,现有技术主要有基于Jena(语义导入模型)的推理引擎来实现查询处理的技术方案,该方法强依赖sparql(全称为SPARQL Protocol and RDFQuery Language,是一种用于资源描述框架上的查询语言)语言,在性能不能满足用户实时性需求,而现如今用户对实时查询的要求很高,因此,需要提高图谱查询的实时处理效率。
发明内容
本发明实施例提供一种图数据的查询处理方法、装置及电子设备,以提高图数据的查询处理效率。
为了实现上述目的,本发明实施例提供了一种图数据的查询处理方法,包括:
响应于查询请求,获取该查询请求对应的规则图,所述规则图包括所述查询请求相关的一个或者多个规则的组合;
根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树,所述规则树至少包括了查询条件中的查询对象和待查询的目标结果之间的推理关系;
根据规则树生成图数据查询代码并执行,从而在所述图数据库中进行查询处理。
本发明实施例提供了一种图数据的查询处理装置,包括:
规则图处理模块,用于响应于查询请求,获取该查询请求对应的规则图,所述规则图包括所述查询请求相关的一个或者多个规则的组合;
规则树处理模块,模块根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树,所述规则树至少包括了查询条件中的查询对象和待查询的目标结果之间的推理关系;
查询代码处理模块,用于根据规则树生成图数据查询代码并执行,从而在所述图数据库中进行查询处理。
本发明实施例提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行上述的图数据的查询处理方法。
本发明实施例通过基于规则图和规则树的中间数据处理,将第一用户配置的复杂规则进行了梳理,并且结合具体的查询请求,对规则进行了提前过滤,缩减了中间计算数据量,大大提高图数据查询推理的性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1为本发明实施例的应用场景示意图;
图2为本发明实施例的规则图的结构示意图;
图3为本发明实施例的规则树的结构示意图;
图4为本发明实施例的示例性的规则树的形态之一;
图5为本发明实施例的示例性的规则树的形态之二;
图6为本发明实施例的示例性的规则树的形态之三;
图7为本发明实施例的示例性的规则树的形态之四;
图8为本发明实施例的图数据的查询处理方法的流程示意图;
图9为本发明实施例的图数据的查询处理装置的结构示意图;
图10为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面通过一些具体实施例来进一步说明本发明的技术方案。
本发明实施例针对图数据的查询需求,提出了一种针对将预设查询规则结合查询请求中携带的查询条件,进行中间处理,然后再生成具体的图数据库查询代码并图数据库的查询的处理机制,通过该机制,能够有效提高图数据库的查询效率,并且便于与多种图数据库查询语言对接。
如图1所示,其为本发明实施例的应用场景示意图,作为示例性的,本发明实施例的数据服务平台1可以向用户提供基于图数据库2的存储和查询处理等服务。其中,这里所说的用户可以包括如下两类:为了便于区分,将第一类用户称作第一用户3,将第二类用户称作第二用户4,第一用户3是指配置查询规则的用户,也是查询服务的提供方,而第二用户4是指发起查询请求的用户,查询服务的使用方。而本发明实施例的数据服务平台可以视为向第一用户和第二用户提供后台查询服务处理,这些数据处理过程可以是对第一用户和第二用户透明的。
第一用户3可以租用数据服务平台1的图数据库2进行数据存储,并基于数据服务平台1向第二用户4提供数据查询服务,例如,第一用户可以是一些商家用户,例如某电商企业基于数据服务平台存储商品和交易信息等,并基于数据服务平台相应第二用户的查询请求,向第二用户返回其想要获得的相关信息。这里的第二用户可以是作为顾客的用户,其购买商家用户的商品,从而会涉及各种商品的查询需求以及商品推荐服务等。
第一用户3为了更好地向第二用户提供查询方面的服务,会预先配置一些查询规则(如图中的规则一、规则二、规则三……),从而向第二用户4提供有效地查询结果。例如,作为电商的第一用户,在基于顾客的查询请求,而向顾客推荐商品时,会基于顾客的年龄、交易历史、所在区域等多个因素,向用户推荐商品,而推荐规则可以由各个商家来根据自身的需求来灵活设定。
在设定好相关规则后,当第二用户向数据服务平台发起查询请求时,数据服务平台就会按照第一用户预设的规则,并结合本发明实施例提供的图数据库的查询的处理机制,进行图数据的查询处理并向第二用户提供数据查询结构。
下面再详细介绍一下本发明实施例的图数据库的查询的处理机制的技术原理。
如前面所介绍的,上述的规则是应用于图数据库的查询处理而预先配置的规则。这些规则由第一用户(查询服务的提供方)预先配置。鉴于知识图谱等图数据大多是以三元组的形式而存储,因此,规则最小单位也可以采用三元组的形式,用户也以三元组的形式来配置规则单元,然后再用and、or或者嵌套关系等逻辑关系将规则单元进行关联,从而形成规则。三元组可以用来描述“实体1-关系-实体2”和“实体-属性-属性值”。
上述的采用三元组形式描述的规则可以转换为规则图的形态,其中,三元组中的实体对应于规则图中的点,关系对应于边,而实体的属性对应于规则图中点的属性。
本发明实施例的技术思想在于,在接收到第二用户(查询服务的使用方)的查询请求和在图数据库中执行数据查询之间,插入了一个中间处理过程。在这个中间处理过程中,将第一用户配置的规则转换为规则图的形式,然后再结合具体查询请求,基于规则图生成规则树,最终将规则树作为查询计划,而生成图数据的查询代码,从而针对具体的图数据库进行查询处理。上述过程可以包括如下几个阶段的处理:
1)第一用户配置规则
以第一用户提供电影资讯的票务公司,而第二用户则为购票的顾客作为示例,来说明第一用户如何配置规则。票务公司为了向用户提供合适的电影票推荐,而预先配置了一些规则,这些规则针对不同的人群进行电影推荐,作为示例,下面仅描述给小女孩推荐电影和给上班族推荐电影的相关规则。为了简化规则表示,如下内容采用逻辑运算符合结合文字来表述,并且为了后续的规则图以及规则树的描述方便,对规则中涉及的实体和关系均赋予了标号,而实体的属性未赋予标号。
规则一:针对影院播放的电影给小女孩进行推荐的规则
((人X1年龄<10)and(人X1性别=女)and(人X1在L1城区Y1))and((电影M1类型=少儿电影)or(电影M1适合年龄<10))and(电影M1主题=公主系列)and(电影院C1放映S1电影M1)and(电影院C1在L1城区Y1)。
在规则一中,通过逻辑关系符,连接了多个三元组沟通的规则单元,从而形成复杂的规则关系。在上述规则单元中,“(电影院C1放映S1电影M1)”、“(电影院C1在L1城区Y1)”以及(人X1在L1城区Y1)这几个规则单元属于“实体1-关系-实体2”的三元组配置形态,在后续生成规则图的过程中,将会对应于规则图中的点和边,其余的规则单元都属于“实体-属性-属性值”的三元组配置形态,在后续生成规则图的过程中,将会对应于规则图中对应点的属性以及属性值。
上述的规则仅仅是为了说明本发明实施例的内容而进行简化的示例性规则,作为票务公司的第一用户,也可以加入一些其他规则作为向小女孩推荐电影的规则,例如下面的规则二和规则三。
规则二:根据电影类型给上班族推荐影院放映的电影
((人X1年龄>25and<55)and(人X1在L1城区Y1))and(电影院C1放映S1电影M1)and(电影M1主题=科幻or惊悚or喜剧)。
规则三:基于电影公司给上班族推荐电影
对于某些大的电影公司出品的电影,很受上班族的喜爱,因此,可以设置规则,只要满足条件的电影公司出品的电影,就给上班族推荐,具体规则如下:
(电影公司Z1出品D1电影M1)and(人X1在L1城区Y1))and(电影院C1放映S1电影M1)and(电影公司Z1规模=世界排名前10)
需要说明的是,第一用户所配置的规则可以有很多,并且可以针对多种场景,例如还可以针对老年人推荐电影,针对大学生推荐电影等,在本发明实施例中,仅示例性地说明有上述三种规则的情况。另外,一个规则可以包括许多规则单元,也可以只包括一个规则单元。第一用户在配置规则的过程中,可以单纯根据自身需求来描述和配置,而不需要过多关注规则的运行效率或者规则的专业性等,因为在后面的处理过程中,基于本发明实施例的技术方案,会通过将规则提取为规则图以及规则树的过程,来对规则的表述进行优化,从而提高规则处理效率。
在规则配置的交互界面中,可以向第一用户提供基于三元组形式的输入框或者下拉选择菜单的方式来供第一用户配置规则单元,各个规则单元之间可以提供“or”或者“and”的逻辑运算符进行连接。此外,作为一种变形方式,也可以接收第一用户针对规则的整体描述,即用户用非专业的自然语言进行描述,然后上述的数据服务平台通过人工智能的方式进行文字识别分析,形成多个规则单元的逻辑组合。总之,在本发明实施例中,可以向第一用户提供更加简洁、便于操作的规则配置界面,而第一用户可以不用关系底层规则处理。
2)基于第一用户的配置的规则,生成规则图
生成规则图的目的在于对第一用户配置的规则进行预处理,以便于后面基于规则图来生成规则树。在生成规则图的阶段,可以认为与具体的查询请求没有直接关系。规则图可以基于用户配置的全部规则来生成,也可以基于当前的查询请求所涉及的规则来生成,这取决于具体的规则使用策略。在没有明确指定的前提下,可以以第一用户配置的全部规则来生成规则图,各个规则之间以or的关系进行连接。在规则图的生成过程中,可以将多个规则拆分为三元组形式的规则单元,按照规则单元间的逻辑关系,而生成规则图。也就是说,在基于规则生成规则图的过程中,对第一用户配置的规则进行重新梳理,从而便于后续的图数据的查询处理。
需要说明的是,规则图的生成可以是在接收到第二用户的具体查询请求后,根据该查询请求涉及的规则来生成规则图,也可以是预先生成好的。比如某个第一用户只提供固定的几种类型的查询服务,那么完全可以将这几种类型的查询服务涉及的规则,预先生成好规则图,然后当具体的查询请求到来时,而直接使用。
当然,本发明实施例提供的一种方式是,第一用户在配置了规则后赋予规则编号,查询请求中会携带规则编号,从而直到该查询请求涉及哪些规则,然后调取相关规则生成规则图。
如图2所示,其为本发明实施例的规则图的结构示意图,该规则图仍然以第一用户为票务公司,第二用户为购票的顾客作为示例,基于前述的第一用户所配置,可以生成如图2所示的规则图。规则中的人X1、电影M1、城区Y1、电影院C1、电影公司Z1均为实体,对应于规则图中的点,在L1、放映S1、出品D1均为实体间的关系,对应于规则图中的边。“(人X1年龄<10)”这个规则单元中,人X1的年龄是实体人X1的属性,“年龄<10”是对属性值的限定条件,属性和属性值对应于规则图的点的属性和属性值,一个实体可以由多个属性以及属性值,相应地,规则图中的点也具有多个属性以及属性值。在“(人X1性别=女)”中,人X1的性别为属性,具体是“男”或“女”为属性值,对应于规则图中人X1这个点的另一个属性和属性值。同理,电影M1具有类型属性、适合年龄的属性以及主题属性,基于规则的设定,分别具有对类型属性、适合年龄的属性值以及主题属性值的限定,这些内容会记录在规则图的点中,作为属性条件而存在。
如图2中所示,对于电影M1和人X1的点分别具有两个属性条件(属性条件X11、X12以及属性条件M11、M12),这是由于这两个点涉及了两个规则,整体上两个属性条件是or的关系,在后续生成规则树的过程中,会根据具体的查询请求而进行选择。
规则图是为了对第一用户配置的相关规则的优化和预处理。图中的各个点都可以配置各种属性以及针对属性值的限定条件,这些属性条件将会作为针对具体查询的筛选条件而存在。规则图可以是与查询目的无关的图,因此,也可以预先生成和存储。
3)基于规则图,结合查询请求的查询条件,生成规则树
规则树是基于规则图和查询请求而生成,因此,和具体的查询请求有直接关系。具体地,在接收到来自某个第二用户的具体查询请求后,将通过查询请求中携带的查询条件,可以确定出查询对象(例如针对某个用户(人)进行查询)和待查询的目标结果(例如电影),从而也就确定了入点(人X1)和出点(电影M1),然后通过对图的遍历,来获取入点到出点之间的路径,从而形成规则树。上述的查询条件例如可以为:“向用户名为“jenny”的小女孩推荐一部电影”,其中,通过用户名“jenny”可以获取到该第二用户的相关信息(在该第二用户允许获取其个人信息的前提下),从而可以获知该第二用户的年龄、居住地等信息,这些内容实际上也是作为查询条件的一部分。在获取到查询条件后,就知道了具体的查询目标,进而根据查询目标(根据人推荐电影)获知到了规则图的入点和出点,以便确定具体查询路径,另外,也获知图中一些点中的属性值,例如人的年龄、性别等等,从而能够根据图中各个点的属性条件进行筛选。如图3所示,其为基于前述的规则配置和规则图的示例,生成的规则树的示例性示意图。鉴于查询请求携带的条件为针对用户名“jenny”这个小女孩而进行电影推荐,则经过对规则图的遍历,就去除掉了与给上班族推荐电影的相关点、边以及属性条件,而只剩下与给小孩推荐电影的点、边以及属性条件。图3所示的规则树的箭头代表了查询推理的方向,即按照图中箭头所示的路径,从入点向出点进行查询推理,从而最终获取符合规则的查询结果。
从上面的示例可以看出,规则树实际上体现了图数据查询的推理关系逻辑,当生成规则树后,相当于生成了在图数据中的数据查询计划或者查询逻辑,因此也可以将规则树称作“计划树”。
下面再进一步说明一下,规则树可能存在的形态。如图4至图7所示,其为本发明实施例的几种示例性的规则树的形态,图4至图7中仅为了示出不同形态的规则树,并未涉及具体规则内容,因此,采用了与前面不同的节点编号。基于入点到出点之间的路径所形成的规则树为最基本的形态,连接入点到出点的路径称作规则树的主干,一个规则树可以由多个主干。规则树中的各个点的属性可以作为筛选条件而存在。另外,从入点出发最终未到达出点的路径作为规则树的旁枝,也同样是作为筛选条件而存在。如图4和图5所示,从入点A2到出点I2均存在两条以上的路径作为主干,并且图4和图5均存在旁枝。图4包括从入点A2经由点B2、D2、H2、L2直至出点I2的路径和从入点A2经由点B2、D2、J2、L2直至出点I2的路径,这两条路径都是图3所示规则图的主干。同理,图5包括从入点A2经由点B2、D2、H2、L2直至出点I2的路径、从入点A2经由点B2、D2、E2、H2、L2直至出点I2的路径、从入点A2经由点B2、D2、E2、G2、L2直至出点I2的路径、从入点A2经由点B2、D2、J2、L2直至出点I2的路径作为主干。另外,图4包括从点D2向点E2伸出的旁枝叶以及从点B2向点C2伸出的旁枝,图5中包括点E2向点F2伸出的旁枝和点B2向点C2伸出的旁枝。
此外,也会存在一些特殊情况,基于当前的规则配置,有可能无法满足查询请求,也就是无法找到从入点到出点的路径,那么,将会出现一个图生成分离的两个规则树的情形,一个只包含出点,如图6所示,另一个只包含入点,如图7所示。这种情况下,将这两个树都作为过滤条件,只要查询请求携带的查询条件通过了过滤条件,仍然为第二用户推荐查询结果。只不过,在这种情况下,推荐的查询结果有可能并不满足第二用户的实际需求。以前面的电影推荐为例,可能推荐的电影并不在第二用户所在的区域放映。
4)基于规则树生成图数据查询代码
规则树生成好后,相当于查询逻辑或者查询计划已经确定。之后,就可以基于不同的图数据库,选择适配的语言来生成具体的查询代码即可。换言之,本发明的规则图和规则树的中间数据处理,与具体图数据库和查询语言无关,具有一定的通用性,在生成规则树后,可以转换为任意图数据查询语言来进行执行。例如可以将规则树转换为Neo4j(是一个开源的NOSQL(不仅仅是SQL)图形数据库)、gbp(阿里云开发的图数据库)、maxgraph(一种开源的分布式图数据库)等图数据处理语言。
当执行完具体的查询代码后,就可以获取到查询结果,并向发出查询请求的第二用户返回查询结果。需要说明的是,上述的查询请求可以进行广义的理解,例如,一些商家(第一用户)会主动向用户推送一些商品,这样的处理是可以基于顾客(第二用户)上线而触发,即用户的登录行为或者登录请求,就可以视为一个查询请求,其携带的用户身份信息就可以基本的查询条件,从而向用户主动推荐一些内容。
以上以电影搜索和推荐作为示例来说明本发明实施例的图数据的查询处理方法,实际上,上述技术可以应用于其他方面智能搜索、智能问答、个性化推荐、内容分发等。与电影类似的还可以搜索和推荐短视频、教育资源、新闻、音乐、图书游戏等,另外,还可以以用于电商网购方面的推荐,基于用户自身的特点来推荐适合的商品,此外,还以应用于餐饮娱乐等方面的生活场景的推荐,将用户自身特征和地域特征相结合进行推荐。此外,还可以应用于云计算服务,通过基于规则图和规则树的中间数据处理来简化云计算处理,另外,在医疗方面,例如可以根据药物临床试验情况以及药物本身特性结合病人的病情特征之类的信息给病人推荐药物或者治疗方案等。本发明实施例通过基于规则图和规则树的中间数据处理,将第一用户配置的复杂规则进行了梳理,并且结合具体的查询请求,对规则进行了提前过滤,缩减了中间计算数据量,大大提高图数据查询推理的性能。另外,规则图和规则树处理,屏蔽了图数据库的类型以及查询语言,因此,具有通用性,可以实现灵活对接各种图数据查询语言和数据库。
实施例一
如图8所示,其为本发明实施例的图数据的查询处理方法的流程示意图,该方法可以应用于前述的提供图数据查询服务的数据服务平台上,该方法包括:
S101:响应于查询请求,获取该查询请求对应的规则图,规则图包括查询请求相关的一个或者多个规则的组合。其中,各个规则可以由三元组形式的规则单元组成,各个规则单元之间通过逻辑关系符连接。用户可以通过规则配置的交互界面,进行规则配置操作,生成多个以三元组形式规则单元,进而通过逻辑关系符连接各个规则单元以形成规则。这里所说的用户对应于前述的第一用户,是查询规则的配置方,其目的是向发出查询请求的第二用户提供数据查询服务。
相应地,在生成规则图的过程中,也可以将多个规则拆分为三元组形式的规则单元,按照规则单元间的逻辑关系,生成规则图,其中,三元组包括对实体间的关系的描述和/或对实体的属性的描述,实体对应于规则图中的点,关系对应于规则图中的边,实体的属性对应于规则图中的点的属性。
规则图是为了对第一用户配置的相关规则的优化和预处理。图中的各个点都可以配置各种属性以及针对属性值的限定条件,这些属性条件将会作为针对具体查询的筛选条件而存在。规则图可以是与查询目的无关的图,因此,也可以预先生成和存储。
在该步骤中,规则图也可以是接收到查询请求后,调取相关规则,然后再生成的。例如,作为一种实现方式,查询请求中携带有规则编号,从而在收到查询请求后,可以根据规则编号调取与该查询请求相关的一个或者多个规则,进而再生成规则图。
S102:根据查询请求中携带的查询条件,遍历规则图,生成一个或者多个规则树,规则树至少包括了查询条件中的查询对象和待查询的目标结果之间的推理关系。这里所说的推理关系是指,基于规则树建立的从查询对象到目标结果所经历的路径,路径可能会有多条,这些路径体现了查询对象到目标结果之间的逻辑关系,即如何通过查询对象一步一步的关联到目标结果。
具体地,在生成规则图的基础上,结合查询请求中的查询条件,可以确定查询的入点和出点,然后基于入点和出点遍历规则图,获取从入点到出点的一条或多条路径来生成规则树,其中,入点对应于查询对象,出点对应于待查询的目标结果。另外,各点的属性也可以作为图数据检索的过滤条件。
进一步地,除了入点到出点的路径外,在生成规则树的过程中,还可以将从入点出发最终未到达出点的路径作为附加的过滤条件用于图数据的查询处理。在这种情况下,将从入点到出点的路径作为规则树的主干,将从入点出发最终未到达出点的路径作为规则树的旁枝,从而形成规则树。
此外,还会存在一种情形,在基于入点和出点遍历规则图过程中,如果未获取到从入点到出点的路径,则基于获取到的路径分别生成包含入点而缺少出点的第一规则树和包含出点而缺少入点的第二规则树。这种情况,实际上是说明基于当前的规则配置,无法查询到符合规则的结果,不过为了不影响用户体验,仍然会进行图数据查询,并返回查询结果。在这种情况下,将两个规则树均视为过滤条件,从而尽量从图数据库中筛选出相关的查询结果。
S103:根据规则树生成图数据查询代码并执行,从而在图数据库中进行查询处理。在该步骤中,将会基于规则树中点、边以及属性条件等形成的逻辑关系,来生成查询代码。具体地,入点到出点的路径(即主干部分)为最基本的推理关系,因此,会以从入点到出点的路径作为推理关系生成与待查询的图数据库对应的图数据查询代码,如果存在从入点到出点的多条路径,则多条路径作为合并条件共同作为推理关系,生成图数据查询代码。此外,在生成图数据查询代码的过程中,点的属性也可以作为第一过滤条件而包含在代码中。进一步地,如前一步骤所介绍的,生成规则树还可能会包括旁枝,旁枝可以作为第二过滤条件,加入到图数据查询代码中。
此外,如前一步骤涉及的特殊情形,由于遍历规则图后,未获取到从入点到出点的路径,则生成了包含入点而缺少出点的第一规则树和包含出点而缺少入点的第二规则树。针对这种情况,在生成图数据查询的过程中,将第一规则树和第二规则树均作为过滤条件(这里称作第三过滤条件),来生成图数据查询代码。
图数据查询代码可以根据图数据库的格式而定,即针对不同类型的图数据库可以生成不同的图数据查询代码,规则树形成的是查询推理逻辑,与具体的图数据库的形态无关,因此,具有通用性和可扩展性。
在生成了图数据查询代码后,通过执行该代码来获取查询结果,并返回给发出查询请求的第二用户。作为第二用户而言,整个处理过程可以是不可见的。
综上,本发明实施例通过基于规则图和规则树的中间数据处理,将第一用户配置的复杂规则进行了梳理,并且结合具体的查询请求,对规则进行了提前过滤,缩减了中间计算数据量,大大提高图数据查询推理的性能。另外,规则图和规则树处理,屏蔽了图数据库的类型以及查询语言,因此,具有通用性,可以实现灵活对接各种图数据查询语言和数据库。
实施例二
如图9所示,其为本发明实施例的图数据的查询处理装置的结构示意图,该装置可以设置于前述的提供图数据查询服务的数据服务平台上,该装置包括:
规则图处理模块11,用于响应于查询请求,获取该查询请求对应的规则图,规则图包括查询请求相关的一个或者多个规则的组合。
其中,各个规则可以由三元组形式的规则单元组成,各个规则单元之间通过逻辑关系符连接。用户可以通过规则配置的交互界面,进行规则配置操作,生成多个以三元组形式规则单元,进而通过逻辑关系符连接各个规则单元以形成规则。这里所说的用户对应于前述的第一用户,是查询规则的配置方,其目的是向发出查询请求的第二用户提供数据查询服务。
相应地,在生成规则图的过程中,也可以将多个规则拆分为三元组形式的规则单元,按照规则单元间的逻辑关系,生成规则图,其中,三元组包括对实体间的关系的描述和/或对实体的属性的描述,实体对应于规则图中的点,关系对应于规则图中的边,实体的属性对应于规则图中的点的属性。
规则图是为了对第一用户配置的相关规则的优化和预处理。图中的各个点都可以配置各种属性以及针对属性值的限定条件,这些属性条件将会作为针对具体查询的筛选条件而存在。规则图可以是与查询目的无关的图,因此,也可以预先生成和存储。
另外,规则图也可以是接收到查询请求后,调取相关规则,然后再生成的。例如,作为一种实现方式,查询请求中携带有规则编号,从而在收到查询请求后,可以根据规则编号调取与该查询请求相关的一个或者多个规则,进而再生成规则图。
规则树处理模块12,模块根据查询请求中携带的查询条件,遍历规则图,生成一个或者多个规则树,规则树至少包括了查询条件中的查询对象和待查询的目标结果之间的推理关系。
具体地,在生成规则图的基础上,结合查询请求中的查询条件,可以确定查询的入点和出点,然后基于入点和出点遍历规则图,获取从入点到出点的一条或多条路径来生成规则树,其中,入点对应于查询对象,出点对应于待查询的目标结果。另外,各点的属性也可以作为图数据检索的过滤条件。
进一步地,除了入点到出点的路径外,在生成规则树的过程中,还可以将从入点出发最终未到达出点的路径作为附加的过滤条件用于图数据的查询处理。在这种情况下,将从入点到出点的路径作为规则树的主干,将从入点出发最终未到达出点的路径作为规则树的旁枝,从而形成规则树。
此外,还会存在一种情形,在基于入点和出点遍历规则图过程中,如果未获取到从入点到出点的路径,则基于获取到的路径分别生成包含入点而缺少出点的第一规则树和包含出点而缺少入点的第二规则树。这种情况,实际上是说明基于当前的规则配置,无法查询到符合规则的结果,不过为了不影响用户体验,仍然会进行图数据查询,并返回查询结果。在这种情况下,将两个规则树均视为过滤条件,从而尽量从图数据库中筛选出相关的查询结果。
查询代码处理模块13,用于根据规则树生成图数据查询代码并执行,从而在图数据库中进行查询处理。
在该模块的处理中,将会基于规则树中点、边以及属性条件等形成的逻辑关系,来生成查询代码。具体地,入点到出点的路径(即主干部分)为最基本的推理关系,因此,会以从入点到出点的路径作为推理关系生成与待查询的图数据库对应的图数据查询代码,如果存在从入点到出点的多条路径,则多条路径作为合并条件共同作为推理关系,生成图数据查询代码。此外,在生成图数据查询代码的过程中,点的属性也可以作为第一过滤条件而包含在代码中。进一步地,如前面所介绍的,生成规则树还可能会包括旁枝,旁枝可以作为第二过滤条件,加入到图数据查询代码中。
此外,如前述的特殊情形,由于遍历规则图后,未获取到从入点到出点的路径,则生成了包含入点而缺少出点的第一规则树和包含出点而缺少入点的第二规则树。针对这种情况,在生成图数据查询的过程中,将第一规则树和第二规则树均作为过滤条件(这里称作第三过滤条件),来生成图数据查询代码。
对于上述处理过程具体说明、技术原理详细说明以及技术效果详细分析在前面实施例中进行了详细描述,在此不再赘述。
综上,本发明实施例通过基于规则图和规则树的中间数据处理,将第一用户配置的复杂规则进行了梳理,并且结合具体的查询请求,对规则进行了提前过滤,缩减了中间计算数据量,大大提高图数据查询推理的性能。另外,规则图和规则树处理,屏蔽了图数据库的类型以及查询语言,因此,具有通用性,可以实现灵活对接各种图数据查询语言和数据库。
实施例三
前面实施例描述了图数据的查询的流程处理及装置结构,上述的方法和装置的功能可借助一种电子设备实现完成,如图10所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器110和处理器120。
存储器110,用于存储程序。
除上述程序之外,存储器110还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器110可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器120,耦合至存储器110,用于执行存储器110中的程序,以执行前述实施例中所描述的图数据的查询处理方法的操作步骤。
此外,处理器120也可以包括前述实施例所描述的各种模块以执行图数据的查询的处理,并且存储器110可以例如用于存储这些模块执行操作所需要的数据和/或所输出的数据。
对于上述处理过程具体说明、技术原理详细说明以及技术效果详细分析在前面实施例中进行了详细描述,在此不再赘述。
进一步,如图所示,电子设备还可以包括:通信组件130、电源组件140、音频组件150、显示器160等其它组件。图中仅示意性给出部分组件,并不意味着电子设备只包括图中所示组件。
通信组件130被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件130经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件130还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件140,为电子设备的各种组件提供电力。电源组件140可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件150被配置为输出和/或输入音频信号。例如,音频组件150包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器110或经由通信组件130发送。在一些实施例中,音频组件150还包括一个扬声器,用于输出音频信号。
显示器160包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (13)

1.一种图数据的查询处理方法,包括:
响应于第二用户向数据服务平台发起查询请求,获取该查询请求对应的规则图,所述规则图包括所述查询请求相关的一个或者多个规则的组合;所述一个或多个规则由第一用户预先配置;
根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树,所述规则树至少包括了查询条件中的查询对象和待查询的目标结果之间的推理关系;
根据规则树生成图数据查询代码并执行,从而在图数据库中进行查询处理;
其中,响应于第二用户的查询请求,获取该查询请求对应的规则图包括:根据所述查询请求,获取与该查询请求相关的一个或者多个规则;将所述多个规则拆分为三元组形式的规则单元,按照规则单元间的逻辑关系,生成所述规则图,其中,所述三元组包括对实体间的关系的描述和/或对实体的属性的描述,所述实体对应于所述规则图中的点,所述关系对应于所述规则图中的边,所述实体的属性对应于所述规则图中的点的属性。
2.根据权利要求1所述的方法,其中,所述查询请求中携带有规则编号,所述根据所述查询请求,获取与该查询请求相关的一个或者多个规则包括:
根据所述规则编号调取与该查询请求相关的一个或者多个规则。
3.根据权利要求1所述的方法,其中,根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树包括:
根据所述查询请求确定查询的入点和出点,基于所述入点和出点遍历所述规则图,获取从入点到出点的一条或多条路径来生成所述规则树,其中,所述入点对应于查询对象,所述出点对应于待查询的目标结果。
4.根据权利要求3所述的方法,其中,在生成所述规则树的过程中,将从入点到出点的路径作为所述规则树的主干,将从入点出发最终未到达出点的路径作为规则树的旁枝。
5.根据权利要求1所述的方法,其中,根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树包括:
根据所述查询请求确定查询的入点和出点,基于所述入点和出点遍历所述规则图,如果未获取到从入点到出点的路径,则基于获取到的路径分别生成包含入点而缺少出点的第一规则树和包含出点而缺少入点的第二规则树,其中,所述入点对应于查询对象,所述出点对应于待查询的目标结果。
6.根据权利要求3所述的方法,其中,所述根据规则树生成图数据查询代码包括:
基于所述规则树,以从入点到出点的路径作为推理关系或者以所述入点到出点的路径作为推理关系并且以所述点的属性作为第一过滤条件,生成与待查询的图数据库对应的图数据查询代码。
7.根据权利要求4所述的方法,其中,所述根据规则树生成图数据查询代码包括:基于所述规则树,以从入点到出点的路径作为推理关系或者以所述入点到出点的路径作为推理关系且以所述点的属性作为第一过滤条件,将所述旁枝作为第二过滤条件,生成与待查询的图数据库对应的图数据查询代码。
8.根据权利要求6所述的方法,其中,在规则树中,如果存在从入点到出点的多条路径,则多条路径作为合并条件共同作为推理关系,生成图数据查询代码。
9.根据权利要求5所述的方法,其中,所述根据规则树生成图数据查询代码包括:将所述第一规则树和所述第二规则树作为第三过滤条件,生成图数据查询代码。
10.根据权利要求1所述的方法,其中,还包括响应于用户的规则配置操作,生成多条以三元组形式规则单元而配置的规则,各个规则单元之间通过逻辑关系符连接。
11.一种图数据的查询处理装置,包括:
规则图处理模块,用于响应于第二用户向数据服务平台发起查询请求,获取该查询请求对应的规则图,所述规则图包括所述查询请求相关的一个或者多个规则的组合;所述一个或多个规则由第一用户预先配置;
规则树处理模块,模块根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树,所述规则树至少包括了查询条件中的查询对象和待查询的目标结果之间的推理关系;
查询代码处理模块,用于根据规则树生成图数据查询代码并执行,从而在图数据库中进行查询处理;
其中,响应于第二用户的查询请求,获取该查询请求对应的规则图包括:根据所述查询请求,获取与该查询请求相关的一个或者多个规则;将所述多个规则拆分为三元组形式的规则单元,按照规则单元间的逻辑关系,生成所述规则图,其中,所述三元组包括对实体间的关系的描述和/或对实体的属性的描述,所述实体对应于所述规则图中的点,所述关系对应于所述规则图中的边,所述实体的属性对应于所述规则图中的点的属性。
12.根据权利要求11所述的装置,其中,根据所述查询请求中携带的查询条件,遍历所述规则图,生成一个或者多个规则树包括:
根据所述查询请求确定查询的入点和出点,基于所述入点和出点遍历所述规则图,获取从入点到出点的一条或多条路径来生成所述规则树,其中,所述入点对应于查询对象,所述出点对应于待查询的目标结果。
13.一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行权利要求1至10任一项所述的图数据的查询处理方法。
CN202010120772.4A 2020-02-26 2020-02-26 图数据的查询处理方法、装置及电子设备 Active CN113312384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010120772.4A CN113312384B (zh) 2020-02-26 2020-02-26 图数据的查询处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010120772.4A CN113312384B (zh) 2020-02-26 2020-02-26 图数据的查询处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113312384A CN113312384A (zh) 2021-08-27
CN113312384B true CN113312384B (zh) 2023-12-26

Family

ID=77370755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010120772.4A Active CN113312384B (zh) 2020-02-26 2020-02-26 图数据的查询处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113312384B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693310A (zh) * 2012-05-28 2012-09-26 无锡成电科大科技发展有限公司 一种基于关系数据库的资源描述框架查询方法和系统
CN104391730A (zh) * 2014-08-03 2015-03-04 浙江网新恒天软件有限公司 一种软件源码语言翻译系统及方法
CN105117421A (zh) * 2015-07-31 2015-12-02 四川长虹电器股份有限公司 基于图结构匹配的社交网络分析方法
CN106570007A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 用于分布式缓存系统数据同步的方法和设备
CN107609016A (zh) * 2017-08-03 2018-01-19 南京南瑞集团公司 基于表达式解析的电力交易数据准确性校验方法
WO2018019023A1 (zh) * 2016-07-27 2018-02-01 腾讯科技(深圳)有限公司 一种数据容灾方法、装置和系统
CN109271160A (zh) * 2018-09-29 2019-01-25 北京京东金融科技控股有限公司 活动规则组建方法、装置和计算机系统、介质
CN110362594A (zh) * 2019-07-15 2019-10-22 阿里巴巴集团控股有限公司 一种信息处理方法和系统
CN110555153A (zh) * 2019-08-20 2019-12-10 暨南大学 一种基于领域知识图谱的问答系统及其构建方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379941B2 (en) * 2003-09-13 2008-05-27 Compumine Ab Method for efficiently checking coverage of rules derived from a logical theory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693310A (zh) * 2012-05-28 2012-09-26 无锡成电科大科技发展有限公司 一种基于关系数据库的资源描述框架查询方法和系统
CN104391730A (zh) * 2014-08-03 2015-03-04 浙江网新恒天软件有限公司 一种软件源码语言翻译系统及方法
CN105117421A (zh) * 2015-07-31 2015-12-02 四川长虹电器股份有限公司 基于图结构匹配的社交网络分析方法
CN106570007A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 用于分布式缓存系统数据同步的方法和设备
WO2018019023A1 (zh) * 2016-07-27 2018-02-01 腾讯科技(深圳)有限公司 一种数据容灾方法、装置和系统
CN107609016A (zh) * 2017-08-03 2018-01-19 南京南瑞集团公司 基于表达式解析的电力交易数据准确性校验方法
CN109271160A (zh) * 2018-09-29 2019-01-25 北京京东金融科技控股有限公司 活动规则组建方法、装置和计算机系统、介质
CN110362594A (zh) * 2019-07-15 2019-10-22 阿里巴巴集团控股有限公司 一种信息处理方法和系统
CN110555153A (zh) * 2019-08-20 2019-12-10 暨南大学 一种基于领域知识图谱的问答系统及其构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
遥感数据异地备份中数据一致性方法研究与实现;程艳娜;李安;冯钟葵;陈俊;唐梦辉;;遥感信息(01);全文 *

Also Published As

Publication number Publication date
CN113312384A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
US11921798B2 (en) Generating a contextual search stream
US20210173834A1 (en) Method and system for capturing and exploiting user intent in a conversational interaction based information retrieval system
US20220067115A1 (en) Information processing method, apparatus, electrical device and readable storage medium
US11855988B2 (en) Synchronizing access controls between computing devices
US9286414B2 (en) Data discovery and description service
US20130166565A1 (en) Interest based social network system
US20200334377A1 (en) User interface for building a data privacy pipeline and contractual agreement to share data
US10970322B2 (en) Training an artificial intelligence to generate an answer to a query based on an answer table pattern
US20220114187A1 (en) Techniques for searching using target applications
CN109635271A (zh) 一种用户意图识别方法、客服服务系统、装置及电子设备
US20120110073A1 (en) Social network informed mashup creation
US20160267392A1 (en) Providing answers to questions having both rankable and probabilistic components
Zhu et al. Cyber-physical-social-thinking modeling and computing for geological information service system
US20190348029A1 (en) Activation of remote devices in a networked system
US20240061897A1 (en) Curated Result Finder
US20150242961A1 (en) Enriched financial transaction records
US20190266617A1 (en) Reader reaction learning-based article cataloging management
Li et al. Intelligent control system of smart home for context awareness
CN112818195A (zh) 数据获取方法、装置、系统及计算机存储介质
CN113312384B (zh) 图数据的查询处理方法、装置及电子设备
CN106817394A (zh) 传输产品配置参数的方法和服务器
CN110347922A (zh) 基于相似度的推荐方法、装置、设备和存储介质
WO2020226619A1 (en) Rendering visual components on applications in response to voice commands
Athanasopoulos et al. Service selection for happy users: making user-intuitive quality abstractions
US20240062076A1 (en) Graph database implemented knowledge mesh

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40058049

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant