一种基于图数据库的知识管理方法和系统

文档序号:1952866 发布日期:2021-12-10 浏览:4次 >En<

阅读说明:本技术 一种基于图数据库的知识管理方法和系统 (Knowledge management method and system based on graph database ) 是由 付绍高 李吉文 李维娜 王书兴 于 2021-01-12 设计创作,主要内容包括:本发明公开了一种基于图数据库的知识管理方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:创建元数据,并在元数据中定义图所包括的顶点、顶点的属性、顶点之间的关系以及关系的属性;连接多种图数据库中的任意一种图数据库,使得能够对图数据库进行各种数据库操作;基于创建的元数据和连接的图数据库创建图,使得图带有顶点和关系的数据;以及可视化操作,使得能够对图进行各种可视化操作。该实施方式建立了对多种图数据库的统一的知识管理和可视化操作,降低了对多种图数据库的学习、使用和管理成本。(The invention discloses a knowledge management method and a knowledge management system based on a graph database, and relates to the technical field of computers. One embodiment of the method comprises: creating metadata, and defining vertexes, attributes of the vertexes, relations between the vertexes and attributes of the relations included in the graph in the metadata; connecting any one of a plurality of graph databases to enable various database operations to be performed on the graph databases; creating a graph based on the created metadata and the connected graph database, such that the graph has data of vertices and relationships; and visualization operations that enable various visualization operations on the graph. The embodiment establishes unified knowledge management and visualization operation on multiple graph databases, and reduces the learning, using and managing costs of the multiple graph databases.)

一种基于图数据库的知识管理方法和系统

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于图数据库的知识管理方法和系统。

背景技术

随着对关系场景的需求的不断提高,已经出现了大量的图数据库并且有些已经开源。然而,这些图数据库的查询语言彼此不同,缺乏统一的数据库支持,也没有形成统一的知识管理即schema(元数据)管理,从而提高了用户的学习成本。此外,这些图数据库的可视化能力也参差不齐,有的图数据库对点-边-点这样的图三元组的可视化支持力度不大,使得用户难以将知识图谱的schema管理沉淀下来成为知识库供以后使用。

发明内容

有鉴于此,本发明实施例提供一种基于图数据库的知识管理方法和系统,使得能够对多种图数据库进行统一的知识管理、数据库支持以及可视化操作。

为实现上述目的,根据本发明实施例的一个方面,提供了一种基于图数据库的知识管理方法,其包括:

创建元数据,并在所述元数据中定义图所包括的顶点、所述顶点的属性、所述顶点之间的关系以及所述关系的属性;

连接多种图数据库中的任意一种图数据库,使得能够对所述图数据库进行各种数据库操作;

基于创建的所述元数据和连接的所述图数据库创建所述图,使得所述图带有所述顶点和所述关系的数据;以及

对所述图进行可视化处理,使得能够对所述图进行各种可视化操作。

根据本发明实施例的一个方面的知识管理方法,其中,

使得能够对所述图数据库进行各种数据库操作具体包括:

定义与所述多种图数据库适配的标准化数据结构,使得能够通过统一的输入指令调用所述多种图数据库各自的相应操作语句。

根据本发明实施例的一个方面的知识管理方法,其中,

基于创建的所述元数据和连接的所述图数据库创建所述图包括:

当连接的所述图数据库中已有图数据时,直接基于所述元数据生成所述图并且将数据集从所述图数据库同步到所述图中。

根据本发明实施例的一个方面的知识管理方法,其中,

基于创建的所述元数据和连接的所述图数据库创建所述图包括:

当连接的所述图数据库中没有图数据时,基于所述元数据通过自定义的方式创建和编辑所述图,然后从连接的所述图数据库向所述图中写入所述顶点和所述关系的数据。

根据本发明实施例的一个方面的知识管理方法,其中,

所述可视化操作包括可视化查询并使查询结果可视化,所述可视化查询具体包括:

根据所述图的所述顶点的属性、所述关系和所述关系的属性之中的至少一者进行可视化查询;

根据预定的排序规则进行可视化查询;

根据预定的组合规则进行可视化查询;

根据预定的数量级进行可视化查询;以及

通过所述图数据库的查询语言进行查询。

根据本发明实施例的一个方面的知识管理方法,其中,

