CN108280159A - 一种将图数据库转化为关系数据库的方法 - Google Patents
一种将图数据库转化为关系数据库的方法 Download PDFInfo
- Publication number
- CN108280159A CN108280159A CN201810042257.1A CN201810042257A CN108280159A CN 108280159 A CN108280159 A CN 108280159A CN 201810042257 A CN201810042257 A CN 201810042257A CN 108280159 A CN108280159 A CN 108280159A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- node
- row
- attribute
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种将图数据库转化为关系数据库的方法,首先基于泛化有向超图建立图数据库中属性数据的结构模型,对结构模型中的每个结点建立一个二维数据表,再根据有向边、附加有向边来构建数据表;使用泛化有向超图对图数据库中的结点、有向边、标签、图数据库、结点属性、有向边属性进行描述,建立数据存储特征描述模型,对描述模型中的每个结点建立一个二维数据表,再根据有向边来构建数据表;然后对所构建的数据表进行整理,在关系数据库管理系统中构建数据库和数据表,遍历图数据库中的数据,将相关数据信息填入关系数据库的二维数据表中。采用本发明可以准确地实现从图数据库到关系数据库的转化,且使得到的关系数据库结构合理。
Description
技术领域
本发明属于数据库技术领域,更为具体地讲,涉及一种将图数据库转化为关系数据库的方法。
背景技术
从20世纪60年代末开始,数据库技术经历了层次数据库、网状数据库和关系数据库等多个阶段,现已发展成为计算机应用系统中不可或缺的重要组成部分之一。关系数据库是目前数据库管理系统的主要类型之一,该技术以二维数据表的方式组织和存储数据,具有数据结构化、集中管理、易于扩充、且易于外部程序访问等优势。
20世纪60年代开始,技术人员开始基于网状数据库定义并应用图结构数据模型。2000年左右,专注于图结构的数据库管理系统开始出现成熟产品,并在社交网络分析、语义分析等领域得到了广泛应用。图数据库使用图结构来组织并存储数据,具体而言,业务数据及它们之间的关系在图数据库中被组织成为:结点、有向边和属性。其中,结点一般用于表示客观事物,有向边用于表示事物之间的关系,属性用于记录与结点或有向边有关的信息。与关系型数据库不同,图数据库关注描述业务数据及它们之间的关系,同时,该类数据库允许在结点和有向边内存储多个属性数据。另外,由于图数据库的存储模型不同于关系存储模型,所以该类数据库不支持基于SQL(Structured Query Language)方式的数据检索与操作。
根据以上说明可知,图数据库和关系数据库具有不同的技术特点,它们的应用场景不同。关系数据库适用于存储高度结构化的数据,而图数据库更专注于数据间的关系,并支持使用非结构化的存储结构来存储数据。应用系统在构建、升级或使用过程中,往往会出现对数据迁移的需求。数据迁移的实施会在相同或不同种类的数据库之间进行。当在不同种类的数据库之间进行数据迁移时,技术人员需要使用的一定技术手段才能促使和保障迁移工作的顺利实施。针对图数据库和关系数据库而言,两者的存储模式不同,如若需要把图数据库中的数据迁移存储到关系数据库中,则需要在关系数据库管理系统中设计一个合理的存储结构。存储结构的设计需要考虑很多因素,若设计不合理,则可能会导致数据遗漏或冗余,也可能会影响数据的访问和操作。
发明内容
本发明的目的在于克服现有技术的不足,提供一种将图数据库转化为关系数据库的方法,基于泛化有向超图,能准确地实现图数据库的转化,且使得到的关系数据库结构合理。
为实现上述发明目的,本发明将图数据库转化为关系数据库的方法,包括以下步骤:
S1:使用泛化有向超图对图数据库中的属性数据建立结构模型MD1=(V1, E1,AE1,Head,Tail,Source,Target),其中:
V1表示结构模型MD1的结点集合,具体定义为V1={键,值,键值对标识};
E1表示结构模型MD1的有向边集合,具体定义为E1={键值对};
AE1表示结构模型MD1的附加有向边集合,具体定义为AE1={标识};
Head表示有向边的终止结点,Tail表示有向边的起始结点;Head(“键值对”)=“值”,Tail(“键值对”)=“键”;
Source表示附加有向边的起始边,Target表示附加有向边的终止结点; Source(“标识”)=“键值对”,Target(“标识”)=“键值对标识”;
S2:对属性数据结构模型MD1中的每个结点分别建立一个二维数据表,每个二维数据表中包含的数据列为该数据表的主键,其中,“键”结点所对应数据表为“键表”,该表中的数据列名称为“键名”,数据类型为文本型;“值”结点所对应数据表为“值表”,该表中数据列名称为“值项”,数据类型为文本型;“键值对标识”结点所对应数据表为“键值对标识表”,表中数据列名称为“键值对标识”,数据类型为文本型;
S3:基于有向边“键值对”建立一张二维数据表,命名为“键值对表”,首先生成两个数据列,数据列的列名和数据类型来源于“键表”和“值表”中的列名及数据类型;
基于附加有向边“标识”,在“键值对表”中增加一个数据列,该数据列的列名和数据类型来源于“键值对标识表”中的列名及数据类型;选择“键值对表”的主键为“键值对标识”;
S4:对于基于属性数据结构模型所构建的数据表,删除“键表”、“值表”、“键值对标识表”,保留一张“键值对表”;
S5:使用泛化有向超图对图数据库中数据存储特征建立描述模型MD2=(V2, E2,AE2,Head,Tail,Source,Target),其中:
V2表示描述模型MD2的结点集合,具体定义为V2={属性,数据对象,数据关系,标签,图数据库};
E2表示描述模型MD2的有向边集合,具体定义为E2={数据对象属性,数据关系属性,数据对象标签,数据关系标签,数据对象归属数据库,数据关系归属数据库,起始结点,终止结点};
Head(“数据对象属性”)=“属性”,Tail(“数据对象属性”)=“数据对象”; Head(“数据关系属性”)=“属性”,Tail(“数据关系属性”)=“数据关系”;Head(“数据对象标签”)=“标签”,Tail(“数据对象标签”)=“数据对象”;Head(“数据关系标签”)=“标签”,Tail(“数据关系标签”)=“数据关系”;Head(“数据对象归属数据库”)=“图数据库”,Tail(“数据对象归属数据库”)=“数据对象”;Head(“数据关系归属数据库”)=“图数据库”,Tail(“数据关系归属数据库”)=“数据关系”;Head(“起始结点”)=“数据对象”,Tail(“起始结点”)=“数据关系”;Head(“终止结点”)=“数据对象”,Tail(“终止结点”)=“数据关系”;
AE2表示描述模型MD2的附加有向边的集合,为空集,附加有向边的起始边Source和附加有向边的终止结点Target也为空值;
S6:对数据存储特征描述模型MD2中的每个结点分别建立一个二维数据表,对于结点“属性”,该结点所对应表格为步骤S4所产生的“键值对表”;对“数据对象”结点建立二维数据表“数据对象表”,表中数据列名称为“数据对象”,数据类型为文本型,该数据列为该数据表的主键;对“数据关系”结点建立二维数据表“数据关系表”,表中数据列名称为“数据关系”,数据类型为文本型,该数据列为该数据表的主键;对“标签”结点建立二维数据表“标签表”,表中数据列名称为“标签”,数据类型为文本型,该数据列为该数据表的主键;对“图数据库”结点建立二维数据表“图数据库表”,表中数据列名称为“图数据库”,数据类型为文本型,该数据列为该数据表的主键;
S7:基于有向边“数据对象属性”建立一张二维数据表,名称为“数据对象属性表”,包含两个数据列,均为该数据表的外键,数据列的名称及数据类型来源于“数据对象表”和“键值对表”中的主键及相关数据类型;
基于有向边“数据关系属性”建立一张二维数据表,名称为“数据关系属性表”,包含两个数据列,均为该数据表的外键,数据列的名称及数据类型来源于“数据关系表”和“键值对表”中的主键及相关数据类型;
基于有向边“数据对象标签”建立一张二维数据表,名称为“数据对象标签表”,包含两个数据列,其中一个数据列为该数据表的外键,该数据列的名称及数据类型来源于“数据对象表”的主键及其数据类型;另外一个数据列的列名及数据类型来源于“标签表”中“标签”列的列名和数据类型;
基于有向边“数据关系标签”,在“数据关系表”中增加一个数据列,该列的列名及数据类型来源于“标签表”中“标签”列的列名和数据类型;
基于有向边“数据对象归属数据库”,在“数据对象表”中增加一个外键列,该列的名称和类型来源于“图数据库表”中主键及其数据类型;
基于有向边“数据关系归属数据库”,在“数据关系表”中增加一个外键列,该列的名称和类型来源于“图数据库表”中主键及其数据类型;
基于有向边“起始结点”,在“数据关系表”中增加一个外键列,该列的名称及数据类型来源于“数据对象表”的主键及其数据类型;
基于有向边“终止结点”,在“数据关系表”中增加一个外键列,该列的名称及数据类型来源于“数据对象表”的主键及其数据类型;
S8:删除“标签表”,将“数据关系表”中两个列名均为“数据对象”的外键列的列名分别修改为“起始结点”和“终止结点”;最终得到7个数据表:“键值对表”、“数据对象表”、“数据关系表”、“数据对象属性表”、“数据关系属性表”、“数据对象标签表”和“图结构数据库表”;
S9:在关系数据库管理系统中建立一个数据库,并在该数据库中定义步骤 S8中总结的所有数据表格;
S10:在图数据库管理系统中扫描待迁移的数据,根据图数据库的存储情况把数据库的名称填充到关系数据库中的“图数据库表”中,每个图数据库名称在“图数据库表”中使用一个数据行进行记录;
S11:对每个图数据库中的数据进行结点扫描,对每个结点,在“数据对象表”中新增一行数据,其中,在“数据对象”列中新建一个唯一标识,并在“图数据库”中记录该结点所归属的图数据库名;
在“数据对象标签表”中根据每个结点的标签个数增加数据行;每个数据行中,“数据对象”列的值为对象标识,“标签”列则记录结点的实际标签名称;
对于每个结点中的属性数据,在“键值对表”中根据属性数量增加数据行;每个数据行中,在“键值对标识”中为属性数据新建一个唯一标识,在“键名”中记录属性的键,在“值项”中记录属性的数据值;
对结点中的每个属性数据,在“数据对象属性表”中增加一行数据,其中,在“数据对象”列的值为对象标识,“键值对标识”列的值为属性在键值表中所对应的标识;
S12:对每个图数据库中的数据进行有向边扫描,对每个有向边,在“数据关系表”中新增一行数据,其中,在“数据关系”列中新建一个唯一标识,在“标签”列中记录该有向边的标签名,在“图数据库”中记录该有向边所归属的图数据库名,在“起始结点”中记录该有向边起始结点的标识,在“终止结点”列中记录该有向边的终止结点的标识;
对于每个有向边中的属性数据,在“键值对表”中根据每个有向边的属性数量增加数据行;每个数据行中,在“键值对标识”中为每个属性数据新建一个唯一标识,在“键名”中记录属性的键,在“值项”中记录属性的数据值;
对有向边中的每个属性数据,在“数据关系属性表”中增加一行数据,其中,在“数据关系”列的值为关系标识,“键值对标识”列的值为属性在键值表中所对应的标识。
本发明将图数据库转化为关系数据库的方法,首先基于泛化有向超图建立图数据库中属性数据的结构模型,对结构模型中的每个结点建立一个二维数据表,再根据有向边、附加有向边来构建数据表;使用泛化有向超图对图数据库中的结点、有向边、标签、图数据库、结点属性、有向边属性进行描述,建立数据存储特征描述模型,对描述模型中的每个结点建立一个二维数据表,再根据有向边来构建数据表;然后对所构建的数据表进行整理,在关系数据库管理系统中构建数据库和数据表,遍历图数据库中的数据,将相关数据信息填入关系数据库的二维数据表中。采用本发明可以准确地实现从图数据库到关系数据库的转化,且使得到的关系数据库结构合理。
附图说明
图1是本发明将图数据库转化为关系数据库的方法的具体实施方式流程图;
图2是本实施例中泛化有向超图的元素外观示意图;
图3是本实施例中一个图数据库的存储实例;
图4是本发明中图数据库中的属性数据结构模型的示意图;
图5是本发明中属性数据结构模型结点数据表的示例图;
图6是本发明中基于属性数据结构模型中的边信息所构建二维数据表的示例图;
图7是本发明中基于属性数据结构模型所构建数据表经过整理以后的结果示例图;
图8是本发明中建立的图数据库中数据存储特征描述模型的示意图;
图9是本实施例中图数据库中数据存储特征描述模型结点数据表的示例图;
图10是本实施例中图数据库对应的所有二维数据表示例图;
图11是本实施例中经整理以后所形成数据表格示例图;
图12是本实施例中将图3中存储实例存储到关系数据库的示例图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明将图数据库转化为关系数据库的方法的具体实施方式流程图。如图1所示,本发明将图数据库转化为关系数据库的方法的具体步骤包括:
S101:建立图数据库中的属性数据结构模型:
泛化有向超图用于表示数据及数据间的关系,包含三种图形元素:结点、有向边、附加有向边。图2是本实施例中泛化有向超图的元素外观示意图。如图2所示,“结点”使用空心圆点表示;“有向边”使用箭头来表示,该箭头的头部和尾部必须为“结点”;“附加有向边”使用箭头来表示,而附加有向边的尾部为一个“有向边”,头部则必须为一个“结点”。
当使用泛化有向超图对应用场景中的数据进行描述时,一个“结点”用于表示应用中一个具体的数据项,一个“有向边”则表示两个数据项之间的一个二元关系,而一个“附加有向边”表示三个数据项之间的一个三元关系。
图数据库使用结点、有向边和属性来存储业务数据。在图数据库中,结点一般用于表示客观事物,有向边用于表示事物之间的关系,属性用于记录与结点或有向边有关的信息。其中,一个结点可以包含多个标签用于表示结点类型;一个有向边可包含一个标签用于表示有向边的类型;结点和有向边可以包含若干属性,属性按“键-值”数据对的方式组织,在一个“键-值”对中,“键”部分为属性数据的标识符,“值”为属性的数据值。图3是本实施例中一个图数据库的存储实例。在图3中,业务数据被组织成为三个结点和两个有向边。三个结点中,有两个结点的标签为“人”,表示为“:人”;一个结点的标签为“电影”,表示为“:电影”。两个有向边中,一个有向边的标签为“演员”,表示为“:演员”,另一个有向边的标签为“导演”,表示为“:导演”。结点中的属性数据包含:“姓名='Tom Hanks'”、“出生年份=1956”、“名字='Forrest Gump'”、“发布时间=1994”、“姓名='Robert Zemeckis'”、“出生年份=1952”。有向边中的属性数据包含:“角色=['Forest']”,属于有向边“:演员”。
针对图数据库中的属性,本发明为其建立了基于泛化有向超图的结构模型,实现对图数据库中属性的精确描述。图4是本发明中图数据库中的属性数据结构模型的示意图。如图4所示,本发明中图数据库中的属性数据结构模型包含:
(1)结点,分别为:“键”、“值”和“键值对标识”;
(2)有向边,包含:“键值对”;
(3)附加有向边,包含:“标识”;
(4)针对有向边“键值对”,其头部为“值”,尾部为“键”;
(5)针对附加有向边“标识”,其尾部为“键值对”,其头部为“键值对标识”。
基于以上分析,记属性数据结构模型为泛化有向超图MD1=(V1,E1,AE1, Head,Tail,Source,Target),其中:
V1表示结构模型MD1的结点集合,具体定义为V1={键,值,键值对标识};
E1表示结构模型MD1的有向边集合,具体定义为E1={键值对};
AE1表示结构模型MD1的附加有向边集合,具体定义为AE1={标识};
Head表示有向边的终止结点(有向边的头部),Tail表示有向边的起始结点 (有向边尾部);因此,可定义Head(“键值对”)=“值”,Tail(“键值对”)=“键”;
Source表示附加有向边的起始边,Target表示附加有向边的终止结点;因此,可确定:Source(“标识”)=“键值对”,Target(“标识”)=“键值对标识”。
S102:对属性数据结构模型的结点分别建立二维数据表:
对属性数据结构模型MD1中的每个结点分别建立一个二维数据表。每个二维数据表中包含的数据列为该数据表的主键,其中,“键”结点所对应数据表为“键表”,该表中的数据列名称为“键名”,数据类型为文本型;“值”结点所对应数据表为“值表”,该表中数据列名称为“值项”,数据类型为文本型;“键值对标识”结点所对应数据表为“键值对标识表”,表中数据列名称为“键值对标识”,数据类型为文本型。图5是本发明中属性数据结构模型结点数据表的示例图。
S103:基于属性数据结构模型中的边信息构建二维数据表:
基于附加有向边“标识”,可以确定“键”、“值”、“键值对标识”之间的一个三元关系。该三元关系在有向边“键值对”基础上构建,即首先需要记录“键 -值”对,再建立“键-值”对的唯一标识。
首先,基于有向边“键值对”建立一个二维数据表,命名为“键值对表”,首先生成两个数据列,数据列的列名和数据类型来源于“键表”和“值表”中的列名及数据类型,因此可以将此时的“键值对表”视为“键表”和“值表”的合并。
然后,基于附加有向边“标识”,在“键值对表”中增加一个数据列,该数据列的列名和数据类型来源于“键值对标识表”中的列名及数据类型;选择“键值对表”的主键为“键值对标识”。
图6是本发明中基于属性数据结构模型中的边信息所构建二维数据表的示例图。如图6所示,基于属性数据结构模型中的边信息可以得到“键值对表”,一共包含三个数据列,分别为“键名”、“值项”和“键值对标识”。
S104:整理基于属性数据结构模型所构建的数据表:
由于“键表”、“值表”、“键值对标识表”中的数据都可在“键值对表”进行记录,所以“键表”、“值表”、“键值对标识表”为冗余表格,因此删除“键表”、“值表”、“键值对标识表”,保留一张“键值对表”。图7是本发明中基于属性数据结构模型所构建数据表经过整理以后的结果示例图。
S105:建立图数据库中数据存储特征的描述模型:
图8是本发明中建立的图数据库中数据存储特征描述模型的示意图。如图8 所示,本发明中建立的图数据库中数据存储特征描述模型的结构包含:
(1)结点,分别为:“属性”、“数据对象”、“数据关系”、“标签”和“图数据库”;
(2)有向边,包含:“数据对象属性”、“数据关系属性”、“数据对象标签”、“数据关系标签”、“数据对象归属数据库”、“数据关系归属数据库”、“起始结点”、“终止结点”;
(3)针对有向边“数据对象属性”,其头部为“属性”,尾部为“数据对象”;对有向边“数据关系属性”,其头部为“属性”,尾部为“数据关系”;对有向边“数据对象标签”,其头部为“标签”,尾部为“数据对象”;对有向边“数据关系标签”,其头部为“标签”,尾部为“数据关系”;对有向边“数据对象归属数据库”,其头部为“图数据库”,尾部为“数据对象”;对有向边“数据关系归属数据库”,其头部为“图数据库”,尾部为“数据关系”;对有向边“起始结点”,其头部为“数据对象”,尾部为“数据关系”;对有向边“终止结点”,其头部为“数据对象”,尾部为“数据关系”。
本发明中建立的图数据库中数据存储特征描述模型中附加有向边为空集,自然,附加有向边的起始边和附加有向边的终止结点在数据存储特征描述模型中不参与计算。
基于以上分析,记数据存储特征描述模型为泛化有向超图MD2=(V2,E2, AE2,Head,Tail,Source,Target),其中:
V2表示结点集合,具体定义为V2={属性,数据对象,数据关系,标签,图数据库};
E2表示有向边集合,具体定义为E2={数据对象属性,数据关系属性,数据对象标签,数据关系标签,数据对象归属数据库,数据关系归属数据库,起始结点,终止结点};
Head表示有向边的终止结点(有向边的头部),Tail表示有向边的起始结点 (有向边尾部);因此可确定Head(“数据对象属性”)=“属性”,Tail(“数据对象属性”)=“数据对象”;Head(“数据关系属性”)=“属性”,Tail(“数据关系属性”)=“数据关系”;Head(“数据对象标签”)=“标签”,Tail(“数据对象标签”)=“数据对象”; Head(“数据关系标签”)=“标签”,Tail(“数据关系标签”)=“数据关系”;Head(“数据对象归属数据库”)=“图数据库”,Tail(“数据对象归属数据库”)=“数据对象”; Head(“数据关系归属数据库”)=“图数据库”,Tail(“数据关系归属数据库”)=“数据关系”;Head(“起始结点”)=“数据对象”,Tail(“起始结点”)=“数据关系”;Head(“终止结点”)=“数据对象”,Tail(“终止结点”)=“数据关系”。
AE2表示描述模型MD2的附加有向边的集合,为空集,因此附加有向边的起始边Source和附加有向边的终止结点Target也为空值。
S106:对数据存储特征描述模型的结点分别建立二维数据表:
对数据存储特征描述模型MD2中的每个结点分别建立一个二维数据表。对于结点“属性”,该结点所对应表格为步骤S104所产生的“键值对表”;对“数据对象”结点建立二维数据表“数据对象表”,表中数据列名称为“数据对象”,数据类型为文本型,该数据列为该数据表的主键;对“数据关系”结点建立二维数据表“数据关系表”,表中数据列名称为“数据关系”,数据类型为文本型,该数据列为该数据表的主键;对“标签”结点建立二维数据表“标签表”,表中数据列名称为“标签”,数据类型为文本型,该数据列为该数据表的主键;对“图数据库”结点建立二维数据表“图数据库表”,表中数据列名称为“图数据库”,数据类型为文本型,该数据列为该数据表的主键。图9是本实施例中图数据库中数据存储特征描述模型结点数据表的示例图。
S107:基于数据存储特征描述模型中的边信息构建并调整数据表:
基于数据存储特征描述模型MD2构建并调整现有数据表格。首先,对于有向边“数据对象属性”,“数据对象”和“属性”是多对多关系,即:一个“数据对象”可包含多个“属性”,且一个“属性”可被多个“数据对象”包含。所以,基于有向边“数据对象属性”建立一张二维数据表,名称为“数据对象属性表”,包含两个数据列,均为该数据表的外键,数据列的名称及数据类型来源于“数据对象表”和“键值对表”中的主键及相关数据类型;
对于有向边“数据关系属性”,“数据关系”和“属性”是多对多关系,即:一个“数据关系”可包含多个“属性”,且一个“属性”可被多个“数据关系”包含。所以,基于有向边“数据关系属性”建立一张二维数据表,名称为“数据关系属性表”,包含两个数据列,均为该数据表的外键,数据列的名称及数据类型来源于“数据关系表”和“键值对表”中的主键及相关数据类型;
对于有向边“数据对象标签”,“数据对象”和“标签”为多对多关系,即:一个“数据对象”可使用多个“标签”,且一个“标签”可被多个“数据对象”使用。所以,基于有向边“数据对象标签”建立一张二维数据表,名称为“数据对象标签表”,包括两个数据列,其中一个数据列为该数据表的外键,该数据列的名称及数据类型来源于“数据对象表”的主键及其数据类型;另外一个数据列的列名及数据类型来源于“标签表”中“标签”列的列名和数据类型;
对于有向边“数据关系标签”,“数据关系”和“标签”为一对多关系,即:一个“数据关系”只能使用一个“标签”,而一个“标签”可被多个“数据关系”使用;在该关系中,“数据关系”是关系的“一”方,而“标签”为关系的“多”方。所以,基于有向边“数据关系标签”,在“数据关系表”中增加一个数据列,该列的列名及数据类型来源于“标签表”中“标签”列的列名和数据类型;
对于有向边“数据对象归属数据库”,“数据对象”和“图数据库”为一对多关系,即:一个“数据对象”归属于一个“图数据库”,而一个“图数据库”可包含多个“数据对象”;“数据对象”是关系的“一”方,而“图数据库”是关系的“多”方。所以,基于有向边“数据对象归属数据库”,在“数据对象表”中增加一个外键列,该列的名称和类型来源于“图数据库表”中主键列名和数据类型;
对于有向边“数据关系归属数据库”,“数据关系”和“图数据库”为一对多关系,即:一个“数据关系”归属于一个“图数据库”,而一个“图数据库”可包含多个“数据关系”;“数据关系”是关系的“一”方,而“图数据库”是关系的“多”方。所以,基于有向边“数据关系归属数据库”,在“数据关系表”中增加一个外键列,该列的名称和类型来源于“图数据库表”中主键及其数据类型;
对于有向边“起始结点”,“数据对象”和“数据关系”为一对多关系,即:一个“数据关系”只有一个“数据对象”为起始结点,而一个“数据对象”可以是多个“数据关系”的起始结点;“数据关系”是关系的“一”方,而“数据对象”是关系的“多”方。所以,基于有向边“起始结点”,在“数据关系表”中增加一个外键列,该列的名称及数据类型来源于“数据对象表”的主键及其数据类型;
对于有向边“终止结点”,“数据对象”和“数据关系”为一对多关系,即:一个“数据关系”只有一个“数据对象”为终止结点,而一个“数据对象”可以是多个“数据关系”的终止结点;“数据关系”是关系的“一”方,而“数据对象”是关系的“多”方。所以,基于有向边“终止结点”,在“数据关系表”中增加一个外键列,该列的名称及数据类型来源于“数据对象表”的主键及其数据类型。
经过步骤S106至S107,即可获得图数据库对应的所有二维数据表。图10 是本实施例中图数据库对应的所有二维数据表示例图。
S108:整理所有数据表:
类似地,由于“标签表”中的数据可在“数据关系表”和“数据对象标签表”中进行记录,所以“标签表”为冗余表格,将其删除。另外,由于“数据关系表”中有两个列名均为“数据对象”的外键列,将这两个数据列的列名分别修改为“起始结点”和“终止结点”。图11是本实施例中经整理以后所形成数据表格示例图。如图11所示,所形成的表格有七张,分别为:“键值对表”、“数据对象表”、“数据关系表”、“数据对象属性表”、“数据关系属性表”、“数据对象标签表”和“图数据库表”。
S109:在关系数据库管理系统中构建数据库:
在关系数据库管理系统中建立一个数据库,并在该数据库中定义步骤S108 中所总结的数据表格。
S110:在关系数据库中记录待转化图数据库名称:
在图数据库管理系统中扫描待迁移的数据,根据图数据库的存储情况把数据库的名称填写在关系数据库中的“图数据库表”中,每个图数据库名称在“图数据库表”中使用一个数据行进行记录。针对图3中的图数据库存储实例,在“图数据库表”中增加一行数据,值为“GDB1”。
S111:在关系数据库中记录待转化图数据库中的结点信息:
对每个图数据库中的数据进行结点扫描,对每个结点,在“数据对象表”中新增一行数据,其中,在“数据对象”列中新建一个唯一标识,并在“图数据库”中记录该结点所归属的图数据库名。因此,针对图3中的存储实例,“数据对象表”会增加三行数据,数据对象分别为“N1”、“N2”和“N3”,数据库名均为“GDB1”。
在“数据对象标签表”中根据每个结点的标签个数增加数据行;每个数据行中,“数据对象”列的值为对象标识(该值与“数据对象表”中的“数据对象”列中的值对应),“标签”列则记录结点的实际标签名称。因此,针对图3中的存储实例,“数据对象标签表”会增加三行数据,数据对象分别记为“N1”、“N2”和“N3”,标签分别为“人”和“电影”。
对于每个结点中的属性数据,在“键值对表”中根据属性数量增加数据行,每个数据行中,在“键值对标识”中为属性数据新建一个唯一标识,在“键名”中记录属性的键,在“值项”中记录属性的数据值。因此,针对图3中的存储实例,“键值对表”中会增加六行数据,分别记录:“姓名='Tom Hanks'”、“出生年份=1956”、“名字='Forrest Gump'”、“发布时间=1994”、“姓名= 'Robert Zemeckis'”、“出生年份=1952”。
对结点中的每个属性数据,在“数据对象属性表”中增加一行数据,其中,在“数据对象”列的值为对象标识(该值与“数据对象表”中的“数据对象”列中的值对应),“键值对标识”列的值为属性在键值对表中所对应的标识(该值与“键值对表”中的“键值对标识”列中的值对应)。因此,针对图3中的存储实例,“数据对象属性表”中会增加六行数据,分别记录三个结点所包含六个属性的标识。
S112:在关系数据库中记录待转化图数据库中的有向边信息:
对每个图数据库中的数据进行有向边扫描,对每个有向边,在“数据关系表”中新增一行数据,其中,在“数据关系”列中新建一个唯一关系标识,在“标签”列中记录该有向边的标签名,在“图数据库”中记录该有向边所归属的图数据库名,在“起始结点”中记录该有向边起始结点的标识(该值与“数据对象表”中的“数据对象”列中的值对应),在“终止结点”列中记录该有向边的终止结点的标识(该值与“数据对象表”中的“数据对象”列中的值对应)。因此,针对图3中的存储实例,“数据关系表”中会增加两行数据,分别记录两个有向边及相关的标签、起始和终止结点;有向边分别记为“E1”和“E2”,标签分别为“演员”和“导演”,“E1”的起始结点和终止结点分别为“N1”和“N2”,“E2”的起始结点和终止结点分别为“N3”和“N2”。
对于每个有向边中的属性数据,在“键值对表”中根据每个有向边的属性数量增加数据行;每个数据行中,在“键值对标识”中为每个属性数据新建一个唯一标识,在“键名”中记录属性的键,在“值项”中记录属性的数据值。因此,针对图3中的存储实例,“键值对表”中会增加一行数据,记录:“角色=['Forest']”。
对有向边中的每个属性数据,在“数据关系属性表”中增加一行数据,其中,在“数据关系”列的值为关系标识(该值与“数据关系表”中的“数据关系”列中的值对应),“键值对标识”列的值为属性在键值表中所对应的标识(该值与“键值对表”中的“键值对标识”列中的值对应)。因此,针对图3中的存储实例,“数据关系属性表”中会增加一行数据,记录“E1”中的一个属性。
经过步骤S109至S112,即可将图3中存储实例对应的关系数据库。图12 是本实施例中将图3中存储实例存储到关系数据库的示例图。如图12所示,本实施例的关系数据库中包含了7张二维数据表,具体为:“键值对表”、“数据对象表”、“数据关系表”、“数据对象属性表”、“数据关系属性表”、“数据对象标签表”和“图数据库表”。基于这7张二维数据表,可以准确存储图数据库的信息,且相关数据冗余较少,结构合理。在实际应用中,还可以对这些表格进行结构扩展以满足不同的需求。
在本发明中,采用泛化有向超图来构建图数据库中的属性数据结构模型和数据存储特征描述模型,而构建数据表的过程可以视为对上述两个数据模型的实例化,该实例化过程可以通过kleisli范畴来进行解释,具体而言为:
针对一个数据模型M,其实例化的过程是一个态射(Morphism):
I:M→Kls(T)
其中,Kls(T)是一个kleisli范畴,T是一个集合幂集函子P上的单子(monad),具体定义为:(P,η,μ)。
在(P,η,μ)中,P是一个集合幂集函子;η:idSet→P是一个自然转换运算 (naturaltransformation),可计算获得一个集合元素的单键子集;是一个自然转换运算(natural transformation),可基于集合并集运算将两个幂集元素合并成一个幂集元素。
基于态射I的实例化过程包含以下技术细节:
1)对于M中的每一个结点,在Kls(T)中可找到一个对应的对象,即:
Ob(I):V→Ob(Kls(T))
其中,V是M中的结点集合,Ob(Kls(T))是Kls(T)中的对象集合。
2)对于M中的每一个有向边,在Kls(T)中可找到一个对应的态射,即:
HomI(w,v):E→HomKls(T)(Ob(I)(w),Ob(I)(v))
其中,HomKls(T)(Ob(I)(w),Ob(I)(v))是Kls(T)中从Ob(I)(w)到Ob(I)(v)的态射集合,w和v是M中的结点元素;E是M中的有向边集。对于任意一有向边e,其头部结点是v,尾部结点是w,则Kls(T)中与其对应的是一个从Ob(I)(w)到 Ob(I)(v)的态射;
3)对于M中的每一个附加有向边,在Kls(T)中找到一个对应的态射,即:
HomI(e,u):AE→HomKls(T)(HomI(w,v)(e),Ob(I)(u))
式中,HomKls(T)(HomI(w,v)(e),Ob(I)(u))是Kls(T)中从HomI(w,v)(e)到Ob(I)(u)的态射集合,w、v和u是M中的结点元素,AE是M中的附加有向边集,e是M 中的一个有向边。对于有向边e,且v=Head(e)∈V,w=Tail(e)∈V。对于一个附加有向边,其起始边为e,目标结点为u,则该边在Kls(T)范畴中是一个从 HomI(w,v)(e)到Ob(I)(u)的态射。
对于一个给定的数据模型M,所实现的实例具有以下性质:
a.M中的一个结点,通过Kls(T)可获得一个集合;
b.M中的一个有向边,通过Kls(T)可获得集合上的一个二元关系;
c.M中的一个附加有向边,通过Kls(T)可获得集合上的一个三元关系。
对于上述性质的证明过程如下:
基于Kls(T)范畴的定义,该范畴中的每个元素是一个集合,因此上述性质中的性质a成立。
对于M中的一个有向边e,且v=Head(e)、w=Tail(e),则Kls(T)中对应的态射为:Ob(I)(w)→Ob(I)(v);设A=Ob(I)(w)、B=Ob(I)(v),则上式为A→B,基于Kls(T)范畴的定义,可获得集合上的运算A→P(B),其中P(B)为B的幂集。而 A→P(B)等价于P(A×B),即通过A→P(B)可获得集合A和集合B笛卡尔积的幂集,所以,e通过Kls(T)可获得集合上的一个二元关系。因此上述性质中的性质 b成立。
对于M中的一个附加有向边,若其目标结点为u,起始边为e,且v=Head(e), w=Tail(e);则Kls(T)中对应的态射为:HomI(w,v)(e)→Ob(I)(u);基于上一步证明可知:HomI(w,v)(e)是集合上的一个二元关系,表示为P(A×B);通过Kls(T)可在态射HomI(w,v)(e)→Ob(I)(u)基础上获得P(P(A×B)×Ob(I)(u)),即一个附加有向边可通过Kls(T)获得集合上的一个三元关系。因此上述性质中的性质c成立。。
综上所述,无论从具体实例还是理论说明,都可以证明本发明的有效性。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种将图数据库转化为关系数据库的方法,其特征在于,包括以下步骤:
S1:使用泛化有向超图对图数据库中的属性数据建立结构模型MD1=(V1,E1,AE1,Head,Tail,Source,Target),其中:
V1表示结构模型MD1的结点集合,具体定义为V1={键,值,键值对标识};
E1表示结构模型MD1的有向边集合,具体定义为E1={键值对};
AE1表示结构模型MD1的附加有向边集合,具体定义为AE1={标识};
Head表示有向边的终止结点,Tail表示有向边的起始结点;Head(“键值对”)=“值”,Tail(“键值对”)=“键”;
Source表示附加有向边的起始边,Target表示附加有向边的终止结点;Source(“标识”)=“键值对”,Target(“标识”)=“键值对标识”;
S2:对属性数据结构模型MD1中的每个结点分别建立一个二维数据表,每个二维数据表中包含的数据列为该数据表的主键,其中,“键”结点所对应数据表为“键表”,该表中的数据列名称为“键名”,数据类型为文本型;“值”结点所对应数据表为“值表”,该表中数据列名称为“值项”,数据类型为文本型;“键值对标识”结点所对应数据表为“键值对标识表”,表中数据列名称为“键值对标识”,数据类型为文本型;
S3:基于有向边“键值对”建立一张二维数据表,命名为“键值对表”,首先生成两个数据列,数据列的列名和数据类型来源于“键表”和“值表”中的列名及数据类型;
基于附加有向边“标识”,在“键值对表”中增加一个数据列,该数据列的列名和数据类型来源于“键值对标识表”中的列名及数据类型;选择“键值对表”的主键为“键值对标识”;
S4:对于基于属性数据结构模型所构建的数据表,删除“键表”、“值表”、“键值对标识表”,保留一张“键值对表”;
S5:使用泛化有向超图对图数据库中数据存储特征建立描述模型MD2=(V2,E2,AE2,Head,Tail,Source,Target),其中:
V2表示描述模型MD1的结点集合,具体定义为V2={属性,数据对象,数据关系,标签,图数据库};
E2表示描述模型MD1的有向边集合,具体定义为E2={数据对象属性,数据关系属性,数据对象标签,数据关系标签,数据对象归属数据库,数据关系归属数据库,起始结点,终止结点};
Head(“数据对象属性”)=“属性”,Tail(“数据对象属性”)=“数据对象”;Head(“数据关系属性”)=“属性”,Tail(“数据关系属性”)=“数据关系”;Head(“数据对象标签”)=“标签”,Tail(“数据对象标签”)=“数据对象”;Head(“数据关系标签”)=“标签”,Tail(“数据关系标签”)=“数据关系”;Head(“数据对象归属数据库”)=“图数据库”,Tail(“数据对象归属数据库”)=“数据对象”;Head(“数据关系归属数据库”)=“图数据库”,Tail(“数据关系归属数据库”)=“数据关系”;Head(“起始结点”)=“数据对象”,Tail(“起始结点”)=“数据关系”;Head(“终止结点”)=“数据对象”,Tail(“终止结点”)=“数据关系”;
AE2表示描述模型MD2的附加有向边的集合,为空集,附加有向边的起始边Source和附加有向边的终止结点Target也为空值;
S6:对数据存储特征描述模型MD2中的每个结点分别建立一个二维数据表,对于结点“属性”,该结点所对应表格为步骤S4所产生的“键值对表”;对“数据对象”结点建立二维数据表“数据对象表”,表中数据列名称为“数据对象”,数据类型为文本型,该数据列为该数据表的主键;对“数据关系”结点建立二维数据表“数据关系表”,表中数据列名称为“数据关系”,数据类型为文本型,该数据列为该数据表的主键;对“标签”结点建立二维数据表“标签表”,表中数据列名称为“标签”,数据类型为文本型,该数据列为该数据表的主键;对“图数据库”结点建立二维数据表“图数据库表”,表中数据列名称为“图数据库”,数据类型为文本型,该数据列为该数据表的主键;
S7:基于有向边“数据对象属性”建立一张二维数据表,名称为“数据对象属性表”,包含两个数据列,均为该数据表的外键,数据列的名称及数据类型来源于“数据对象表”和“键值对表”中的主键及相关数据类型;
基于有向边“数据关系属性”建立一张二维数据表,名称为“数据关系属性表”,包含两个数据列,均为该数据表的外键,数据列的名称及数据类型来源于“数据关系表”和“键值对表”中的主键及相关数据类型;
基于有向边“数据对象标签”建立一张二维数据表,名称为“数据对象标签表”,包含两个数据列,其中一个数据列为该数据表的外键,该数据列的名称及数据类型来源于“数据对象表”的主键及其数据类型;另外一个数据列的列名及数据类型来源于“标签表”中“标签”列的列名和数据类型;
基于有向边“数据关系标签”,在“数据关系表”中增加一个数据列,该列的列名及数据类型来源于“标签表”中“标签”列的列名和数据类型;
基于有向边“数据对象归属数据库”,在“数据对象表”中增加一个外键列,该列的名称和类型来源于“图数据库表”中主键及其数据类型;
基于有向边“数据关系归属数据库”,在“数据关系表”中增加一个外键列,该列的名称和类型来源于“图数据库表”中主键及其数据类型;
基于有向边“起始结点”,在“数据关系表”中增加一个外键列,该列的名称及数据类型来源于“数据对象表”的主键及其数据类型;
基于有向边“终止结点”,在“数据关系表”中增加一个外键列,该列的名称及数据类型来源于“数据对象表”的主键及其数据类型;
S8:删除“标签表”,将“数据关系表”中两个列名均为“数据对象”的外键列的列名分别修改为“起始结点”和“终止结点”;最终得到7个数据表:“键值对表”、“数据对象表”、“数据关系表”、“数据对象属性表”、“数据关系属性表”、“数据对象标签表”和“图结构数据库表”;
S9:在关系数据库管理系统中建立一个数据库,并在该数据库中定义步骤S8中总结的所有数据表格;
S10:在图数据库管理系统中扫描待迁移的数据,根据图数据库的存储情况把数据库的名称填充到关系数据库中的“图数据库表”中,每个图数据库名称在“图数据库表”中使用一个数据行进行记录;
S11:对每个图数据库中的数据进行结点扫描,对每个结点,在“数据对象表”中新增一行数据,其中,在“数据对象”列中新建一个唯一标识,并在“图数据库”中记录该结点所归属的图数据库名;
在“数据对象标签表”中根据每个结点的标签个数增加数据行;每个数据行中,“数据对象”列的值为对象标识,“标签”列则记录结点的实际标签名称;
对于每个结点中的属性数据,在“键值对表”中根据属性数量增加数据行;每个数据行中,在“键值对标识”中为属性数据新建一个唯一标识,在“键名”中记录属性的键,在“值项”中记录属性的数据值;
对结点中的每个属性数据,在“数据对象属性表”中增加一行数据,其中,在“数据对象”列的值为对象标识,“键值对标识”列的值为属性在键值表中所对应的标识;
S12:对每个图数据库中的数据进行有向边扫描,对每个有向边,在“数据关系表”中新增一行数据,其中,在“数据关系”列中新建一个唯一标识,在“标签”列中记录该有向边的标签名,在“图数据库”中记录该有向边所归属的图数据库名,在“起始结点”中记录该有向边起始结点的标识,在“终止结点”列中记录该有向边的终止结点的标识;
对于每个有向边中的属性数据,在“键值对表”中根据每个有向边的属性数量增加数据行;每个数据行中,在“键值对标识”中为每个属性数据新建一个唯一标识,在“键名”中记录属性的键,在“值项”中记录属性的数据值;
对有向边中的每个属性数据,在“数据关系属性表”中增加一行数据,其中,在“数据关系”列的值为关系标识,“键值对标识”列的值为属性在键值表中所对应的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810042257.1A CN108280159B (zh) | 2018-01-16 | 2018-01-16 | 一种将图数据库转化为关系数据库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810042257.1A CN108280159B (zh) | 2018-01-16 | 2018-01-16 | 一种将图数据库转化为关系数据库的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280159A true CN108280159A (zh) | 2018-07-13 |
CN108280159B CN108280159B (zh) | 2021-08-20 |
Family
ID=62803786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810042257.1A Active CN108280159B (zh) | 2018-01-16 | 2018-01-16 | 一种将图数据库转化为关系数据库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108280159B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190904A (zh) * | 2019-12-30 | 2020-05-22 | 四川蜀天梦图数据科技有限公司 | 一种图-关系数据库混合存储的方法和装置 |
CN111353046A (zh) * | 2018-12-20 | 2020-06-30 | 杭州海康威视数字技术股份有限公司 | 图谱数据存储方法、装置、电子设备及可读存储介质 |
CN113220659A (zh) * | 2021-04-08 | 2021-08-06 | 杭州费尔斯通科技有限公司 | 一种数据迁移的方法、系统、电子装置和存储介质 |
CN113536047A (zh) * | 2021-06-28 | 2021-10-22 | 北京明略软件系统有限公司 | 一种图数据库数据删除方法、系统、电子设备及存储介质 |
CN113722294A (zh) * | 2021-09-01 | 2021-11-30 | 达梦数据技术(江苏)有限公司 | 一种从图数据库到关系数据库的数据迁移方法和系统 |
CN117251460A (zh) * | 2023-08-10 | 2023-12-19 | 上海栈略数据技术有限公司 | 图数据库和关系数据库的数据一致性校验系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361099A (zh) * | 2014-11-21 | 2015-02-18 | 北京邮电大学 | 一种面向异构存储的适配装置 |
US20150081741A1 (en) * | 2013-09-16 | 2015-03-19 | GraphSQL, Inc. | Incremental graph view maintenance |
US20160092527A1 (en) * | 2014-09-30 | 2016-03-31 | Bitnine Co., Ltd. | Data processing apparatus and data mapping method thereof |
CN105808553A (zh) * | 2014-09-26 | 2016-07-27 | 三星Sds株式会社 | 数据库迁移方法及其装置 |
CN106874422A (zh) * | 2017-01-25 | 2017-06-20 | 东南大学 | 一种面向关系型数据库的图查询方法 |
-
2018
- 2018-01-16 CN CN201810042257.1A patent/CN108280159B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150081741A1 (en) * | 2013-09-16 | 2015-03-19 | GraphSQL, Inc. | Incremental graph view maintenance |
CN105808553A (zh) * | 2014-09-26 | 2016-07-27 | 三星Sds株式会社 | 数据库迁移方法及其装置 |
US20160092527A1 (en) * | 2014-09-30 | 2016-03-31 | Bitnine Co., Ltd. | Data processing apparatus and data mapping method thereof |
CN104361099A (zh) * | 2014-11-21 | 2015-02-18 | 北京邮电大学 | 一种面向异构存储的适配装置 |
CN106874422A (zh) * | 2017-01-25 | 2017-06-20 | 东南大学 | 一种面向关系型数据库的图查询方法 |
Non-Patent Citations (5)
Title |
---|
PRZEMYSŁAW IDZIASZEK 等: ""Visualisation of Relational Database Structure by Graph Database"", 《CMST》 * |
ROHIT KUMAR KALIYAR 等: ""Graph Databases: A Survey"", 《INTERNATIONAL CONFERENCE ON COMPUTING, COMMUNICATION AND AUTOMATION (ICCCA2015)》 * |
丁强龙: ""图数据的抽取及分布式图数据管理研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
韩强: ""一种高效的图数据抽取技术的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
项灵辉 等: ""基于图数据库的RDF 数据分布式存储"", 《计算机应用与软件》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353046A (zh) * | 2018-12-20 | 2020-06-30 | 杭州海康威视数字技术股份有限公司 | 图谱数据存储方法、装置、电子设备及可读存储介质 |
CN111353046B (zh) * | 2018-12-20 | 2023-05-26 | 杭州海康威视数字技术股份有限公司 | 图谱数据存储方法、装置、电子设备及可读存储介质 |
CN111190904A (zh) * | 2019-12-30 | 2020-05-22 | 四川蜀天梦图数据科技有限公司 | 一种图-关系数据库混合存储的方法和装置 |
CN111190904B (zh) * | 2019-12-30 | 2023-12-08 | 四川蜀天梦图数据科技有限公司 | 一种图-关系数据库混合存储的方法和装置 |
CN113220659A (zh) * | 2021-04-08 | 2021-08-06 | 杭州费尔斯通科技有限公司 | 一种数据迁移的方法、系统、电子装置和存储介质 |
CN113536047A (zh) * | 2021-06-28 | 2021-10-22 | 北京明略软件系统有限公司 | 一种图数据库数据删除方法、系统、电子设备及存储介质 |
CN113722294A (zh) * | 2021-09-01 | 2021-11-30 | 达梦数据技术(江苏)有限公司 | 一种从图数据库到关系数据库的数据迁移方法和系统 |
CN113722294B (zh) * | 2021-09-01 | 2024-02-23 | 达梦数据技术(江苏)有限公司 | 一种从图数据库到关系数据库的数据迁移方法和系统 |
CN117251460A (zh) * | 2023-08-10 | 2023-12-19 | 上海栈略数据技术有限公司 | 图数据库和关系数据库的数据一致性校验系统 |
CN117251460B (zh) * | 2023-08-10 | 2024-04-05 | 上海栈略数据技术有限公司 | 图数据库和关系数据库的数据一致性校验系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108280159B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280159A (zh) | 一种将图数据库转化为关系数据库的方法 | |
CN107122443B (zh) | 一种基于Spark SQL的分布式全文检索系统及方法 | |
US7769769B2 (en) | Methods and transformations for transforming metadata model | |
CN104346377B (zh) | 一种基于唯一标识的数据集成和交换方法 | |
CN106933833B (zh) | 一种基于空间索引技术的位置信息快速查询方法 | |
US20020184211A1 (en) | System and method for organizing data | |
CN102893281A (zh) | 信息搜索设备、信息搜索方法、计算机程序和数据结构 | |
CN110941612A (zh) | 基于关联数据的自治数据湖构建系统及方法 | |
EP1218831A1 (en) | System and method for performing similarity searching | |
CN104391908B (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
JP2001014329A (ja) | データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体 | |
CN106528648A (zh) | 结合Redis内存数据库的分布式RDF关键词近似搜索方法 | |
CN107193882A (zh) | RDF数据上基于图匹配的why‑not查询回答方法 | |
CN115495585A (zh) | 一种基于知识图谱的花卉病虫害的本体建模方法和建模系统 | |
Koupil et al. | MM-evocat: A tool for modelling and evolution management of multi-model data | |
Li et al. | Aggregate nearest keyword search in spatial databases | |
Abdullahi et al. | Banded pattern mining algorithms in multi-dimensional zero-one data | |
JP2023536005A (ja) | データクラスタリング方法及びシステム、データ記憶方法及びシステム並びに記憶媒体 | |
Erraji et al. | Toward a smart approach of migration from relational system database to nosql system: Transformation rules of structure | |
Kapisha et al. | Exploring XML Index Structures and Evaluating C-Tree Index-based Algorithm | |
JP2004192657A (ja) | 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 | |
Carlis et al. | A descriptive model of physical database design problems and solutions | |
Shentu et al. | Mechanism design of data management system for nuclear power | |
RU2389066C2 (ru) | Многомерная база данных и способ управления многомерной базой данных | |
CN112463890B (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 |