CN111930958B - 一种图数据库构建方法、计算设备及可读存储介质 - Google Patents
一种图数据库构建方法、计算设备及可读存储介质 Download PDFInfo
- Publication number
- CN111930958B CN111930958B CN202010669156.4A CN202010669156A CN111930958B CN 111930958 B CN111930958 B CN 111930958B CN 202010669156 A CN202010669156 A CN 202010669156A CN 111930958 B CN111930958 B CN 111930958B
- Authority
- CN
- China
- Prior art keywords
- entity
- data
- graph database
- information
- entity information
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 23
- 230000008676 import Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011176 pooling 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种图数据库构建方法,适于在计算设备中执行,其中,该方法包括:根据所构建图数据库的知识领域,确定该知识领域涉及的实体以及实体属性;根据实体和实体属性初始化实体信息表,包括节点表、关系表、操作记录表,其中,节点表适于存储节点信息,关系表适于存储节点之间的关系,操作记录表适于存储对节点表和关系表的操作记录;从数据源中获取源数据,对源数据进行预处理后存入实体信息表;根据实体和实体属性创建图数据库的结构;从实体信息表获取实体信息,将实体信息导入图数据库,完成图数据库的构建。本发明一并公开了相应的图数据库构建装置、计算设备和可读存储介质。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种图数据库构建方法、计算设备及可读存储介质。
背景技术
知识图谱也称为科学知识图谱,描述了专业知识领域内实体和实体属性之间的关系,其本质是一个图数据库。目前关于图数据库的设计流程一般为:先抽象出实体、实体属性、实体间的关系,根据抽象出的实体和实体属性建立图数据库结构中的顶点和边,然后根据所建立的图数据库结构导入数据。然而在数据导入过程中,一旦导入失败,将无法完成数据的及时恢复和数据补偿。同时,由于所有数据只存在于图数据库中,所有数据的更新查询操作都是直接通过图数据库完成,影响效率。
随之,一种数据驱动的图数据库构建方法应运而上,该方法以图数据库为中心,***通过关系型数据库及文档数据库进行数据存储,关系型数据库存储属性以及属性的层级关系,文档数据库存储文本数据,关系型数据库、文档数据库通过实体的唯一标识与图数据库关联,最后对两个数据库进行知识融合构建知识图谱。这一方法虽然在***存储了图数据库的数据来源,但仍需要进行知识融合才能导入图数据库,当遇到数据误删,或者进行数据补偿时,不能直接利用***数据存储,在数据变更或者查询时,也不能依赖***数据存储来减少对图数据库的查询、更新的压力。
发明内容
为此,本发明提供了一种图数据库构建方法、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种图数据库构建方法,适于在计算设备中执行,其中,该方法包括:根据所构建图数据库的知识领域,确定该知识领域涉及的实体以及实体属性;根据实体和实体属性初始化实体信息表,包括节点表、关系表、操作记录表,其中,节点表适于存储节点信息,关系表适于存储节点之间的关系,操作记录表适于存储对节点表和关系表的操作记录;从数据源中获取源数据,对源数据进行预处理后存入实体信息表;根据实体和实体属性创建图数据库的结构;从实体信息表获取实体信息,将实体信息导入图数据库,完成图数据库的构建。
可选的,在根据本发明的图数据库构建方法中,数据源包括信息文件、网页拉取和消息推送,对源数据进行预处理后存入实体信息表包括:从不同数据源中获取同一个实体的实体属性进行整合后存入实体信息表。
可选的,在根据本发明的图数据库构建方法中,根据实体和实体属性初始化实体信息表包括:创建节点表的表结构,节点表包含的字段有实体类型、实体属性和实体唯一标识。
可选的,在根据本发明的图数据库构建方法中,根据实体和实体属性初始化实体信息表还包括:创建关系表的的表结构,关系表包含的字段有关系类型、关系开始实体索引编号、关系结束实体索引编号和关系属性,所述实体索引编号为该实体在节点表中的索引编号。
可选的,在根据本发明的图数据库构建方法中,根据实体和实体属性初始化实体信息表还包括:创建操作记录表的表结构,操作记录表包含的字段有表类型、更新记录索引编号、更新类型和更新前的数据信息。
可选的,在根据本发明的图数据库构建方法中,表类型包括节点表和关系表;更新类型包括***、更新和删除。
可选的,在根据本发明的图数据库构建方法中,从实体信息表获取实体信息,将实体信息导入图数据库包括:从实体信息表中获取实体信息,包括实体和实体属性信息;将获取到的实体信息进行精简,删除图数据库不需要的属性信息,获得精简实体信息;将精简实体信息进行规范化处理,获得规范实体信息;将规范实体信息存储到图数据库中,同时生成图数据库导入日志。
可选的,在根据本发明的图数据库构建方法中,方法还包括图数据库的数据更新,包括:当收到数据变更信息时,将变更数据与实体信息表中的数据进行对比,获得需要变更的数据信息;将需要变更的数据信息存储到操作记录表中;将变更数据更新到实体信息表中,并同步到图数据库中。
可选的,在根据本发明的图数据库构建方法中,方法还包括图数据库的数据查询,图数据库中的数据查询是通过查询实体信息表完成的。
可选的,在根据本发明的图数据库构建方法中,方法还包括图数据库的数据补偿,包括:根据图数据库导入日志,获取导入过程中的导入错误的数据;从实体信息表中重新获取导入过程中导入错误的数据,重新导入图数据库。
可选的,在根据本发明的图数据库构建方法中,方法还包括图数据库数据更新错误时的错误数据的恢复,包括:从操作记录表中获取错误数据更新前的原始数据;根据原始数据恢复实体信息表中的数据和图数据库数据。
根据本发明的又一个方面,提供一种图数据库构建装置,包括:实体生成模块,适于根据所构建图数据库的知识领域,确定该知识领域涉及的实体以及实体属性;实体信息表构建模块,适于根据实体和实体属性初始化实体信息表,包括节点表、关系表、操作记录表,其中,节点表适于存储节点信息,关系表适于存储节点之间的关系,操作记录表适于存储对节点表和关系表的操作记录;源数据处理模块,适于从数据源中获取源数据,对源数据进行预处理后存入实体信息表;图数据库构建模块,适于根据实体和实体属性创建图数据库的结构,还适于从实体信息表中获取实体信息,将实体信息导入图数据库,完成图数据库的构建。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上的图数据库构建方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的图数据库构建方法。
根据本发明的图数据库构建方案,将所有的实体信息进行规范整合后存储在实体信息表,节点表存储了节点信息,关系表存储了节点之间的关系信息,而图数据库的构建则是将这些数据导入图数据库。因为图数据库数据来源于实体信息表,因此,在查询图数据库的数据时,可以通过查询实体信息表完成,而在数据变更时,变更数据也可以通过与实体信息表进行比较,而不用直接与图数据库进行比较,减少了对图数据库的直接操作,从而减少了图数据库资源的占用,提高了数据查询、变更等操作的效率,另一方面,如果在图数据库导入过程中出现错误,能够直接通过节点表和关系表进行数据补偿,而在图数据库数据操作错误时,能够通过操作记录表中的数据操作记录进行数据恢复。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的框图;
图2示出了根据本发明一个实施例的图数据库构建方法200的流程图;
图3示出了根据本发明一个实施例的图数据库构建方法构建的图数据库的图谱示例;
图4示出了根据本发明一个实施例的图数据库数据更新过程400的流程图;
图5示出了根据本发明一个实施例的图数据库数据补偿过程500的流程图;
图6示出了根据本发明一个实施例的图数据库数据恢复过程600的流程图;
图7示出了根据本发明一个实施例的图数据库构建装置700的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
根据本发明的图数据库构建方法,适于在计算设备中执行,图1示出了根据本发明一个实施例的计算设备100的示意图。在基本的配置102中,计算设备100典型地包括***存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和***存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,***存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。***存储器106可以包括操作***120、一个或者多个应用122以及程序数据124。应用122实际上是多条程序指令,其用于指示处理器104执行相应的操作。在一些实施方式中,应用122可以布置为在操作***上使得处理器104利用程序数据124进行操作。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为服务器,例如数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分。
在根据本发明的实施例中,计算设备100可以实现为图数据库构建装置700,并被配置为执行根据本发明实施例的图数据库构建方法200。其中,计算设备100的应用122中包含用于执行根据本发明实施例的图数据库构建方法200的指令,该指令可以指示处理器104执行本发明的图数据库构建方法。
图2示出了根据本发明一个实施例的图数据库构建方法200的流程图。方法200始于步骤S210,首先确定所构建的图数据库所属的知识领域,根据知识领域确定该领域内的实体和实体属性信息。
以汽车领域为例,抽取出汽车领域内的实体,包括:奔驰、宝马、宝马3系等实体,其中,宝马、奔驰的实体类型为品牌,宝马3系的实体类型为车系。确定实体时,还要获取相应的实体属性,以上述宝马3系为例,包含生产商、最高指导价格,最低指导价格等属性信息。
在确定了本领域实体信息后,进入步骤S220,根据抽取出来的实体及属性信息初始化实体信息表,该步骤主要是初始化实体信息表结构,实体信息表可以设计成宽表。其中,实体信息表包括节点表、关系表和操作记录表,定义各个表所包含的字段。实体信息表中的各个表具体通过什么类型的数据表实现,本发明不做限制,可以是MyISAM、InnoDB、HEAP、BOB、ARCHIVE、CSV等中的任意一种类型或者其他可以适用于本发明需要的表结构。
节点表用来存储节点信息,节点表的字段包括:实体类型(label)、实体唯一标识(entity_id)和实体属性(property)。对于汽车领域,实体类型可以是品牌、车系等信息,实体唯一标识属于自定义的用来唯一标识对应实体的标识,可以为数字编码。实体属性则对应该记录中实体所具有的属性,如果实体为车系,所包含的属性信息有是否为合资车,价格信息等。
关系表用于存储节点之间的关系数据,关系表包含的字段有:关系类型(Label)、关系开始实体索引编号(start_node_id)、关系结束实体索引编号
(end_node_id)和关系属性(relation)。关系类型是指节点到节点的关系,比如“宝马3系”到“宝马”,这一关系中宝马3系为关系开始实体,宝马是关系结束实体,他们在节点表中的索引编号将分别存储到start_node_id和end_node_id中,而关系属性则存储这两个节点之间的关系,比如宝马3系是宝马中最畅销的车系。
操作记录表用于记录对节点表和关系表的操作记录,包含的字段有表类型(type)、更新记录索引编号(update_id)、更新类型(update_type)、更新前的数据信息(property_before),类型标识了是对节点表还是关系表的操作,1表示对节点表的操作,2表示对关系表的操作,更新记录索引编号标识更新的记录在表中的位置,更新类型包括3中,1为***操作,2为更新操作,3为删除操作,property_before用于存储更新前的数据信息。
另外,节点表、关系表和操作记录表中,每一条记录都对应一个索引编号(index)。
在创建好实体信息表结构后,进入步骤S230,从数据源中获取源数据,并进行信息整合后存储到步骤S220所创建的实体信息表中。
源数据可以来源于通用不变的信息文件,也可以通过网页拉取或者外部的消息推送获得。因为这些信息都是一些原始信息,没有进行过整合,不同的源数据中可能包含了同一实体的不同属性信息。比如通过消息推送获得宝马3系最低指导价格29万,最高指导价格为40万,从信息文件中获得宝马3系属于合资车,处于在售状态,将这两个信息整合到一起,存储到节点表中,如表1所示。index为1表示这是该表中第一条记录,label为“车系”表示该记录中记录的实体类型为车系,entity_id为66表示用66唯一标识该条记录中的实体,property中存储了实体名称和实体属性。
表1
根据本发明的一个实施例,本步骤中通过网页拉取获取到4S店A6月份出售10辆宝马3系车的信息,其中宝马3系的索引编号为1,4S店A的索引编号为16,将获取到的上述信息存储到关系表如表2所示。
表2
根据本发明一个实施例,从消息推送中获取到数据变更信息“宝马3系最高指导价格变更为60万”,需要根据变更消息变更节点表表1中的数据,该变更记录将存储到操作记录表中,如表3中index为1的记录所示,其中type字段的1标识是对节点表的操作,update_index字段的1表示更新的是节点表中索引为1的记录,update_type字段的2表示操作类型为更新。
表3
表3中第2条记录表示关系表中***一条“4S店A”到“宝马3系”的关系数据;第3条记录表示节点表中删除了index为100的数据记录。
上述变更操作中,节点表中的数据将更新成如表4中的数据。
表4
以上各表仅为示例性说明,不代表数据表中真正数据格式,本发明对数据表中的具体数据存储格式不做限制。
所有的源数据处理完后,进入步骤S240,根据定义的实体和属性创建图数据库结构,也称为知识图谱schema,是一个数据模型。该过程主要是知识抽取的过程,以汽车领域为例,可以抽取出车系、产地、品牌、发动机等。
在创建好实体信息表和图数据结构后,将通过步骤S250将实体信息表中的数据导入图数据库。首先从实体信息表中获取所有数据信息,但是由于实体信息表中存储了所有的实体属性信息,需要删除图数据库不需要的属性信息。以表1中的数据为例,宝马3系包含了诸多属性信息,但是,在图数据库中不需要价格信息,则将其中的价格信息删除,另外,是否在售的数据表现形式不够规范化,用“●”表示在售,这种表示形式无法在图数据库中体现出来,需要进行规范化处理,比如,用0表示在售,1表示停售,最后将处理好的数据导入图数据库,根据本发明的一个实施例,图数据库可以是janusgraph图谱。
图3示出了根据本发明一个实施例的图数据库构建方法构建的图数据库的图谱示例。
图4示出了根据本发明一个实施例的图数据库数据更新过程400的流程图。该过程始于步骤S410,当接收到数据更新信息时,将变更数据与实体信息表进行比较,获取到变更的数据信息。
继续以表1中的数据为例,宝马3系当前数据为{index:1,label:"车系",entity_id:66,property:{"series_id":66,"series_name":"宝马3系","series_place":"合资","series_max_price":400000,"series_min_price":290000,"is_sale":"●"}},收到变更数据是{index:1,label:"车系",auto_id:66,property:{"series_id":66,"series_name":"宝马3系","series_max_price":600000}},通过对比property各字段数据,发现series_max_price发生变化。
随后进入步骤S420,在操作记录表中增加记录{index:1,type:1,update_id:1,update_type:1,property_before:{"series_id":66,"series_name":"宝马3系","series_place":"合资","series_max_price":400000,"series_min_price":290000,"is_sale":"●"}}。
随后根据步骤S430变更节点表中的数据,将"series_max_price"更新成600000。
最后通过步骤S440将变更的数据更新到图数据库中。
根据本发明的图数据库构建方法,还包括图数据库的数据查询过程,因为在实体信息表中存储了图数据库中所有的内容,所以这里可以不通过图数据库进行查询,直接通过实体信息表进行查询。
从实体信息表向图数据库导入数据时,会生成图数据库导入日志,这样在图数据库导入过程出错时,可以根据该日志文件完成数据补偿。图5示出了根据本发明一个实施例的图数据库数据补偿过程500的流程图。
该过程始于步骤S510,读取图数据库导入日志。
随后通过步骤S520从日志文件中获取实体信息表中导入错误的记录的索引,也即记录的index,根据本发明的一个实施例,节点表中index>1000的记录和关系表中index>1500的记录为导入失败的数据记录。
通过步骤S530,从实体信息表中重新获取这些数据导入图数据库。上述示例中,则应获取节点表中index>1000的记录和关系表中index>1500的记录重新导入图数据库。
图6示出了根据本发明一个实施例的图数据库数据恢复过程600的流程图。该过程一般发生拉取源数据时返回的数据错误,图数据库被污染的情况。由于操作记录表中记录了节点表和关系表的变更过程,因此可以根据操作记录表中的数据进行数据恢复。
过程始于步骤S610,从操作记录表中获取数据被污染前的数据,以表3和表4中的数据为例,图数据库中存储的是表4中的数据,由于该数据错误,可以通过操作记录表中的数据(表3中第一条数据记录)获取到原来的数据,从表3数据中获得原始数据应该是{"series_id":66,"series_name":"宝马3系","series_place":"合资","series_max_price":400000,"series_min_price":290000,"is_sale":"●"}。
获取到上述信息后,进入步骤S620,根据property_before对节点表中的数据数据进行跟新,series_max_price更新成400000,并将变更记录记录到操作记录表中。
随后进入步骤S630,恢复图数据中的数据。
图7示出了根据本发明一个实施例的图数据库构建装置700的框图。如图7所示,图数据库构建装置700包括实体生成模块710、实体信息表构建模块720、源数据处理模块730、图数据库构建模块740。
实体生成模块710,根据业务需求确定实体和实体属性,图数据库结构和实体信息表结构都将根据所确定的实体和实体属性构建。
实体信息表构建模块720,根据实体和实体属性初始化实体信息表,包括节点表、关系表、操作记录表。
节点表存储节点信息,包含的字段有实体类型、实体属性和实体唯一标识;关系表存储节点间的关系,包含的字段有关系类型、关系开始实体唯一标识、关系结束实体唯一标识和关系属性;操作记录表存储对节点表和关系表的操作记录,所包含的字段有表类型、更新记录索引编号、更新类型、更新前的数据信息,表类型字段标识出是对节点表的操作还是对关系表的操作,更新类型包括三种,***、更新、删除。
另外数据的更新、读取、数据补偿和错误数据的恢复中对***数据的操作都在实体信息表构建模块完成。
源数据处理模块730,从信息文件、网页拉取、消息推送等数据源中获取源数据,将不同数据源中获取的同一个实体的实体属性进行整合,并存入实体信息表中。
图数据库构建模块740,用于根据实体和实体属性创建图数据库的结构,并从实体信息表中获取实体信息导入图数据库。
首先从实体信息表中获取实体信息,包含了诸多图数据库不需要的冗余信息,需要将冗余信息删除,在剩余的信息中心将不规范的数据表示进行规范化,最后将处理过的信息导入图数据库,同时生成图数据库导入日志,该日志文件用于导入失败时的数据补偿。
根据本发明的图数据库构建方案,通过创建实体信息表,在节点表和关系表中存储了节点信息和节点之间的关系信息,该信息与图数据库中的信息一致,因此,在查询图数据库中节点信息是,通过查询实体信息表完成,而在数据变更时,也是通过与实体信息表进行比较,而不用直接与图数据库进行比较,减少了图数据库资源的占用,提高了查询效率,另一方面,如果在图数据库导入过程中出现错误,能够直接通过节点表和关系表进行数据补偿,而在图数据库数据操作错误时,能够通过操作记录表中的数据操作记录进行数据恢复。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的图数据库构建方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与本发明的示例一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (11)
1.一种图数据库构建方法,适于在计算设备中执行,所述方法包括:
根据所构建图数据库的知识领域,确定该知识领域涉及的实体以及实体属性;
根据所述实体和实体属性初始化实体信息表,所述实体信息表包括节点表、关系表和操作记录表,其中,节点表适于存储节点信息,关系表适于存储节点之间的关系,操作记录表适于存储对节点表和关系表的操作记录,包括:创建所述操作记录表的表结构,所述操作记录表包含的字段有表类型、更新记录索引编号、更新类型和更新前的数据信息;
从数据源中获取源数据,对所述源数据进行预处理后存入所述实体信息表;
根据所述实体和实体属性创建图数据库的结构;
从实体信息表获取实体信息,将所述实体信息导入图数据库,完成图数据库的构建,
其中,所述方法还包括图数据库的数据查询,所述图数据库中的数据查询是通过查询实体信息表完成的;
所述方法还包括图数据库数据更新错误时的错误数据的恢复,包括:从所述操作记录表中获取所述错误数据更新前的原始数据;根据所述原始数据恢复实体信息表中的数据和图数据库数据。
2.如权利要求1所述的方法,其中,所述数据源包括信息文件、网页拉取和消息推送,所述对所述源数据进行预处理后存入所述实体信息表包括:
从不同数据源中获取同一个实体的实体属性进行整合后存入所述实体信息表。
3.如权利要求1所述的方法,其中,所述根据所述实体和实体属性初始化实体信息表包括:
创建所述节点表的表结构,所述节点表包含的字段有实体类型、实体属性和实体唯一标识。
4.如权利要求1所述的方法,其中,所述根据所述实体和实体属性初始化实体信息表还包括:
创建所述关系表的的表结构,所述关系表包含的字段有关系类型、关系开始实体索引编号号、关系结束实体索引编号和关系属性,所述实体索引编号为该实体在节点表中的索引编号。
5.如权利要求1所述的方法,其中,所述表类型包括节点表和关系表;所述更新类型包括***、更新和删除。
6.如权利要求1所述的方法,其中,所述从实体信息表获取实体信息,将所述实体信息导入图数据库包括:
从实体信息表中获取实体信息,包括实体和实体属性信息;
将获取到的实体信息进行精简,删除图数据库不需要的属性信息,获得精简实体信息;
将所述精简实体信息进行规范化处理,获得规范实体信息;
将所述规范实体信息存储到图数据库中,同时生成图数据库导入日志。
7.如权利要求1所述的方法,其中,所述方法还包括图数据库的数据更新,包括:
当收到数据变更信息时,将变更数据与实体信息表中的数据进行对比,获得需要变更的数据信息;
将所述需要变更的数据信息存储到所述操作记录表中;
将所述变更数据更新到实体信息表中,并同步到图数据库中。
8.如权利要求1所述的方法,其中,所述方法还包括图数据库的数据补偿,包括:
根据图数据库导入日志,获取导入过程中的导入错误的数据;
从实体信息表中重新获取所述导入过程中导入错误的数据,重新导入图数据库。
9.一种图数据库构建装置,包括:
实体生成模块,适于根据所构建图数据库的知识领域,确定该知识领域涉及的实体以及实体属性;
实体信息表构建模块,适于根据所述实体和实体属性初始化实体信息表,包括节点表、关系表、操作记录表,其中,节点表适于存储节点信息,关系表适于存储节点之间的关系,操作记录表适于存储对节点表和关系表的操作记录,以及创建所述操作记录表的表结构,所述操作记录表所包含的字段有表类型、更新记录索引编号、更新类型、更新前的数据信息;
源数据处理模块,适于从数据源中获取源数据,对所述源数据进行预处理后存入所述实体信息表;
图数据库构建模块,适于根据所述实体和实体属性创建图数据库的结构,还适于从实体信息表中获取实体信息,将所述实体信息导入图数据库,完成图数据库的构建,
其中,还包括图数据库的数据查询,所述图数据库中的数据查询是通过查询实体信息表完成,且包括图数据库数据更新错误时的错误数据的恢复,包括:从所述操作记录表中获取所述错误数据更新前的原始数据;根据所述原始数据恢复实体信息表中的数据和图数据库数据。
10.一种终端设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-8所述的方法中的任一方法的指令。
11.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由终端设备执行时,使得所述终端设备执行根据权利要求1-8所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010669156.4A CN111930958B (zh) | 2020-07-13 | 2020-07-13 | 一种图数据库构建方法、计算设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010669156.4A CN111930958B (zh) | 2020-07-13 | 2020-07-13 | 一种图数据库构建方法、计算设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930958A CN111930958A (zh) | 2020-11-13 |
CN111930958B true CN111930958B (zh) | 2023-12-01 |
Family
ID=73312424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010669156.4A Active CN111930958B (zh) | 2020-07-13 | 2020-07-13 | 一种图数据库构建方法、计算设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930958B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763097A (zh) * | 2020-12-14 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种物品信息更新的方法和装置 |
CN113220659B (zh) * | 2021-04-08 | 2023-06-09 | 杭州费尔斯通科技有限公司 | 一种数据迁移的方法、***、电子装置和存储介质 |
CN113239063B (zh) * | 2021-06-23 | 2024-03-29 | 北京金山数字娱乐科技有限公司 | 一种图数据库更新方法及装置 |
CN113901279B (zh) * | 2021-12-03 | 2022-03-22 | 支付宝(杭州)信息技术有限公司 | 一种图数据库的检索方法和装置 |
CN114996297B (zh) * | 2022-04-14 | 2023-09-26 | 建信金融科技有限责任公司 | 数据处理方法、装置、设备及介质 |
CN115361265B (zh) * | 2022-08-16 | 2023-05-26 | 网络通信与安全紫金山实验室 | 网络设备管理***及方法 |
CN117632970B (zh) * | 2023-12-18 | 2024-06-14 | 智人开源(北京)科技有限公司 | 多模融合数据库、数据库的数字孪生实体数据存储方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408067A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种多树结构的数据库设计方法及装置 |
CN104933101A (zh) * | 2015-05-29 | 2015-09-23 | 南车株洲电力机车研究所有限公司 | 一种基于svn的配置审计信息自动统计方法 |
CN106227800A (zh) * | 2016-07-21 | 2016-12-14 | 中国科学院软件研究所 | 一种高度关联大数据的存储方法及管理*** |
CN109753537A (zh) * | 2019-01-25 | 2019-05-14 | 中国人民大学 | 一种从关系数据到图数据的交互式数据迁移方法 |
CN109815340A (zh) * | 2019-01-17 | 2019-05-28 | 云南师范大学 | 一种民族文化信息资源知识图谱的构建方法 |
CN110413695A (zh) * | 2019-07-29 | 2019-11-05 | 北京百度网讯科技有限公司 | 基于区块链的警务信息管理方法、装置、设备和介质 |
CN110555015A (zh) * | 2019-09-09 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 数据库实体管理方法、装置、电子设备及存储介质 |
CN110750649A (zh) * | 2018-07-06 | 2020-02-04 | 中兴通讯股份有限公司 | 知识图谱构建及智能应答方法、装置、设备及存储介质 |
CN111104525A (zh) * | 2019-12-31 | 2020-05-05 | 西安理工大学 | 一种基于图数据库的建筑设计规范知识图谱构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10505756B2 (en) * | 2017-02-10 | 2019-12-10 | Johnson Controls Technology Company | Building management system with space graphs |
-
2020
- 2020-07-13 CN CN202010669156.4A patent/CN111930958B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408067A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种多树结构的数据库设计方法及装置 |
CN104933101A (zh) * | 2015-05-29 | 2015-09-23 | 南车株洲电力机车研究所有限公司 | 一种基于svn的配置审计信息自动统计方法 |
CN106227800A (zh) * | 2016-07-21 | 2016-12-14 | 中国科学院软件研究所 | 一种高度关联大数据的存储方法及管理*** |
CN110750649A (zh) * | 2018-07-06 | 2020-02-04 | 中兴通讯股份有限公司 | 知识图谱构建及智能应答方法、装置、设备及存储介质 |
CN109815340A (zh) * | 2019-01-17 | 2019-05-28 | 云南师范大学 | 一种民族文化信息资源知识图谱的构建方法 |
CN109753537A (zh) * | 2019-01-25 | 2019-05-14 | 中国人民大学 | 一种从关系数据到图数据的交互式数据迁移方法 |
CN110413695A (zh) * | 2019-07-29 | 2019-11-05 | 北京百度网讯科技有限公司 | 基于区块链的警务信息管理方法、装置、设备和介质 |
CN110555015A (zh) * | 2019-09-09 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 数据库实体管理方法、装置、电子设备及存储介质 |
CN111104525A (zh) * | 2019-12-31 | 2020-05-05 | 西安理工大学 | 一种基于图数据库的建筑设计规范知识图谱构建方法 |
Non-Patent Citations (3)
Title |
---|
Mapping ERD to Knowledge Graph;A. Elfaki 等;2019 IEEE World Congress on Services (SERVICES);110-114 * |
主流知识图谱存储***试验对比;葛唯益 等;指挥信息***与技术;第10卷(第05期);28-33、75 * |
于知识图谱的医疗病历数据存储研究;夏宇航 等;计算机工程;第45卷(第01期);9-16、22 * |
Also Published As
Publication number | Publication date |
---|---|
CN111930958A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930958B (zh) | 一种图数据库构建方法、计算设备及可读存储介质 | |
CN108170752B (zh) | 基于模板的元数据管理方法和*** | |
WO2020155740A1 (zh) | 信息查询方法、装置、计算机设备及存储介质 | |
CN112328548A (zh) | 一种文件检索方法及计算设备 | |
CN110134681B (zh) | 数据存储与查询方法、装置、计算机设备及存储介质 | |
CN110955662A (zh) | 一种维护数据表关联关系的方法、计算设备及存储介质 | |
US20190005118A1 (en) | Method and system for managing associations between entity records | |
CN112818181A (zh) | 图数据库检索方法、***、计算机设备和存储介质 | |
CN113535642A (zh) | 一种文件搜索方法及计算设备 | |
CN115576905A (zh) | 档案文件管理方法、装置、电子设备和存储介质 | |
CN112328592A (zh) | 数据存储方法、电子设备及计算机可读存储介质 | |
US10185757B2 (en) | Non-uniform multi-row text file loading | |
CN110647577A (zh) | 数据立方体的分区方法、装置、计算机设备及存储介质 | |
US8005844B2 (en) | On-line organization of data sets | |
US20140195561A1 (en) | Search method and information managing apparatus | |
US10614102B2 (en) | Method and system for creating entity records using existing data sources | |
WO2022262240A1 (zh) | 数据处理方法、电子设备及存储介质 | |
CN113741864B (zh) | 基于自然语言处理的语义化服务接口自动设计方法与*** | |
CN113704182B (zh) | 一种数据检查方法及计算设备 | |
CN115934879A (zh) | 版式文档构建方法及***、文本搜索方法及*** | |
CN115686589A (zh) | 实体类文件更新***、方法及相应计算机设备和存储介质 | |
WO2017072872A1 (ja) | 業務プログラム生成支援システムおよび業務プログラム生成支援方法 | |
CN114968922A (zh) | 一种索引更新方法、计算设备及存储介质 | |
CN111723162B (zh) | 词典处理方法、处理装置、服务器和语音交互*** | |
CN108984719B (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 | ||
GR01 | Patent grant |