所述可视化操作包括根据输入的搜索条件从所述图中提取相应的知识结构而进行的可视化展示。

根据本发明实施例的一个方面的知识管理方法,其中,

创建所述元数据时,能够通过自定义的方法创建和编辑所述元数据,或者能够通过文件导入的方式创建和编辑所述元数据。

根据本发明实施例的另一方面,提供了一种基于图数据库的知识管理系统,其特征在于,包括:

元数据创建模块,用以创建元数据,所述元数据定义了图所包括的顶点、所述顶点的属性、所述顶点之间的关系以及所述关系的属性;

数据库连接模块,用以连接多种图数据库中的任意一种图数据库,并且使得能够对所述图数据库进行各种数据库操作;

图创建模块,基于创建的所述元数据和连接的所述图数据库创建所述图,使得所述图带有所述顶点和所述关系的数据;以及

可视化模块,使得能够对所述图进行各种可视化操作。

根据本发明实施例的又一方面,提供了一种基于图数据库进行知识管理的电子设备,包括:

一个或多个处理器;以及

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本发明实施例的一方面所述的方法。

根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据本发明实施例的一方面所述的方法。

上述发明中的一个实施例具有如下优点或有益效果:由于能够以简单的方式创建元数据即schema,连接多种图数据库且通过统一的操作访问多种图数据库,并且通过schema和图数据库的数据生成图并能够对图进行各种可视化操作,所以克服了多种图数据库之间缺乏统一的知识管理、数据库支持和可视化平台的技术问题,进而达到通过统一的标准化指令操作多种图数据库从而降低用户对图数据库的学习、使用和管理成本,对多种图数据库建立统一的知识管理并且进行可视化的技术效果。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合

具体实施方式

包括:创建元数据,并在元数据中定义图所包括的顶点、顶点的属性、顶点之间的关系以及关系的属性;连接多种图数据库中的任意一种图数据库,使得能够对图数据库进行各种数据库操作;基于创建的元数据和连接的图数据库创建图,使得图带有顶点和关系的数据;以及可视化操作,使得能够对图进行各种可视化操作。该实施方式建立了对多种图数据库的统一的知识管理和可视化操作,降低了对多种图数据库的学习、使用和管理成本。 ">

为遏制恶意抓取行为,请关注公众号获取访问口令


二维码

微信扫二维码关注公众号,发送“口令”获取

提交

提示:只需正确输入一次口令,该弹窗便不再弹出!

CN113779313A - 一种基于图数据库的知识管理方法和系统 - Google Patents

一种基于图数据库的知识管理方法和系统 Download PDF

Info

Publication number
CN113779313A
CN113779313A CN202110037144.4A CN202110037144A CN113779313A CN 113779313 A CN113779313 A CN 113779313A CN 202110037144 A CN202110037144 A CN 202110037144A CN 113779313 A CN113779313 A CN 113779313A
Authority
CN
China
Prior art keywords
graph
database
metadata
visualization
knowledge management
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.)
Pending
Application number
CN202110037144.4A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202110037144.4A priority Critical patent/CN113779313A/zh
Publication of CN113779313A publication Critical patent/CN113779313A/zh
Pending legal-status Critical Current

Links

  • 238000007726 management method Methods 0.000 title claims abstract description 25
  • 230000000007 visual effect Effects 0.000 claims description 18
  • 238000004590 computer program Methods 0.000 claims description 9
  • 230000000875 corresponding Effects 0.000 claims description 9
  • 230000001360 synchronised Effects 0.000 claims description 4
  • 238000010586 diagram Methods 0.000 description 23
  • 230000000694 effects Effects 0.000 description 4
  • 238000000034 method Methods 0.000 description 4
  • 239000003607 modifier Substances 0.000 description 4
  • 230000003287 optical Effects 0.000 description 4
  • 230000004044 response Effects 0.000 description 4
  • 230000004048 modification Effects 0.000 description 3
  • 238000006011 modification reaction Methods 0.000 description 3
  • 238000010276 construction Methods 0.000 description 2
  • 239000000835 fiber Substances 0.000 description 2
  • 230000000644 propagated Effects 0.000 description 2
  • 239000004065 semiconductor Substances 0.000 description 2
  • 210000003666 Nerve Fibers, Myelinated Anatomy 0.000 description 1
  • 239000000969 carrier Substances 0.000 description 1
  • 238000007405 data analysis Methods 0.000 description 1
  • 238000001914 filtration Methods 0.000 description 1
  • 239000003365 glass fiber Substances 0.000 description 1
  • 238000003780 insertion Methods 0.000 description 1
  • 230000004301 light adaptation Effects 0.000 description 1
  • 239000004973 liquid crystal related substance Substances 0.000 description 1
  • 230000002688 persistence Effects 0.000 description 1
  • 238000006467 substitution reaction Methods 0.000 description 1

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; 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/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/26Visual data mining; Browsing structured data

