CN110321444B - 基于图数据库的存储方法、装置和存储介质 - Google Patents
基于图数据库的存储方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110321444B CN110321444B CN201910603096.3A CN201910603096A CN110321444B CN 110321444 B CN110321444 B CN 110321444B CN 201910603096 A CN201910603096 A CN 201910603096A CN 110321444 B CN110321444 B CN 110321444B
- Authority
- CN
- China
- Prior art keywords
- relationship
- nodes
- instance
- node
- stored
- 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
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于图数据库的存储方法,所述基于图数据库的存储方法包括以下步骤:获取待存储实例和所述待存储实例之间的待存储关系;建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。本发明还公开了一种基于图数据库的存储装置和存储介质。本发明在进行数据存储时,将关系也存储为节点,在各实例间存在多元关系时,只需设置一个关系实例节点,有利于多元关系的存储。
Description
技术领域
本发明涉及图数据库领域,尤其涉及基于图数据库的存储方法、装置和存储介质。
背景技术
图数据库是目前最为常用的用于存储实体间的关系信息的数据库;然而,目前的图数据库中,实体通过节点存储,而实体之间的关系通过边进行存储,由于一条边只能连接两个节点,因此,目前的图数据库无法存储多个实体之间的多元关系。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于图数据库的存储方法、装置和存储介质,旨在解决目前的图数据库无法存储多个实体之间的多元关系的技术问题。
为实现上述目的,本发明提供一种基于图数据库的存储方法,所述基于图数据库的存储方法包括以下步骤:
获取待存储实例和所述待存储实例之间的待存储关系;
建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;
将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。
优选地,所述将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接的步骤之后,还包括:
获取所述实例在所述待存储关系中扮演的角色;
获取所述实例连接的所述有向线段,将所述角色存储为所述有向线段的标签。
优选地,所述建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点的步骤之后,还包括:
获取所述实例的属性和属性值,以键值对的方式将所述属性和属性值存储至所述实例对应的实例节点;
以及,获取所述关系的属性和属性值,以键值对的方式将所述属性和属性值存储至所述关系对应的关系实例节点。
优选地,所述图数据库包括本体层,所述本体层由本体节点、关系节点和角色节点构成,其中,所述本体节点为实例类型对应的节点,所述角色节点分别与所述角色节点构成的关系节点以及扮演所述角色节点的本体节点相连,所述建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点的步骤之后,还包括:
获取所述实例的实例类型,将所述实例节点通过特殊节点连接至所述实例类型对应的本体节点;
以及,获取所述关系的关系类型,将所述关系实例节点通过特殊节点连接至所述关系类型对应的关系节点。
优选地,所述基于图数据库的存储方法还包括:
获取待存储的本体数据,所述本体数据包括本体、所述本体之间的关系和所述本体在所述关系中扮演的角色;
分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点;
将所述角色节点分别通过有向线段与所述关系节点、以及与所述本体节点连接。
优选地,所述分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点之后,还包括:
获取各个所述本体节点之间、各个所述关系节点之间以及各个所述角色节点之间的继承关系;
分别将具有继承关系的各个本体节点之间,具有继承关系的各个关系节点之间以及具有继承关系的各个角色节点之间通过有向线段相连。
优选地,所述分别将具有继承关系的各个本体节点之间,具有继承关系的各个关系节点之间以及具有继承关系的各个角色节点之间通过有向线段相连的步骤之后,还包括:
获取所述本体的属性,将所述属性添加至所述本体对应的本体节点;
获取与所述本体节点具有继承关系的子级节点,将所述属性添加至所述子级节点。
优选地,所述基于图数据库的存储方法还包括:
在接收到实例查询请求时,获取所述实例查询请求对应的实例类型;
获取所述实例类型对应的本体节点;
获取所述本体节点连接的特殊节点,在所述特殊节点连接的实例节点中查询所述实例。
此外,为实现上述目的,本发明还提供一种基于图数据库的存储装置,所述基于图数据库的存储装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于图数据库的存储程序,所述基于图数据库的存储程序被所述处理器执行时实现如上任一项所述的基于图数据库的存储方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于图数据库的存储程序,所述基于图数据库的存储程序被处理器执行时实现如上任一项所述的基于图数据库的存储方法的步骤。
本发明实施例提出的一种基于图数据库的存储方法、装置和存储介质,获取待存储实例和所述待存储实例之间的待存储关系;建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。本发明在进行数据存储时,将关系也存储为节点,在各实例间存在多元关系时,只需设置一个关系实例节点,有利于多元关系的存储。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明基于图数据库的存储方法第一实施例的流程示意图;
图3为本发明基于图数据库的存储方法第二实施例的流程示意图;
图4为本发明实施例方案涉及的图数据库的框架示意图;
图5为本发明基于图数据库的存储方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:
获取待存储实例和所述待存储实例之间的待存储关系;
建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;
将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。
由于现有技术的图数据库中,实体之间的关系通过边进行表示,无法存储多个实体之间的多元关系。
本发明提供一种解决方案,在进行数据存储时,将关系也存储为节点,在各实例间存在多元关系时,只需设置一个关系实例节点,有利于多元关系的存储
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
如图1所示,该终端可以包括:处理器1001,例如CPU,用户接口1003,存储器1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、用户接口模块以及基于图数据库的存储程序。
在图1所示的终端中,用户接口1003主要用于连接终端,与终端进行数据通信;而处理器1001可以用于调用存储器1004中存储的基于图数据库的存储程序,并执行以下操作:
获取待存储实例和所述待存储实例之间的待存储关系;
建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;
将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
获取所述实例在所述待存储关系中扮演的角色;
获取所述实例连接的所述有向线段,将所述角色存储为所述有向线段的标签。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
获取所述实例的属性和属性值,以键值对的方式将所述属性和属性值存储至所述实例对应的实例节点;
以及,获取所述关系的属性和属性值,以键值对的方式将所述属性和属性值存储至所述关系对应的关系实例节点。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
获取所述实例的实例类型,将所述实例节点通过特殊节点连接至所述实例类型对应的本体节点;
以及,获取所述关系的关系类型,将所述关系实例节点通过特殊节点连接至所述关系类型对应的关系节点。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
获取待存储的本体数据,所述本体数据包括本体、所述本体之间的关系和所述本体在所述关系中扮演的角色;
分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点;
将所述角色节点分别通过有向线段与所述关系节点、以及与所述本体节点连接。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
获取各个所述本体节点之间、各个所述关系节点之间以及各个所述角色节点之间的继承关系;
分别将具有继承关系的各个本体节点之间,具有继承关系的各个关系节点之间以及具有继承关系的各个角色节点之间通过有向线段相连。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
获取所述本体的属性,将所述属性添加至所述本体对应的本体节点;
获取与所述本体节点具有继承关系的子级节点,将所述属性添加至所述子级节点。
进一步地,处理器1001可以调用存储器1004中存储的基于图数据库的存储程序,还执行以下操作:
在接收到实例查询请求时,获取所述实例查询请求对应的实例类型;
获取所述实例类型对应的本体节点;
获取所述本体节点连接的特殊节点,在所述特殊节点连接的实例节点中查询所述实例。
根据上述方案,获取待存储实例和所述待存储实例之间的待存储关系;建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。本发明在进行数据存储时,将关系也存储为节点,在各实例间存在多元关系时,只需设置一个关系实例节点,有利于多元关系的存储。
参照图2,图2为本发明基于图数据库的存储方法第一实施例的流程示意图,所述基于图数据库的存储方法包括:
步骤S10,获取待存储实例和所述待存储实例之间的待存储关系;
本发明提供的基于图数据库的存储方法主要用于图数据库领域,尤其用于关系型数据的存储。本发明的执行主体可以是服务器或终端,以下以服务器作为执行主体对本发明实施例进行展开阐述。
本实施例中,包括待存储实例和所述待存储实例之间的待存储关系的待存储的实例数据可以通过关系型数据库中获取,例如当需要将关系型数据库中存储的实例数据转换存储到图数据库中,也可以是用户通过输入,例如可通过表格形式输入。例如,所述待存储实例数据可通过表格进行输入,如表1所示。
表1
实例关系 | 参与实例 | 参与实例 |
父子关系 | 李刚 | 李雪 |
母子关系 | 张红 | 李刚 |
母子关系 | 张红 | 李明 |
表1所示的待存储数据包括李刚、李雪、张红和李明四个实例,各个实例之间存在一对父子关系和两对母子关系。服务器接收到待存储数据时,获取所述待存储实例数据。
步骤S20,建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;
本实施例中,实例之间的关系不是利用边进行存储,而是将实例之间的关系利用节点进行存储。具体地,服务器获取到所述待存储实例数据后,建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点。例如,分别创建李刚、李雪、张红和李明四个实例对应的实例节点,以及分别创建一对父子关系和两对母子关系对应的关系实例节点。
步骤S30,将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。
本发明实施例中,通过有向线段(边)将不同节点连接,以表示不同节点之间的连接关系。需要理解的是,本实施例中的边仅用于表示节点之间的连接关系,而不表示实例间的关系,实例间的关系是通过所述关系对应的关系实例节点表示。在创建好实例节点和关系实例节点后,服务器将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过边连接,具体地,可通过标签为Role-player的边将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别连接,且作为边的有向线段由关系实例节点指向实例节点,从而将待存储的实例和关系在图数据库中进行存储。进一步地,在实例构成的关系中,实例在关系中扮演有角色,本实施例中,实例在关系中扮演的角色对连接所述实例和关系的有向线段赋予标签的形式进行存储;服务器存储实例和关系后,进一步获取所述实例在所述待存储关系中扮演的角色,然后获取所述实例连接的所述有向线段,将所述角色存储为所述有向线段的标签。例如,李刚和李雪两个实例构成父子关系,在该父子关系中,李刚的角色为父亲,李雪的角色为孩子,则服务器将父亲角色存储为连接父子关系对应的关系实例节点和李刚对应的实例节点的有向线段的标签,以表示在所述父子关系中,李刚的角色为父亲;将孩子角色存储为连接父子关系对应的关系实例节点和李雪对应的实例节点的有向线段的标签,以表示在所述父子关系中,李雪的角色为孩子。
进一步地,在进行实例数据存储时,实例或关系还可具有的属性和属性值,例如李刚实例可具有以下属性和属性值:姓名:李刚,性别:男,年龄:70等。本实施例中,实例或关系的属性和属性值通过键值对的方式存储。具体地,服务器获取所述实例的属性和属性值,以键值对的方式将所述属性和属性值存储至所述实例对应的实例节点;以及,获取所述关系的属性和属性值,以键值对的方式将所述属性和属性值存储至所述关系对应的关系实例节点。例如,李刚实例的属性和属性值可通过对李刚对应的实例节点赋予以下键值对进行存储:<姓名,李刚>,<性别,男>,<年龄,70>。
边只能连接两个节点,而节点则可以通过边连接无数其他节点,因此,本实施例提供的基于图数据库的存储方法相对于常规的图数据库,能够更好的存储多个实例之间的多元关系。例如,在一个班级具有多个学生(例如60个)时,60个学生共同构成同学关系,在需要存储这60个学生之间的同学关系时,如果利用常规的图数据库(即利用边存储关系)进行存储,则在建立每个学生对应的实例节点后,由于边只能连接两个节点,需要将60个学生对应的实例节点之间通过表示“同学”关系的边两两连接,而且存储的是两个学生节点之间的双边关系。在利用本实施例提供的基于图数据库的存储方法存储进行存储时,则只需建立一个“同学”关系实例节点即可实现。具体地,建立每个学生对应的实例节点,以及建立一个“同学”关系对应的关系实例节点,然后通过标签为Role-player的边将每个所述实例节点均和所述关系节点连接即可,且由于所有学生对应的实例节点连接的是同一个关系实例节点,因此存储的是所有学生之间的共同的同学关系(多元关系)。
本实施例提供的技术方案,获取待存储实例和所述待存储实例之间的待存储关系;建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接。本发明在进行数据存储时,将关系也存储为节点,在各实例间存在多元关系时,只需设置一个关系实例节点,有利于多元关系的存储。
进一步的,参照图3,图3为本发明基于图数据库的存储方法第二实施例的流程示意图,基于第一实施例,所述图数据库包括本体层,所述本体层由本体节点、关系节点和角色节点构成,其中,所述本体节点为实例类型对应的节点,所述角色节点分别与所述角色节点构成的关系节点以及扮演所述角色节点的本体节点相连,所述步骤S20之后,还包括:
步骤S40,获取所述实例的实例类型,将所述实例节点通过特殊节点连接至所述实例类型对应的本体节点;
步骤S50,以及,获取所述关系的关系类型,将所述关系实例节点通过特殊节点连接至所述关系类型对应的关系节点。
本体是描述现实世界中同类型实体的一个抽象概念,指出实体应该属于的类型或类;即一个本体类具有多个同类的实体,这些实体之间都受本体的模板约束,具有本体所规定的属性,并且能够扮演本体类所饰演的角色,发生关系。现有的图数据库只能存储实例数据,而无法提供存储本体数据的功能,存储的实例数据为零散的数据,不利于查询;而且由于现有的数据库无法提供本体数据的存储,也无法为推理提供基础,无法满足大数据信息技术发展所需的推理和数据挖掘。
本实施例提供的技术方案中,图数据库的存储框架包括本体层和实例层,所述本体层和所述实例层通过特征节点连接,从而既能够同时存储本体数据和实例数据,又能够将本体数据和实例数据进行区分和联系,方便本体数据和实例数据的管理。具体地,参见图4,图4为本发明实施例方案涉及的图数据库的框架示意图,其中,所述本体层由本体节点、关系节点和角色节点构成,其中,所述本体节点为实例类型对应的节点,所述角色节点分别与所述角色节点构成的关系节点以及扮演所述角色节点的本体节点相连。所述本体层中包含根节点Ting、根节点Relationship、根节点Entity和根节点Role,其中根节点Relationship、根节点Entity可设置为根节点Ting的子类,分别由“sub”边指向根节点Ting。本体层中所有的本体节点均为所述根节点Entity的子级节点,所有的关系节点均为所述根节点Relationship的子级节点,所有的角色节点均为根节点Role的子级节点。如图4所示,所有的代表关系的点均以标签(label)为“sub”的边指向Relationship节点,这种结构代表了关系之间的继承关系,Relationship是所有关系的父类,其他关系都和Relationship相连接。而每一个关系都可以向下构建子关系,因为每个关系的存储模式都是一个节点,所以每个关系都可以添加属性,而子类关系通过“sub”边与父类连接时继承了父类关系的所有属性。所有代表本体的节点均以标签(label)为“sub”的边指向Entity节点,表示各种本体均是Entity的子类。可根据用户需要建立的本体网络构建不同的本体节点,如地点,人,男人等,并建立不同本体之间的继承关系。每个节点都具有其所能扮演的角色种类,并以“plays”的边指向其所扮演的角色。如男人节点(本体节点)以“plays”的边指向父亲节点(Role角色节点)。同时,不同的角色具有关系,角色节点与关系节点之间以“relates”边相连接。如父子关系为一对二元关系,具有两个参与的对象父亲和儿子,所以父子关系节点以“relates”边同时指向父亲角色节点和儿子角色节点。如果关系为多元关系,则该关系节点可以同时指向多个参与角色。基于图数据库和本体的概念,本实施例的图数据库存储框架设定了的节点和边的标签(Label)。分别是Thing节点标签TYPE;Relationship节点标签RELATIONSHIP_TYPE;Rntity节点标签ENTITY_TYPE;Role节点标签ROLE。并给每个节点设定了固定属性SchemalLabel,属性SchemaLabel的值可以设定为本体层的本体,关系,角色等不同的节点设置不同的名称,如男人,父亲,以及父子关系,朋友关系等。
基于上述图数据库的框架,本实施例提供的技术方案,服务器在获取待存储实例数据,建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点之后,进一步获取所述实例的实例类型,然后获取本体层中所述实例类型对应的本体节点,将所述实例节点通过特殊节点连接至所述实例类型对应的本体节点;例如,所述特殊节点可标识为Instance节点,某本体的实例节点则可表示为“本体节点——Instance节点——实例节点”,其中Instance节点由“instance”边指向本体节点,实例节点由“isa”边指向Instance节点,从而代表该实例节点归属于该本体节点。例如,如图4所示,实例“李刚”的类型为对应的节点为Men节点,则服务器将建立的“李刚”节点通过Instance节点与Men节点连接。
以及,服务器获取所述关系的关系类型,获取本体层中所述关系类型对应的关系节点,将所述关系实例节点通过特殊节点连接至所述关系类型对应的关系节点。在关系节点之下通过Instance节点建立关系实例节点(关系节点的实例)的表示为“关系节点——Instance节点——关系实例节点”,其中Instance节点由“instance”边指向关系节点,关系实例节点由“isa”边指向Instance节点,从而代表该关系实例节点归属于该关系节点。例如,“李刚”和“李雪”为父子关系,因此服务器将“李刚”节点和“李雪”节点连接的关系实例节点通过Instance节点与“father-relationship”节点连接。
进一步地,本实施例中,还可对图数据库添加索引,索引可基于SchemalLabel或属性值等建立;例如,可以分别为身份证号,手机号和年龄添加索引,从而优化进行查询的速度。
进一步地,本实施例中,由于实例节点与其类型对应的本体节点连接,因此,在进行实例数据查找时,可通过类型进行数据筛选,提高查找速度。具体地,服务器所述在接收到实例查询请求时,获取所述实例查询请求对应的实例类型;获取所述实例类型对应的本体节点;获取所述本体节点连接的特殊节点,在所述特殊节点连接的实例节点中查询所述实例;从而使得即使未设置索引,也能够快速地进行实例数据的查询。例如,在百万级别节点和边的大型图数据库中,在未设置索引时,直接搜索姓名为“李明”的个体可能十分困难。但是利用本实例的提供的数据库,可将百万级别的点按照其所属不同本体类别进行分类,形成男人,女人,交通工具,地点等类别。从而可以只在“李明”所归属的本体类中进行查询,缩小查询本体范围的数量级。即由根节点Thing向下寻找至Entity节点再向下寻找至People节点,再经过Men节点和Instance节点,再Instance节点所连接的Men实例对象中查找即可。此外,利用此储存框架,还可以开展本体逻辑层的推理工作。如可定义母亲的母亲为奶奶,利用存储框架中的关系实例和本体实例,可由边的连接关系以及边上的角色标签推导出奶奶和孙子的关系。
本实施例提供的技术方案,所述图数据库包括本体层,所述本体层由本体节点、关系节点和角色节点构成,其中,所述本体节点为实例类型对应的节点,所述角色节点分别与所述角色节点构成的关系节点以及扮演所述角色节点的本体节点相连,在建立实例节点和关系实例节点后,获取所述实例的实例类型,将所述实例节点通过特殊节点连接至所述实例类型对应的本体节点;以及,获取所述关系的关系类型,将所述关系实例节点通过特殊节点连接至所述关系类型对应的关系节点,从而将实例数据和本体数据存储在同一图中,方便了数据的查询。
进一步的,参照图5,图5为本发明基于图数据库的存储方法第三实施例的流程示意图,基于第二实施例,所述基于图数据库的存储方法还包括:
步骤S60,获取待存储的本体数据,所述本体数据包括本体、所述本体之间的关系和所述本体在所述关系中扮演的角色;
步骤S70,分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点;
步骤S80,将所述角色节点分别通过有向线段与所述关系节点、以及与所述本体节点连接。
本发明中,本体层可以预先构建好,例如针对特定领域的数据库,可预先构建好本体层;也可由客户自行构建本体层,进行本体数据的存储。在进行本体数据存储时,服务器获取待存储的本体数据,所述本体数据包括本体、所述本体之间的关系和所述本体在所述关系中扮演的角色;分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点;将所述角色节点分别通过有向线段与所述关系节点、以及与所述本体节点连接。
具体地,服务器根据用户指定的本体关系确定本体网络中的本体种类,以及本体之间的继承关系,在图数据库框架下的Entity根节点下建立各个本体节点。然后根据本体之间的关系,明确所涉及的角色节点和关系节点的种类以及数量,分别在Role根节点和Relationship根节点之下建立本体网络中的关系节点和角色节点,以“plays”边连接本体节点和其所能扮演的角色节点,并以“relates”边连接关系节点和关系所涉及的角色节点。需要理解的是。步骤S60和步骤S10至步骤S50中的任一步骤之间均无先后关系,图5仅为本实施例一种方式的流程示意图。
进一步地,在分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点后,服务器获取各个所述本体节点之间、各个所述关系节点之间以及各个所述角色节点之间的继承关系;分别将具有继承关系的各个本体节点之间,具有继承关系的各个关系节点之间以及具有继承关系的各个角色节点之间通过有向线段相连。例如,如图4所示,Women节点和Men节点分别与People节点具有继承关系,则将Women节点和Man节点分别通过边“sub”边People节点连接,且所述“sub”边指向People节点,以表示Women节点和Men节点均与People节点具有继承关系,均为People节点的子级节点。
进一步地,在添加本体层的各个节点后,还可进一步根据需要对本体层的各个节点添加属性。根据所需建立的本体逻辑网络进行分析可以得到个本体的属性类别,服务器获取所述本体的属性,将所述属性添加至所述本体对应的本体节点;同时,本发明实施例中,由于具有继承关系的节点之间,子级节点可继承父级节点的属性,因此,在图数据库中包含与所述本体节点具有继承关系的子级节点时,服务器还获取与所述本体节点具有继承关系的子级节点,将所述属性添加至所述子级节点。例如,People本体可具有赋予性别、身份证号码、手机号、年龄等属性,则服务器对People本体节点赋予性别、身份证号码、手机号、年龄等属性;同时Men,Women为People的两个子类本体,继承People的这些属性,因此服务器获取People节点的子级节点Men节点和Women节点,将性别、身份证号码、手机号、年龄等属性赋予Men节点和Women节点。可以理解的是,子级节点除拥有父级节点的属性外,还可以添加自身特有的属性,例如Men节点还可添加是否有胡子的属性。同样,关系节点添加属性的方式与本体节点相同,子类关系节点拥有父类关系节点的属性,如可给居住关系赋予时间、地点等属性。
本实施例提供的技术方案,获取待存储的本体数据,所述本体数据包括本体、所述本体之间的关系和所述本体在所述关系中扮演的角色;分别建立所述本体对应本体节点、所述关系对应的关系节点和所述角色对应的角色节点;将所述角色节点分别通过有向线段与所述关系节点、以及与所述本体节点连接,从而实现了本体数据的存储。
此外,为实现上述目的,本发明实施例还提供一种基于图数据库的存储装置,所述基于图数据库的存储装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于图数据库的存储程序,所述基于图数据库的存储程序被所述处理器执行时实现如上任一实施例所述的基于图数据库的存储方法的步骤。
此外,为实现上述目的,本发明实施例还提供一种存储介质,所述存储介质上存储有基于图数据库的存储程序,所述基于图数据库的存储程序被处理器执行时实现如上任一实施例所述的基于图数据库的存储方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于图数据库的存储方法,其特征在于,所述图数据库包括本体层,所述本体层由本体节点、关系节点和角色节点构成,其中,所述本体节点为实例类型对应的节点,所述角色节点分别与所述角色节点构成的关系节点以及扮演所述角色节点的本体节点相连,所述基于图数据库的存储方法包括以下步骤:
获取待存储实例和所述待存储实例之间的待存储关系;
建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点;
将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接,其中,获取所述待存储实例的实例类型,将所述实例节点通过特殊节点连接至所述实例类型对应的本体节点;
以及,获取所述待存储关系的关系类型,将所述关系实例节点通过特殊节点连接至所述关系类型对应的关系节点。
2.如权利要求1所述的基于图数据库的存储方法,其特征在于,所述将所述关系实例节点与构成所述待存储关系的各个实例对应的实例节点分别通过有向线段连接的步骤之后,还包括:
获取所述实例在所述待存储关系中扮演的角色;
获取所述实例连接的所述有向线段,将所述角色存储为所述有向线段的标签。
3.如权利要求1所述的基于图数据库的存储方法,其特征在于,所述建立所述待存储实例对应的实例节点和所述待存储关系对应的关系实例节点的步骤之后,还包括:
获取所述实例的属性和属性值,以键值对的方式将所述属性和属性值存储至所述实例对应的实例节点;
以及,获取所述待存储关系的属性和属性值,以键值对的方式将所述属性和属性值存储至所述待存储关系对应的关系实例节点。
4.如权利要求1所述的基于图数据库的存储方法,其特征在于,所述基于图数据库的存储方法还包括:
获取待存储的本体数据,所述本体数据包括本体、所述本体之间的关系和所述本体在所述待存储关系中扮演的角色;
分别建立所述本体对应本体节点、所述关系类型对应的关系节点和所述角色对应的角色节点;
将所述角色节点分别通过有向线段与所述关系节点、以及与所述本体节点连接。
5.如权利要求4所述的基于图数据库的存储方法,其特征在于,所述分别建立所述本体对应本体节点、所述关系类型对应的关系节点和所述角色对应的角色节点之后,还包括:
获取各个所述本体节点之间、各个所述关系节点之间以及各个所述角色节点之间的继承关系;
分别将具有继承关系的各个本体节点之间,具有继承关系的各个关系节点之间以及具有继承关系的各个角色节点之间通过有向线段相连。
6.如权利要求5所述的基于图数据库的存储方法,其特征在于,所述分别将具有继承关系的各个本体节点之间,具有继承关系的各个关系节点之间以及具有继承关系的各个角色节点之间通过有向线段相连的步骤之后,还包括:
获取所述本体的属性,将所述属性添加至所述本体对应的本体节点;
获取与所述本体节点具有继承关系的子级节点,将所述属性添加至所述子级节点。
7.如权利要求1-6任一项所述的基于图数据库的存储方法,其特征在于,所述基于图数据库的存储方法还包括:
在接收到实例查询请求时,获取所述实例查询请求对应的实例类型;
获取所述实例类型对应的本体节点;
获取所述本体节点连接的特殊节点,在所述特殊节点连接的实例节点中查询所述实例。
8.一种基于图数据库的存储装置,其特征在于,所述基于图数据库的存储装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于图数据库的存储程序,所述基于图数据库的存储程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于图数据库的存储方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有基于图数据库的存储程序,所述基于图数据库的存储程序被处理器执行时实现如权利要求1至7中任一项所述的基于图数据库的存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910603096.3A CN110321444B (zh) | 2019-07-04 | 2019-07-04 | 基于图数据库的存储方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910603096.3A CN110321444B (zh) | 2019-07-04 | 2019-07-04 | 基于图数据库的存储方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321444A CN110321444A (zh) | 2019-10-11 |
CN110321444B true CN110321444B (zh) | 2021-08-17 |
Family
ID=68122739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910603096.3A Active CN110321444B (zh) | 2019-07-04 | 2019-07-04 | 基于图数据库的存储方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321444B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328712B (zh) * | 2021-01-04 | 2021-05-18 | 清华四川能源互联网研究院 | 基于图数据库的权限管理方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104854583A (zh) * | 2012-08-08 | 2015-08-19 | 谷歌公司 | 搜索结果排名和呈现 |
CN105930361A (zh) * | 2016-04-12 | 2016-09-07 | 北京恒冠网络数据处理有限公司 | 一种关系型数据库向Neo4j模型转换和数据迁移方法 |
CN108170847A (zh) * | 2018-01-18 | 2018-06-15 | 国网福建省电力有限公司 | 一种基于Neo4j图数据库的大数据存储方法 |
CN109145121A (zh) * | 2018-07-16 | 2019-01-04 | 浙江大学 | 一种时变图数据的快速存储查询方法 |
CN109446362A (zh) * | 2018-09-05 | 2019-03-08 | 北京费马科技有限公司 | 基于外存的图数据库结构、图数据存储方法、装置 |
CN109766445A (zh) * | 2018-12-13 | 2019-05-17 | 平安科技(深圳)有限公司 | 一种知识图谱构建方法及数据处理装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092548B2 (en) * | 2013-03-15 | 2015-07-28 | Magnet Systems, Inc. | Time-based graph data model |
-
2019
- 2019-07-04 CN CN201910603096.3A patent/CN110321444B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104854583A (zh) * | 2012-08-08 | 2015-08-19 | 谷歌公司 | 搜索结果排名和呈现 |
CN105930361A (zh) * | 2016-04-12 | 2016-09-07 | 北京恒冠网络数据处理有限公司 | 一种关系型数据库向Neo4j模型转换和数据迁移方法 |
CN108170847A (zh) * | 2018-01-18 | 2018-06-15 | 国网福建省电力有限公司 | 一种基于Neo4j图数据库的大数据存储方法 |
CN109145121A (zh) * | 2018-07-16 | 2019-01-04 | 浙江大学 | 一种时变图数据的快速存储查询方法 |
CN109446362A (zh) * | 2018-09-05 | 2019-03-08 | 北京费马科技有限公司 | 基于外存的图数据库结构、图数据存储方法、装置 |
CN109766445A (zh) * | 2018-12-13 | 2019-05-17 | 平安科技(深圳)有限公司 | 一种知识图谱构建方法及数据处理装置 |
Non-Patent Citations (2)
Title |
---|
Relational Database Ontology Discovery Method Based on Formal Concept Analysis;Gao,Zhi-Yong等;《PROCEEDINGS OF THE 3RD ANNUAL INTERNATIONAL CONFERENCE ON MECHANICS AND MECHANICAL ENGINEERING (MME 2016)》;20171231;第105卷;全文 * |
基于MVC架构的智能认知系统的设计与实现;宋彦京;《中国优秀硕士学位论文全文数据库信息科技辑》;20190415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110321444A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019052209A1 (zh) | 数据存储方法、装置及存储介质 | |
CN111046237B (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
US9536444B2 (en) | Evaluating expert opinions in a question and answer system | |
CN112100396B (zh) | 一种数据处理方法和装置 | |
RU2632414C2 (ru) | Способ формирования иерархической структуры данных, способ поиска данных с помощью иерархической структуры данных, сервер и постоянный машиночитаемый носитель | |
US10496645B1 (en) | System and method for analysis of a database proxy | |
US10769143B1 (en) | Composite index on hierarchical nodes in the hierarchical data model within case model | |
US12008047B2 (en) | Providing an object-based response to a natural language query | |
CN112527924A (zh) | 动态更新的知识图谱扩展方法及装置 | |
CN110059172B (zh) | 基于自然语言理解的推荐答案的方法和装置 | |
CN110321444B (zh) | 基于图数据库的存储方法、装置和存储介质 | |
CN110737779A (zh) | 知识图谱的构建方法、装置、存储介质和电子设备 | |
US20150081576A1 (en) | Generating a supplemental description of an entity | |
CN116629792A (zh) | 推荐系统及其操作方法 | |
CN113468258B (zh) | 一种异构数据的转换方法、装置及存储介质 | |
CN114610758A (zh) | 基于数据仓库的数据处理方法、装置、可读介质及设备 | |
CN110737662B (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
US20200081875A1 (en) | Information Association And Suggestion | |
CN116263659A (zh) | 数据处理方法、装置、计算机程序产品、设备及存储介质 | |
CN113656545A (zh) | 智能面试方法、装置、计算机设备及存储介质 | |
CN110019547B (zh) | 获取客户间的关联关系的方法、装置、设备及介质 | |
CN112445917A (zh) | 传统医学疾病本体的构建方法及装置 | |
CN116932838B (zh) | 基于数据库的数据查询、更新、存储方法和装置 | |
CN113780903B (zh) | 资产对象管理方法、装置、电子设备和计算机存储介质 | |
CN115221249B (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 |