CN113468383A - 家族关系图谱的搜索方法、装置、电子设备及存储介质 - Google Patents
家族关系图谱的搜索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113468383A CN113468383A CN202110815312.8A CN202110815312A CN113468383A CN 113468383 A CN113468383 A CN 113468383A CN 202110815312 A CN202110815312 A CN 202110815312A CN 113468383 A CN113468383 A CN 113468383A
- Authority
- CN
- China
- Prior art keywords
- family
- target
- search
- relationship
- algebra
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种家族关系图谱的搜索方法、装置、电子设备及存储介质,包括接收用于获取目标请求对象的目标家族关系图谱的搜索请求,搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数,根据身份标识和家族代数,从预先构建好的家族关系数据库中确定目标搜索对象,根据目标搜索对象与目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数,从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于搜索代数之内的全部目标家族对象,以形成目标请求对象的目标家族关系图谱,这样能够解决由于家族关系数据数量级别大而导致查询效率变慢的问题,达到高效搜索的效果。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种家族关系图谱的搜索方法、装置、电子设备及存储介质。
背景技术
目前,家族关系图谱可以用来表示同一个家族内的各个家族成员之间的关系。但是在当今社会,会产生大量的家族关系数据,海量的家族关系数据在存储的时候,会由于数量级别大,导致查询效率变慢。
发明内容
有鉴于此,本申请的目的在于提供一种家族关系图谱的搜索方法、装置、电子设备及存储介质,能够基于预先构建好的家族关系数据库,按照先向上代搜索确定搜索根节点,再向下代搜索确定家族关系图谱,在一定程度上解决现有技术中存在的由于家族关系数据数量级别大而导致查询效率变慢的问题,达到高效搜索的效果。
第一方面,本申请实施例提供了一种家族关系图谱的搜索方法,所述搜索方法包括:
接收用于获取目标请求对象的目标家族关系图谱的搜索请求,所述搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数;
根据所述身份标识和所述家族代数,从预先构建好的家族关系数据库中确定目标搜索对象;
根据所述目标搜索对象与所述目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数;
从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成所述目标请求对象的目标家族关系图谱;
输出所述目标请求对象的目标家族关系图谱。
可选地,所述家族代数包括目标请求对象在目标家族关系图谱中所处的代数以及以目标请求对象为基准的向上代数和向下代数,所述搜索请求中还携带有第一家族关系标识;
其中,根据所述身份标识和所述家族代数,从预先构建好的家族关系数据库中确定目标搜索对象的步骤包括:
依据目标请求对象的身份标识和第一家族关系标识,从预先构建好的家族关系数据库中确定目标搜索对象,所述目标搜索对象为与目标请求对象处于向上代数之内的家族对象中辈分最高的家族对象。
可选地,所述第一家族关系标识用于表征由低辈分指向高辈分的家族关系,所述第一家族关系标识包括子父关系标识、女父关系标识、子母关系标识和女母关系标识,
其中,子父关系标识的使用优先级和女父关系标识的使用优先级相同,子母关系标识使用优先级和女母关系标识的使用优先级相同,且子父关系标识的使用优先级高于子母关系标识的使用优先级,女父关系标识的使用优先级高于女母关系标识的使用优先级。
可选地,根据所述目标搜索对象与所述目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数的步骤包括:
判断目标搜索对象所处的代数与所述向上代数所指示的最高辈分的家族对象所处的代数是否一致;
若一致,则将家族代数确定为所述搜索代数;
若不一致,则确定最高辈分的家族对象所处的代数与目标搜索对象所处的代数的差值,将家族代数与所述差值的差值确定为所述搜索代数。
可选地,所述家族关系数据库以关系树结构的形式被构建,通过以下方式构建所述关系树结构:
将每个家族对象确定为关系树结构中的一个节点,通过边将存在家族关系的两个节点进行连接,以表示通过边连接的两个家族对象之间存在家族关系;
每条边的内容中包括通过边相连接的两个家族对象之间的用于表征由低辈分指向高辈分的家族关系的第一家族关系标识和用于表征由高辈分指向低辈分的家族关系的第二家族关系标识;
每个节点的内容中包括家族对象的身份标识。
可选地,从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成所述目标请求对象的目标家族关系图谱的步骤包括:
依据目标搜索对象的身份标识和第二家族关系标识,以目标搜索对象为搜索根节点,从预先构建好的家族关系数据库中确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成目标家族关系图谱。
可选地,第二家族关系标识包括父子关系标识、父女关系标识、母子关系标识、母女关系标识、配偶关系标识和离异关系标识。
第二方面,本申请实施例还提供了一种家族关系图谱的搜索装置,所述搜索装置包括:
请求接收模块,用于接收用于获取目标请求对象的目标家族关系图谱的搜索请求,所述搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数;
对象确定模块,用于根据所述身份标识和所述家族代数,从预先构建好的家族关系数据库中确定目标搜索对象;
代数确定模块,用于根据所述目标搜索对象与所述目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数;
图谱形成模块,用于从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成所述目标请求对象的目标家族关系图谱;
图谱输出模块,用于输出所述目标请求对象的目标家族关系图谱。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的家族关系图谱的搜索方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的家族关系图谱的搜索方法的步骤。
本申请实施例提供了一种家族关系图谱的搜索方法、装置、电子设备及存储介质,其中,搜索方法包括:接收用于获取目标请求对象的目标家族关系图谱的搜索请求,搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数,根据身份标识和家族代数,从预先构建好的家族关系数据库中确定目标搜索对象,根据目标搜索对象与目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数,从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于搜索代数之内的全部目标家族对象,以形成目标请求对象的目标家族关系图谱,输出目标请求对象的目标家族关系图谱。
这样一来,与现有技术中的海量家族关系数据在存储的时候,会由于数量级别大,导致查询效率变慢的问题相比,本申请能够根据目标请求对象的身份标识和目标家族关系图谱所指示的家族代数,从预先构建好的家族关系数据库中确定目标搜索对象,然后以目标搜索对象为搜索根节点,在家族关系数据库中按照从上代往下代的顺序依次进行搜索,直至完成目标家族关系图谱所指示的家族代数的全部搜索,以得到目标请求对象的目标家族关系图谱,进而在一定程度上解决查询效率慢的问题,以达到高效搜索的效果。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种家族关系图谱的搜索方法的流程图;
图2为本申请实施例所提供的另一种家族关系图谱的搜索方法的流程图;
图3为本申请实施例所提供的一种家族关系图谱的搜索结果示意图;
图4为本申请实施例所提供的一种家族关系图谱的搜索装置的结构示意图;
图5为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于家族关系图谱搜索上。家族关系图谱中完整地记录了家庭中各成员与其他成员之间的关系,任意两个成员间的关系都是已知的,是一种全量的家族关系,但是在当今社会,会产生大量的家族关系数据,海量的家族关系数据在存储的时候,会由于数量级别大,导致查询效率变慢。
基于此,本申请实施例提供了一种家族关系图谱的搜索方法、装置、电子设备及存储介质,在一定程度上解决查询效率慢的问题,以达到高效搜索的效果。
请参阅图1,图1为本申请实施例所提供的一种家族关系图谱的搜索方法的流程图。如图1中所示,本申请实施例提供的搜索方法,包括:
S110、接收用于获取目标请求对象的目标家族关系图谱的搜索请求,搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数;
S120、根据身份标识和家族代数,从预先构建好的家族关系数据库中确定目标搜索对象;
S130、根据目标搜索对象与目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数;
S140、从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于搜索代数之内的全部目标家族对象,以形成目标请求对象的目标家族关系图谱;
S150、输出目标请求对象的目标家族关系图谱。
需要说明的是,在家族关系数据库中进行家族关系图谱搜索前,需要将家族关系数据库预先构建好,这样,使用该数据库存储家族关系数据时,可以根据预先构建好的索引进行存储,以便于数据查询的时候更加高效,这里的索引即为搜索关键词。其中,家族关系数据库存储在服务器上。
优选地,家族关系数据库以关系树结构的形式被构建,通过以下方式构建关系树结构:
将每个家族对象确定为关系树结构中的一个节点,通过边将存在家族关系的两个节点进行连接,以表示通过边连接的两个家族对象之间存在家族关系;每条边的内容中包括通过边相连接的两个家族对象之间的用于表征由低辈分指向高辈分的家族关系的第一家族关系标识和用于表征由高辈分指向低辈分的家族关系的第二家族关系标识;每个节点的内容中包括家族对象的身份标识。
这里,由边连接的两个节点(节点用于存储家族对象的身份标识)之间存在两种家族关系,一种是由低辈分指向高辈分的第一家族关系,如子父关系、子母关系、女父关系和女母关系;另一种是由高辈分指向低辈分的第二家族关系,如父子关系、父女关系、母子关系、母女关系、配偶关系和离异关系;这样,在向上代搜索时,可以基于第一家族关系,在向下代搜索时,可以基于第二家族关系。
举例说明,本申请实施例中的家族关系数据库可以指用于存储家族关系数据的数据库,由于存在大量的家族关系数据,本申请实施例在存储的时候选择Hbase数据库,该数据库是一个分布式的、面向列的开源数据库,可以搭建大规模结构化存储集群,支持数据的高效存储与查询。在该数据库中以关系树结构的形式存储家族关系数据,以使家族关系图谱在被搜索后也以关系树结构的形式展现。
在步骤S110中,目标请求对象指的是要获取其目标家族关系图谱的用户,可以根据实际需求来确定,搜索请求指的是搜索者的查询意图,包括用户在搜索引擎键入某个关键词搜索并试图取得返回结果的过程,搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数,通过身份标识和家族代数完成搜索过程。其中,身份标识指的是用于识别目标请求对象身份的标识,这里的身份标识可以为身份证号;家族代数用于指目标家族关系图谱中的家族辈分所对应的数量,家族代数可以包括目标请求对象在目标家族关系图谱中所处的代数以及以目标请求对象为基准的向上代数和向下代数,其中,目标请求对象在目标家族关系图谱中所处的代数为一代,例如,从自己算起,往上数至父母为两代,至祖父母、外祖父母为三代,至曾祖父母、外曾祖父母为四代,依次类推;往下数至子女为两代,至孙子女为三代,至曾孙子女为四代,依次类推,进而,目标家族关系图谱的家族代数包括指定的所有人所在的家族辈分之和,如子女至祖父母的家族代数为4代,孙子女至祖父母的家族代数为5代等。
在步骤S120中,当家族代数包括目标请求对象在目标家族关系图谱中所处的代数以及以目标请求对象为基准的向上代数和向下代数,搜索请求中还携带有第一家族关系标识时,步骤S120包括:依据目标请求对象的身份标识和第一家族关系标识,从预先构建好的家族关系数据库中确定目标搜索对象,目标搜索对象为与目标请求对象处于向上代数之内的家族对象中辈分最高的家族对象。
这里,第一家族关系标识用于表征由低辈分指向高辈分的家族关系,第一家族关系标识可以包括子父关系标识、女父关系标识、子母关系标识和女母关系标识。
本申请实施例中,将目标请求对象的身份标识和第一家族关系标识组成第一搜索关键词,在家族关系数据库中进行搜索,根据以目标请求对象为基准的向上代数,确定在家族关系数据库中进行搜索的搜索次数,直至找到与目标请求对象处于向上代数之内的家族对象中辈分最高的家族对象,将该家族对象确定为目标搜索对象。
其中,在家族关系数据库中进行搜索以确定目标搜索对象时,第一家族关系标识中包括的子父关系标识、女父关系标识、子母关系标识和女母关系标识是有使用优先级的,其中,子父关系标识的使用优先级和女父关系标识的使用优先级相同,子母关系标识使用优先级和女母关系标识的使用优先级相同,且子父关系标识的使用优先级高于子母关系标识的使用优先级,女父关系标识的使用优先级高于女母关系标识的使用优先级。
举例说明,假设目标请求对象为我(男),要查询我的上下两代,根据我的身份标识和子父关系标识,在家族关系数据库中进行搜索,判断是否存在我的父亲,若不存在,则将我确定为目标搜索对象;若存在,则继续根据我父亲的身份标识和子父关系标识,在家族关系数据库中进行搜索,判断是否存在我的祖父,若存在,则确定我的祖父为目标搜索对象;若不存在,则确定我的父亲为目标搜索对象,然后以确定出的目标搜索对象为搜索根节点,在家族关系数据库中进行遍历搜索,在达到搜索次数后,再根据我的身份标识和子母关系标识,在家族关系数据库中进行搜索,判断是否存在我的母亲,若不存在,则将我确定为目标搜索对象;若存在,则继续根据我母亲的身份标识和子父关系标识,在家族关系数据库中进行搜索,判断是否存在我的外祖父,若存在,则确定我的外祖父为目标搜索对象;若不存在,则将我的母亲以及我母亲的配偶作为目标搜索对象,然后以确定出的目标搜索对象为搜索根节点,在家族关系数据库中进行遍历搜索,直至得到我的家族关系图谱。
这里,需要说明的是,对于重复的搜索过程,只执行一次,比如,如果不存在祖父和外祖父,且不存在父亲和母亲的情况下,以我为根节点进行搜索时,只在家族关系数据库中搜索一次。
在步骤S130中,搜索代数指的是以目标搜索对象为搜索根节点,在家族关系数据中进行搜索的家族代数。
在本申请实施例中,作为一种优选的实施例,步骤S130包括:判断目标搜索对象所处的代数与向上代数所指示的最高辈分的家族对象所处的代数是否一致;若一致,则将家族代数确定为搜索代数;若不一致,则确定最高辈分的家族对象所处的代数与目标搜索对象所处的代数的差值,将家族代数与所述差值的差值确定为搜索代数。
这里,当目标搜索对象所处的代数与向上代数所指示的最高辈分的家族对象所处的代数不一致时,确定向上代数所指示的最高辈分的家族对象所处的代数与目标搜索对象所处的代数的差值,用预先确定的目标家族关系图谱的家族代数减去该差值,即可得到搜索代数。
举例说明,假设目标请求对象为我,要查询我的上下两代,则预先确定出的目标家族关系图谱的家族代数应该为5代,在确定目标搜索对象时,若确定出的目标搜索对象为祖父和/或外祖父,此时,搜索代数和目标家族关系图谱的家族代数相同,均为5代,最终确定出的目标家族关系图谱的家族代数不变;若确定出的目标搜索对象为父亲和/或母亲,则搜索代数与目标家族关系图谱的家族代数不相同,此时,搜索代数为4代,且在此种情况下,最终得到的目标家族关系图谱的家族代数更换为与搜索代数相同,即最终得到的目标家族关系图谱的家族代数为4代。
在步骤S140中,以目标搜索对象的身份标识和第二家族关系标识为第二搜索关键词,以目标搜索对象为搜索根节点,从预先构建好的关系树形式的家族关系数据库中进行搜索,确定与目标搜索对象处于搜索代数之内的全部目标家族对象,以形成目标家族关系图谱。
这里,第二家族关系标识包括父子关系标识、父女关系标识、母子关系标识、母女关系标识、配偶关系标识和离异关系标识。
具体地,在家族关系数据库中进行目标家族关系图谱搜索时,服务器可以采用遍历算法进行搜索,在搜索时,对树中所有节点的信息进行访问,即依次对树中每个节点访问一次且仅访问一次,从二叉树的根节点出发,先对当前根节点进行操作(称为“访问”节点),然后从左往右依次遍历子节点,在对每个子节点遍历以后,找出与当前根节点存在第二家族关系的家族对象,然后再以上述找出的存在家族对象的子节点为当前根节点继续进行遍历操作,找出与子节点存在第二家族关系的家族对象,依次类推,直至找出与目标搜索对象处于搜索代数之内的全部目标家族对象,最终形成目标家族关系图谱。
示例性的,如图2所示,假设Hbase数据库中存储10种家族关系,其中包括第一家族关系:父子关系、父女关系、母子关系、母女关系、配偶关系和离异关系;和第二家族关系:子父关系、子母关系、女父关系和女母关系;基于当前人,查询当前人的上下N代,例如,N为2,即查询当前人的上下2代;先查询当前人的祖父节点,如果祖父节点存在,则采用非递归算法查询祖父的后代(祖父的后4代);如果祖父节点不存在,则查询当前人的父亲节点,若父亲节点存在,则采用非递归算法查询父亲的后代(父亲的后3代);如果父亲节点不存在,则将当前人作为根节点,采用非递归算法查询当前人的后代(当前人的后2代),在当前查询结束以后,再找出当前人的外祖父节点,如果外祖父节点存在,则采用非递归算法查询外祖父的后代(外祖父的后4代);如果外祖父节点不存在,则查询当前人的母亲节点以及母亲的配偶节点,若母亲节点及其配偶节点存在,则采用非递归算法查询母亲的后代(母亲的后3代);如果母亲节点不存在,则将当前人作为根节点,采用非递归算法查询当前人的后代(当前人的后2 代),当同时出现采用非递归算法查询当前人的后代时,只查询一次即可。
举例说明,第一步:基于当前人,查询当前人的上下N代,假设N为 2,首先基于子父关系和女父关系查询(这里不需要事先判断当前人的性别),使用非递归算法查询两次,查找到当前人的祖父,就是当前人的父亲的父亲,找出上2代的祖父节点,同时查询祖父的配偶关系和离异关系,然后以祖父和他的配偶为根节点,使用非递归算法,查询母子关系,母女关系,父子关系,父女关系,以及子女的配偶关系和离异关系等;第二步:继续基于当前人,查询当前人的上2代,首先基于女母关系和子母关系查询,使用非递归算法查找当前人的外祖父,就是当前人的母亲的父亲,找出上2 代的外祖父节点,同时查询外祖父的配偶关系和离异关系,然后以外祖父和他的配偶为根节点,使用非递归算法,查询母子关系,母女关系,父子关系,父女关系,以及子女的配偶关系和离异关系等;第三步:基于当前人,将当前人标记为X(一般假设X为0)代,如果是父辈,则为X+1代,如果是子代,则为X-1代,每增加一个辈分,就递增加1,每减小一个辈分,就递减减1;基于当前人,假设N=2,如果没有找到当前人的祖父节点和外祖父节点,就根据配偶关系和离异关系找出当前人的对象,然后以他的对象,作为当前人,重复第一步和第二步;第四步:基于当前人,假设查询当前人的上下2代,重复第一步和第四步的方法步骤,则X的取值范围为: -2<=X<=2。针对任意人,重复第一步至第五步的方法步骤。
具体地,假设现有一个Hbase数据库,用来存储家族关系数据,假设有ABCDEFGHKMN,一共9个实体人,每个人的唯一标识使用身份标识 (身份证号),每种家族关系都用一个关系标识来表示,如父子关系标识是 01,父女关系标识是02,母子关系标识是03,母女关系标识是04,配偶关系标识是05,离异关系标识是06,子父关系标识是10,女父关系标识是 20,子母关系标识是30,女母关系标识是40,家族关系数据库中预先已经存储了下面关系:A和B是父子关系,A和C是父女关系,D和E是母女关系,D和F是母子关系,K和D是配偶关系,A和G是父子关系,E和 G是配偶关系,G和H是父子关系,H和M是父子关系,H和N是父子关系,从ABCDEFGHK9个人中随便选择一个人,查询当前人所有相关的家族关系数据。
具体可以按照如下步骤依次进行:第一步:假设我选择H为当前人,查询H的上下2代,包含家族所有的关系数据,H为当前人,X=0,要搜索上下2代,所以所有关系辈分Y的取值范围:-2<=Y<=2;第二步:首先查询H的祖父节点,并将祖父节点作为根节点,使用非递归算法,查询条件为H的身份标识和关系标识,从子父关系中查询两次,首先得到H的父亲G,然后就可以得到H的祖父A,此时Y=2,如果没有祖父节点,就将G父亲节点做为根节点,此时Y=1,如果没有找到父亲节点,就把自己作为根节点,此时Y=0;第三步:假设上一步,我们找到了H的祖父A,并将祖父A作为根节点,Y=2,开始搜索所有的子孙后代,首先通过配偶关系和离异关系找到A的配偶,然后分别根据母子关系和母女关系,父子关系和父女关系,搜索A和他配偶的子孙后代,同时需要根据配偶关系和离异确定所有后代的对应关系;第四步:依据上一步Y=2,开始搜索下一代,每搜索一代Y递减1,即Y--,使用非递归算法,一代一代的递减搜索,直到Y>=-2,搜索结束;第五步:将当前人H的祖父节点作为根节点搜索完成之后,接下来需要找出H的外祖父节点作为根节点,首先找到根据母子关系,找到H的母亲E,然后找出E的父亲K作为根节点,开始搜索所有的子孙后代;第六步:当H的祖父和外祖父搜索完成之后,开始搜索H 的配偶,如果他的配偶存在,把H的配偶作为当前人,重复第二步至第五步,直到所有的关系搜索完毕。进而,最终搜索结果如图3所示。
这里,不管当前人是谁,在进行搜索上下任意N代时,都可以高效的搜索遍历查询家族中的所有存在家族关系的家族对象。
本申请实施例提供的家族关系图谱的搜索方法,与现有技术中的海量家族关系数据在存储的时候,会由于数量级别大,导致查询效率变慢的问题相比,本申请能够根据目标请求对象的身份标识和目标家族关系图谱所指示的家族代数,从预先构建好的家族关系数据库中确定目标搜索对象,然后以目标搜索对象为搜索根节点,在家族关系数据库中按照从上代往下代的顺序依次进行搜索,直至完成目标家族关系图谱所指示的家族代数的全部搜索,以得到目标请求对象的目标家族关系图谱,进而在一定程度上解决查询效率慢的问题,以达到高效搜索的效果。
基于同一发明构思,本申请实施例中还提供了与家族关系图谱的搜索方法对应的家族关系图谱的搜索装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述家族关系图谱的搜索方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图4,图4为本申请实施例所提供的一种家族关系图谱的搜索装置的结构示意图,如图4中所示,搜索装置400包括:
请求接收模块410,用于接收用于获取目标请求对象的目标家族关系图谱的搜索请求,搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数;
对象确定模块420,用于根据身份标识和家族代数,从预先构建好的家族关系数据库中确定目标搜索对象;
代数确定模块430,用于根据目标搜索对象与目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数;
图谱形成模块440,用于从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于搜索代数之内的全部目标家族对象,以形成目标请求对象的目标家族关系图谱;
图谱输出模块450,用于输出目标请求对象的目标家族关系图谱。
可选地,家族代数包括目标请求对象在目标家族关系图谱中所处的代数以及以目标请求对象为基准的向上代数和向下代数,搜索请求中还携带有第一家族关系标识;
对象确定模块420具体用于:
依据目标请求对象的身份标识和第一家族关系标识,从预先构建好的家族关系数据库中确定目标搜索对象,目标搜索对象为与目标请求对象处于向上代数之内的家族对象中辈分最高的家族对象。
可选地,第一家族关系标识用于表征由低辈分指向高辈分的家族关系,第一家族关系标识包括子父关系标识、女父关系标识、子母关系标识和女母关系标识,
其中,子父关系标识的使用优先级和女父关系标识的使用优先级相同,子母关系标识使用优先级和女母关系标识的使用优先级相同,且子父关系标识的使用优先级高于子母关系标识的使用优先级,女父关系标识的使用优先级高于女母关系标识的使用优先级。
可选地,代数确定模块430具体用于:
判断目标搜索对象所处的代数与向上代数所指示的最高辈分的家族对象所处的代数是否一致;
若一致,则将家族代数确定为搜索代数;
若不一致,则确定最高辈分的家族对象所处的代数与目标搜索对象所处的代数的差值,将家族代数与差值的差值确定为搜索代数。
可选地,家族关系数据库以关系树结构的形式被构建,搜索装置400 还包括数据库构建模块460,数据库构建模块460用于通过以下方式构建关系树结构:
将每个家族对象确定为关系树结构中的一个节点,通过边将存在家族关系的两个节点进行连接,以表示通过边连接的两个家族对象之间存在家族关系;
每条边的内容中包括通过边相连接的两个家族对象之间的用于表征由低辈分指向高辈分的家族关系的第一家族关系标识和用于表征由高辈分指向低辈分的家族关系的第二家族关系标识;
每个节点的内容中包括家族对象的身份标识。
可选地,图谱形成模块440具体用于:
依据目标搜索对象的身份标识和第二家族关系标识,以目标搜索对象为搜索根节点,从预先构建好的家族关系数据库中确定与目标搜索对象处于搜索代数之内的全部目标家族对象,以形成目标家族关系图谱。
可选地,第二家族关系标识包括父子关系标识、父女关系标识、母子关系标识、母女关系标识、配偶关系标识和离异关系标识。
本申请实施例提供了一种家族关系图谱的搜索装置,包括请求接收模块、对象确定模块、代数确定模块、图谱形成模块和图谱输出模块,通过这些模块之间的相互配合,可以搜索得到目标家族关系图谱,这样一来,与现有技术中的海量家族关系数据在存储的时候,会由于数量级别大,导致查询效率变慢的问题相比,本申请能够根据目标请求对象的身份标识和目标家族关系图谱所指示的家族代数,从预先构建好的家族关系数据库中确定目标搜索对象,然后以目标搜索对象为搜索根节点,在家族关系数据库中按照从上代往下代的顺序依次进行搜索,直至完成目标家族关系图谱所指示的家族代数的全部搜索,以得到目标请求对象的目标家族关系图谱,进而在一定程度上解决查询效率慢的问题,以达到高效搜索的效果。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530 通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1 以及图2所示方法实施例中的家族关系图谱的搜索方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1 以及图2所示方法实施例中的家族关系图谱的搜索方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种家族关系图谱的搜索方法,其特征在于,所述搜索方法包括:
接收用于获取目标请求对象的目标家族关系图谱的搜索请求,所述搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数;
根据所述身份标识和所述家族代数,从预先构建好的家族关系数据库中确定目标搜索对象;
根据所述目标搜索对象与所述目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数;
从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成所述目标请求对象的目标家族关系图谱;
输出所述目标请求对象的目标家族关系图谱。
2.根据权利要求1所述的搜索方法,其特征在于,所述家族代数包括目标请求对象在目标家族关系图谱中所处的代数以及以目标请求对象为基准的向上代数和向下代数,所述搜索请求中还携带有第一家族关系标识;
其中,根据所述身份标识和所述家族代数,从预先构建好的家族关系数据库中确定目标搜索对象的步骤包括:
依据目标请求对象的身份标识和第一家族关系标识,从预先构建好的家族关系数据库中确定目标搜索对象,所述目标搜索对象为与目标请求对象处于向上代数之内的家族对象中辈分最高的家族对象。
3.根据权利要求2所述的搜索方法,其特征在于,所述第一家族关系标识用于表征由低辈分指向高辈分的家族关系,所述第一家族关系标识包括子父关系标识、女父关系标识、子母关系标识和女母关系标识,
其中,子父关系标识的使用优先级和女父关系标识的使用优先级相同,子母关系标识使用优先级和女母关系标识的使用优先级相同,且子父关系标识的使用优先级高于子母关系标识的使用优先级,女父关系标识的使用优先级高于女母关系标识的使用优先级。
4.根据权利要求2所述的搜索方法,其特征在于,根据所述目标搜索对象与所述目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数的步骤包括:
判断目标搜索对象所处的代数与所述向上代数所指示的最高辈分的家族对象所处的代数是否一致;
若一致,则将家族代数确定为所述搜索代数;
若不一致,则确定最高辈分的家族对象所处的代数与目标搜索对象所处的代数的差值,将家族代数与所述差值的差值确定为所述搜索代数。
5.根据权利要求1所述的搜索方法,其特征在于,所述家族关系数据库以关系树结构的形式被构建,通过以下方式构建所述关系树结构:
将每个家族对象确定为关系树结构中的一个节点,通过边将存在家族关系的两个节点进行连接,以表示通过边连接的两个家族对象之间存在家族关系;
每条边的内容中包括通过边相连接的两个家族对象之间的用于表征由低辈分指向高辈分的家族关系的第一家族关系标识和用于表征由高辈分指向低辈分的家族关系的第二家族关系标识;
每个节点的内容中包括家族对象的身份标识。
6.根据权利要求5所述的搜索方法,其特征在于,从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成所述目标请求对象的目标家族关系图谱的步骤包括:
依据目标搜索对象的身份标识和第二家族关系标识,以目标搜索对象为搜索根节点,从预先构建好的家族关系数据库中确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成目标家族关系图谱。
7.根据权利要求5或6所述的搜索方法,其特征在于,第二家族关系标识包括父子关系标识、父女关系标识、母子关系标识、母女关系标识、配偶关系标识和离异关系标识。
8.一种家族关系图谱的搜索装置,其特征在于,所述搜索装置包括:
请求接收模块,用于接收用于获取目标请求对象的目标家族关系图谱的搜索请求,所述搜索请求中携带有目标请求对象的身份标识以及目标家族关系图谱所指示的家族代数;
对象确定模块,用于根据所述身份标识和所述家族代数,从预先构建好的家族关系数据库中确定目标搜索对象;
代数确定模块,用于根据所述目标搜索对象与所述目标请求对象之间的家族关系,确定以目标搜索对象为搜索根节点的搜索代数;
图谱形成模块,用于从预先构建好的家族关系数据库中,以目标搜索对象为搜索根节点,确定与目标搜索对象处于所述搜索代数之内的全部目标家族对象,以形成所述目标请求对象的目标家族关系图谱;
图谱输出模块,用于输出所述目标请求对象的目标家族关系图谱。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述家族关系图谱的搜索方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述家族关系图谱的搜索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110815312.8A CN113468383B (zh) | 2021-07-19 | 家族关系图谱的搜索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110815312.8A CN113468383B (zh) | 2021-07-19 | 家族关系图谱的搜索方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468383A true CN113468383A (zh) | 2021-10-01 |
CN113468383B CN113468383B (zh) | 2024-06-07 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036313A (zh) * | 2021-11-09 | 2022-02-11 | 北京百度网讯科技有限公司 | 一种族谱展示方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142015A (zh) * | 2011-01-30 | 2011-08-03 | 唐凌遥 | 家族树的节点处理系统及家族树的节点处理方法 |
CN102682114A (zh) * | 2012-05-11 | 2012-09-19 | 广州家族网信息科技有限公司 | 一种家谱生成方法及系统 |
CN109086334A (zh) * | 2018-07-06 | 2018-12-25 | 贵州黔商科技有限公司 | 一种基于大数据的家谱生成方法 |
CN110989944A (zh) * | 2019-10-11 | 2020-04-10 | 合肥工业大学 | 家谱打印方法及装置 |
US20200233860A1 (en) * | 2019-01-22 | 2020-07-23 | International Business Machines Corporation | Querying knowledge graph databases |
CN111881160A (zh) * | 2019-06-28 | 2020-11-03 | 国网江苏省电力有限公司 | 一种基于关系代数的等价展开方法的分布式查询优化方法 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142015A (zh) * | 2011-01-30 | 2011-08-03 | 唐凌遥 | 家族树的节点处理系统及家族树的节点处理方法 |
CN102682114A (zh) * | 2012-05-11 | 2012-09-19 | 广州家族网信息科技有限公司 | 一种家谱生成方法及系统 |
CN109086334A (zh) * | 2018-07-06 | 2018-12-25 | 贵州黔商科技有限公司 | 一种基于大数据的家谱生成方法 |
US20200233860A1 (en) * | 2019-01-22 | 2020-07-23 | International Business Machines Corporation | Querying knowledge graph databases |
CN111881160A (zh) * | 2019-06-28 | 2020-11-03 | 国网江苏省电力有限公司 | 一种基于关系代数的等价展开方法的分布式查询优化方法 |
CN110989944A (zh) * | 2019-10-11 | 2020-04-10 | 合肥工业大学 | 家谱打印方法及装置 |
Non-Patent Citations (1)
Title |
---|
姜洋;彭智勇;彭煜玮: "基于图数据库的在线族谱编录系统", 《计算机应用》, vol. 35, no. 1, pages 125 - 130 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036313A (zh) * | 2021-11-09 | 2022-02-11 | 北京百度网讯科技有限公司 | 一种族谱展示方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321344B (zh) | 关联数据的信息查询方法、装置、计算机设备及存储介质 | |
CN105786808B (zh) | 一种用于分布式执行关系型计算指令的方法与设备 | |
CN110413611B (zh) | 数据存储、查询方法及装置 | |
CN112115227B (zh) | 数据的查询方法、装置、电子设备及存储介质 | |
US20150370838A1 (en) | Index structure to accelerate graph traversal | |
US9798808B2 (en) | Data visualization system | |
CN112559554A (zh) | 一种查询语句优化方法及装置 | |
CN110825733B (zh) | 一种面向多采样流的时间序列数据管理方法及系统 | |
CN112765405B (zh) | 空间数据搜索结果的聚类和查询的方法及系统 | |
EP3217296A1 (en) | Data query method and apparatus | |
CN114420215B (zh) | 基于生成树的大规模生物数据聚类方法及系统 | |
CN111651641B (zh) | 一种图查询方法、装置及存储介质 | |
KR20190079354A (ko) | 분할 공간 기반의 공간 데이터 객체 질의처리장치 및 방법, 이를 기록한 기록매체 | |
CN109299205B (zh) | 将规划行业使用的空间数据进行入库的方法和装置 | |
Zhu et al. | SciCSM: novel contrast set mining over scientific datasets using bitmap indices | |
Yang et al. | Delta: indexing and querying multi-labeled graphs | |
CN113220820B (zh) | 基于图的高效sparql查询应答方法、装置和设备 | |
CN105843809B (zh) | 数据处理方法和装置 | |
CN109254962B (zh) | 一种基于t-树的索引优化方法、装置及存储介质 | |
CN107402942B (zh) | 索引方法及装置 | |
CN108376054B (zh) | 一种对标识数据进行索引的处理方法及装置 | |
CN113468383A (zh) | 家族关系图谱的搜索方法、装置、电子设备及存储介质 | |
Feng et al. | Research of temporal information index strategy based on HBase | |
Trißl et al. | Querying ontologies in relational database systems | |
CN113468383B (zh) | 家族关系图谱的搜索方法、装置、电子设备及存储介质 |
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 |