Abstract

本发明公开了一种基于图数据库的知识管理方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:创建元数据,并在元数据中定义图所包括的顶点、顶点的属性、顶点之间的关系以及关系的属性;连接多种图数据库中的任意一种图数据库,使得能够对图数据库进行各种数据库操作;基于创建的元数据和连接的图数据库创建图,使得图带有顶点和关系的数据;以及可视化操作,使得能够对图进行各种可视化操作。该实施方式建立了对多种图数据库的统一的知识管理和可视化操作,降低了对多种图数据库的学习、使用和管理成本。

Description

一种基于图数据库的知识管理方法和系统

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于图数据库的知识管理方法和系统。

背景技术

随着对关系场景的需求的不断提高,已经出现了大量的图数据库并且有些已经开源。然而,这些图数据库的查询语言彼此不同,缺乏统一的数据库支持,也没有形成统一的知识管理即schema(元数据)管理,从而提高了用户的学习成本。此外,这些图数据库的可视化能力也参差不齐,有的图数据库对点-边-点这样的图三元组的可视化支持力度不大,使得用户难以将知识图谱的schema管理沉淀下来成为知识库供以后使用。

发明内容

有鉴于此,本发明实施例提供一种基于图数据库的知识管理方法和系统,使得能够对多种图数据库进行统一的知识管理、数据库支持以及可视化操作。

为实现上述目的,根据本发明实施例的一个方面,提供了一种基于图数据库的知识管理方法,其包括:

创建元数据,并在所述元数据中定义图所包括的顶点、所述顶点的属性、所述顶点之间的关系以及所述关系的属性;

连接多种图数据库中的任意一种图数据库,使得能够对所述图数据库进行各种数据库操作;

基于创建的所述元数据和连接的所述图数据库创建所述图,使得所述图带有所述顶点和所述关系的数据;以及

对所述图进行可视化处理,使得能够对所述图进行各种可视化操作。

根据本发明实施例的一个方面的知识管理方法,其中,

使得能够对所述图数据库进行各种数据库操作具体包括:

定义与所述多种图数据库适配的标准化数据结构,使得能够通过统一的输入指令调用所述多种图数据库各自的相应操作语句。

根据本发明实施例的一个方面的知识管理方法,其中,

基于创建的所述元数据和连接的所述图数据库创建所述图包括:

当连接的所述图数据库中已有图数据时,直接基于所述元数据生成所述图并且将数据集从所述图数据库同步到所述图中。

根据本发明实施例的一个方面的知识管理方法,其中,

基于创建的所述元数据和连接的所述图数据库创建所述图包括:

当连接的所述图数据库中没有图数据时,基于所述元数据通过自定义的方式创建和编辑所述图,然后从连接的所述图数据库向所述图中写入所述顶点和所述关系的数据。

根据本发明实施例的一个方面的知识管理方法,其中,

所述可视化操作包括可视化查询并使查询结果可视化,所述可视化查询具体包括:

根据所述图的所述顶点的属性、所述关系和所述关系的属性之中的至少一者进行可视化查询;

根据预定的排序规则进行可视化查询;

根据预定的组合规则进行可视化查询;

根据预定的数量级进行可视化查询;以及

通过所述图数据库的查询语言进行查询。

根据本发明实施例的一个方面的知识管理方法,其中,

所述可视化操作包括根据输入的搜索条件从所述图中提取相应的知识结构而进行的可视化展示。

根据本发明实施例的一个方面的知识管理方法,其中,

创建所述元数据时,能够通过自定义的方法创建和编辑所述元数据,或者能够通过文件导入的方式创建和编辑所述元数据。

根据本发明实施例的另一方面,提供了一种基于图数据库的知识管理系统,其特征在于,包括:

元数据创建模块,用以创建元数据,所述元数据定义了图所包括的顶点、所述顶点的属性、所述顶点之间的关系以及所述关系的属性;

数据库连接模块,用以连接多种图数据库中的任意一种图数据库,并且使得能够对所述图数据库进行各种数据库操作;

图创建模块,基于创建的所述元数据和连接的所述图数据库创建所述图,使得所述图带有所述顶点和所述关系的数据;以及

可视化模块,使得能够对所述图进行各种可视化操作。

根据本发明实施例的又一方面,提供了一种基于图数据库进行知识管理的电子设备,包括:

一个或多个处理器;以及

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本发明实施例的一方面所述的方法。

根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据本发明实施例的一方面所述的方法。

上述发明中的一个实施例具有如下优点或有益效果:由于能够以简单的方式创建元数据即schema,连接多种图数据库且通过统一的操作访问多种图数据库,并且通过schema和图数据库的数据生成图并能够对图进行各种可视化操作,所以克服了多种图数据库之间缺乏统一的知识管理、数据库支持和可视化平台的技术问题,进而达到通过统一的标准化指令操作多种图数据库从而降低用户对图数据库的学习、使用和管理成本,对多种图数据库建立统一的知识管理并且进行可视化的技术效果。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的基于图数据库的知识管理方法的主要流程的示意图;

图2是创建的schema可视化坐标图的实例的视图;

图3示出了对图进行可视化查询和展示的预定规则和条件;

图4示出了图的可视化结果的实例;

图5是根据本发明实施例的基于图数据库的知识管理系统的主要模块的示意图;

图6是根据本发明实施例的基于图数据库的知识管理系统的系统平台架构图;

图7是本发明实施例可以应用于其中的示例性系统架构图;

图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本发明实施例的基于图数据库的知识管理方法的主要流程的示意图,如图1所示,根据本发明实施例的基于图数据库的知识管理方法主要包括:步骤S101,创建元数据,并在所述元数据中定义图所包括的顶点、所述顶点的属性、所述顶点之间的关系以及所述关系的属性;步骤S102,连接多种图数据库中的任意一种图数据库,使得能够对所述图数据库进行各种数据库操作;步骤S103,基于创建的所述元数据和连接的所述图数据库创建所述图,使得所述图带有所述顶点和所述关系的数据;以及步骤S104,对所述图进行可视化处理,使得能够对所述图进行各种可视化操作。

下面结合图2至4具体说明根据本发明实施例的基于图数据库的知识管理方法的各步骤。

步骤S101:创建元数据(schema)

创建schema有两种方式,一种是用户在后文将描述的根据本发明实施例的基于图数据库的知识管理系统平台上例如通过托拉拽的方式自定义设计schema,另外一种是通过公知的本体编辑和知识获取软件Protégé的owl文件上传schema。Schema包括顶点和边,顶点也称为“概念”,边即顶点与顶点之间的关系。用户需要在schema中定义要获得的图中所含有的全部顶点、顶点的属性、顶点之间存在的关系以及顶点和关系的属性。顶点的属性例如包括时间、地点、场景和用途等,关系的属性例如包括拥有、属于等。顶点、关系和schema的数据结构如下表1-3所示。

表1 顶点数据结构表

如表1所示,顶点的数据结构中包括概念名、创建人、更新人及对应的时间、坐标和概念下的属性等,其中属性的存储结构是key:value结构的json串。

表2 关系数据结构表

字段 类型 描述
id Int(11) 主键自增长
name Varchar(255) 关系名
comment Varchar(255) 关系别名
s_id int(11) 来源概念id
t_id int(11) 目标概念id
deleted smallint 是否删除1删除、0未删除
creator Varchar(30) 创建人
create_time timestamp 创建时间戳
modifier Varchar(30) 更改人
modify_time timestamp 更新时间戳
schema_id Int(11) Schema的id
property Varchar(20000) 关系的属性串

如表2所示,关系的数据结构中也同样记录了关系名、操作人及时间、坐标及关系下的属性串等,其中属性以key:value结构的json串表示。

表3 schema数据结构表

字段 类型 描述
id Int(11) 主键自增长
business Smaillint 业务id
name Varchar(255) 关系名
comment Varchar(255) 关系别名
relation_ship varchar(20000) 属性串
status int(11) 状态1创建2.发布
deleted smallint 是否删除1删除、0未删除
creator Varchar(30) 创建人
create_time timestamp 创建时间戳
modifier Varchar(30) 更改人
modify_time timestamp 更新时间戳

如表3所示,schema表将本次设计的所有顶点与关系通过逻辑结构关联起来。

使用上述的数据结构,并且结合当前公知的AntV G6框架直观的展示schema,最终schema展示的可视化坐标图例如如图2所示。其中,圆圈表示顶点即概念,圆圈内的文字表示顶点的属性,如产品、工艺、用途等,箭头表示边即顶点之间的关系,箭头上的文字表示顶点和关系的属性,如拥有、属于、包含等。

步骤S102:连接数据库

当用户已有图数据库集群资源时,用户需录入包括图数据库的链接地址、端口、用户名和密码信息等的连接信息,以录入集群信息从而连接图数据库。例如,能够连接的图数据库包括但不限于国外的neo4j、dgraph,国内的hugeGraph、Tgraph、ByteGraph、joygraph和CBgraph等。由于这些数据库的外界操作彼此不同,所以需要对各种数据库进行统配。具体地,定义一套统一的数据结构,使外界的入参和出参成为一套标准化的结构,从而能够通过统一的操作来实现对不同数据库的数据库操作,以简化对不同数据库的调用的复杂性,具体如后文所述。

另一方面,对于暂无集群资源的用户,用户可参照相关学习文档申请集群资源,申请成功后再如上所述地录入集群的连接信息。

集群的结构如下表所示,包括集群地址、类型、业务、创建人和更新人及对应的时间、集群可用状态及集群录入来源等。

表4 集群结构表

字段 类型 描述
id Int(11) 主键自增长
name Varchar(255) 图名称
business Int(11) 业务id
type Int(11) 数据库类型1.neo4j 2.dgraph 3伽利略
url varchar(255) 数据库链接地址
Port Int(11) 端口号
status Int(11) 集群状态
deleted smallint 是否删除1删除、0未删除
creator Varchar(30) 创建人
create_time timestamp 创建时间戳
modifier Varchar(30) 更改人
modify_time timestamp 更新时间戳
source Int(11) 来源(图数据库已有图或空图)

步骤S103:创建图

在该步骤中创建图并且录入图数据库集群的数据集。

创建图有两种方式。一种是当连接的图数据库中已经有图数据时,直接基于创建的schema和连接的图数据库的数据生成一张图,其中,图名默认为数据库集群名,系统直接从图数据库同步schema到mysql数据库中并且自动生成一条图数据库记录,然后用户可以编辑、补充和关联该schema id,从而完成图的构建。另一种是当连接的图数据库为空集群即没有数据时,用户先选择无图模式,然后自定义创建一张图,并且设置图的基本信息,如名称、业务、schema id和集群id,从而完成图的构建。

图的结构如下表所示,整合了集群信息和schema信息,构建了一张完整的图结构,然后基于该逻辑图,同步真正的schema、顶点和关系数据给底层具体图数据库。

表5 图结构表

字段 类型 描述
id Int(11) 主键自增长
cluster_id Smaillint 集群ID
name Varchar(255) 图名称
deleted smallint 是否删除1删除、0未删除
creator Varchar(30) 创建人
create_time timestamp 创建时间戳
modifier Varchar(30) 更改人
modify_time timestamp 更新时间戳
schema_id Int(11) Schema id

构建好图后即可向图中录入数据。以图数据库dgraph和neo4j为例,通过公知的计算引擎spark的处理结构化数据的模块sparkSQL读取数据仓库工具hive的数据以生成数据在内存中的缓存组件即DataSet,然后调用DataSet组件的写入函数DataSet.write().format(自定义数据源).options(options).save(),其中format参数的自定义数据源继承spark中的数据源DataSourceV2,通过对应的客户端调用例如图数据库dgraph和neo4j的服务,从而写入顶点和关系数据。

在本发明实施例的方法中,由于需要导入的数据量可能非常大,所以以统一的模板的方式来批量导入顶点和关系的数据。

首先需要在本地生成模板文件。例如,使用开源的easyExecl生成本地的execl模版文件,模板的具体形式为:将概念(顶点)模版生成为一个多sheet(表单)名的execl文件,sheet名为概念的名称,每个sheet的表头是每个概念的属性名。同样,将关系模版生成为一个多sheet名的execl文件,sheet名为关系名称,每个sheet的表头是关系的属性,其中第一列和第二列分别是开始节点的主键名和结束节点的主键名。具体代码如下。

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

response.setCharacterEncoding("utf-8");

response.setHeader("Content-disposition","attachment;filename="+URLEncoder.encode("概念模版"+".xlsx","UTF-8"));

ExcelWriter excelWriter=EasyExcel.write(response.getOutputStream()).build();

WriteSheet ws=EasyExcel.writerSheet(sheetNo,graphConcept.getName()).head(headList).build();

sheetNo++;

excelWriter.write(new ArrayList(),ws);

excelWriter.finish();

生成模板文件后即可以本地文件的方式导入数据。具体地,读取execl的数据文件,如下构建json格式的数据:

其中,最外层是“nodes”和“relations”节点。“nodes”是一个集合,每个对象包括概念的label(标签)和属性的集合,每个属性包括属性名、属性值、是否是主键和数据类型;“relations”也是一个集合,每个对象包括起始概念“start”和结束概念“end”,“start”和“end”包括的起始概念和结束概念的名称、主键子段、主键类型及主键子段的值。然后利用上文所述的统一的数据结构通过线程池批量的调用不同的图数据库各自的图插入语句,完成execl上传以向图中导入数据,从而完成图的创建。

步骤S104:可视化处理

创建好图后即可进行可视化处理。首先建立索引结构。索引结构包括顶点索引和关系索引,顶点索引都是建立在顶点的属性上,关系索引可以建立在边上也可以在边的属性上,具体代码如下:

然后建立可视化查询功能。可视化查询数据结构如下所示,包括查询顶点和关系的属性组合方式,查询限制规则以及查询类型,具体规则和类型例如如图3所示,包括排序规则和数量级等。

接下来设置预定的搜索条件,使得能够通过搜索条件对图的内容进行搜索。搜索条件的设置如图3所示,包括但不限于点和边的条件搜索、条件过滤等。搜索的结果作为可视化知识结构进行展示,如图4所示,示出了两个顶点之间的关系以及这两个顶点各自schema坐标图。

以上简要说明了根据本发明实施例的基于图数据库的知识管理方法。下面结合图5说明实现上述方法的根据本发明实施例的基于图数据库的知识管理系统200。

如图5所示,根据本发明实施例的基于图数据库的知识管理系统200主要包括元数据创建模块201、数据库连接模块202、图创建模块203以及可视化模块204。下面具体说明各个模块。

元数据创建模块201

元数据创建模块201用于创建schema,并且分为模式设计模块和模式生成模块这两个子模块,用户可以通过模式设计模块在系统的平台上以拖、拉、拽的方式建立schema,已有schema的用户也可以通过模式生成模块将owl文件上传到系统平台以建立schema,并且对schema进行编辑修改,并且用schema来定义图包括什么顶点、顶点之间具有什么关系以及顶点和关系的属性。

数据库连接模块202

数据库连接模块202用于连接多种图数据库并且使得对各种图数据库进行各种数据库操作。数据库连接模块202包括集群资源录入子模块和数据库统配子模块。用户使用集群资源录入子模块录入多种图数据库中的要使用的任意一种图数据库的连接信息,如图数据库的链接地址和端口、用户名和密码信息,用以后续录入数据库集群资源。

数据库统配子模块使用适配器对录入的底层数据库进行统配。具体地,对于用户所选的任意一个图数据库,通过数据库统配子模块的统配,能够针对外部操作不同的多种图数据库定义一套统一的数据结构,使得外界入参和出参是一套标准化的结构,进而使用户能够用同一套操作语言操作多种图数据库,从而统一了数据库的操作语言,减少了外部系统的调用复杂性。

图创建模块203

图创建模块203用于基于创建的schema和连接的图数据库的数据创建带有顶点和关系等数据的图。图创建模块203包括图设计模块、图生成模块和数据导入模块。对于已有图的用户,当成功连接数据库后,系统通过图生成模块自动生成一张图,图名默认为录入的集群名称,用户可对图进行编辑,通过关联schema id而绑定schema并通过数据导入模块进行数据集录入,以创建图。对于没有图谱的用户,在成功连接到数据库后,用户可通过图设计模块设计自己的图,设置图的基本信息,如名称、业务、schema id和集群id,然后同样可通过数据导入模块进行数据集录入。

可视化模块204

可视化模块204用于使得能够对创建好的图进行各种可视化操作,例如可视化查询和可视化展示。在本发明的实施例中,可视化模块204包括可视化查询模块和可视化展示模块。

可视化查询模块支持根据图的顶点的属性、关系和关系的属性以及预定的查询规则和查询类型进行查询,例如查询节点和关系的属性组合方式,查询限制规则以及查询类型等。此外,可视化查询模块还支持通过各种图数据库的查询语言进行查询。

可视化展示模块支持根据预定的搜索条件从图中提取相应的知识结构以进行展示。例如,用户导入顶点和关系后,通过设置如图3所示的各种查询条件、规则而得到如图4所示一套知识结构作为搜索结果,进而可以分析数据之间的关系,比如两点之间的最短路径、全路径、pageRank、连通子图和协同推荐等等。

图6示出了根据本发明实施例的基于图数据库的知识管理系统的具体平台架构。如图6所示,系统从左向右自下而上分为:持久化引擎,用于保存真实的数据;计算引擎,如spark;图数据库层,用于存放数据;适配层,实现对底层数据库的统配,以统一操作不同的图数据库;应用层,能够实现的功能包括做数据分析OLAP用和做联机事务OLTP用;数据库调用层,支持统一的结构查询,也支持通过具体图数据库查询语言做查询,方便熟悉此类图数据库的开发者使用;以及数据赋能层,支持通过API的方式将数据返给业务以及通过系统平台的可视化工具直观地查看数据。

图6右侧展示了系统平台的一个对外的直观系统图示,用户能够通过域名访问这些菜单,并对图数据库配置对应的用户权限以及schema和可视化展示的界面,从而进行各种管理和应用。

以上介绍了根据本发明实施例的基于图数据库的知识管理方法和系统。根据本发明实施例的基于图数据库的知识管理方法和系统能够支持用户通过拖拉拽的形式简单地构建一套知识图谱的知识管理,即schema管理,从而构建一套知识库,然后利用构建好的schema,结合用户在平台录入的图数据库的类型和数据库的连接参数来构建一套图,并且提供导入数据的模板和hive同步数据到图数据库模板来导入顶点和边数据,无需用户写对应图数据库的导入语言,最后提供一个通用的使用AntV G6构建的图可视化来完美地展示图数据。

通过使用根据本发明实施例的基于图数据库的知识管理方法和系统,能够以简单的方式创建schema,连接多种图数据库且通过统一的操作调用多种图数据库,并且通过schema和图数据库的数据生成图并能够对图进行各种可视化操作,从而克服了多种图数据库之间缺乏统一的知识管理、数据库支持和可视化平台的技术问题,进而达到通过统一的标准化指令操作多种图数据库从而降低用户对图数据库的学习、使用和管理成本,对多种图数据库建立统一的知识管理并且进行可视化的技术效果。

图7示出了可以应用本发明实施例的基于图数据库的知识管理方法或基于图数据库的知识管理系统的示例性系统架构700。

如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。

需要说明的是,本发明实施例所提供的基于图数据库的知识管理方法一般由服务器705执行,相应地,基于图数据库的知识管理系统一般设置于服务器705中。

应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:创建元数据,并在所述元数据中定义图所包含的顶点、所述顶点的属性、所述顶点之间的关系以及所述关系的属性;连接多种图数据库中的任意一种图数据库,使得能够对所述图数据库进行各种数据库操作;基于创建的所述模式和连接的所述图数据库生成所述图,并向所述图中写入所述顶点和所述关系的数据;以及对所述图进行可视化处理,使得能够对所述图进行各种可视化操作。

根据本发明实施例的技术方案,由于能够以简单的方式创建schema,连接多种图数据库且通过统一的操作调用多种图数据库,并且通过schema和图数据库的数据生成图并能够对图进行各种可视化操作,所以克服了多种图数据库之间缺乏统一的知识管理、数据库支持和可视化平台的技术问题,进而达到通过统一的标准化指令操作多种图数据库从而降低用户对图数据库的学习、使用和管理成本,对多种图数据库建立统一的知识管理并且进行可视化的技术效果。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息处理方法、装置、电子设备和计算机可读介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!