一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

知识图谱的展示方法和装置与流程

2022-02-22 17:55:07 来源:中国专利 TAG:


1.本发明涉及大数据领域,具体而言,涉及一种知识图谱的展示方法和装置。


背景技术:

2.提取业务数据进行处理,并通过建立数据之间的关联链接,将碎片化的数据有机的组织起来,以为搜索、挖掘、分析等提供便利,并用图的形式去存储和表示知识,利用图谱基于图的数据结构,由节点(point)和边(edge)组成,有图谱的辅助,往往让搜索引擎能够根据用户查询背后的语义信息,返回更准确、更结构化的信息。
3.现有技术中一般是采用neo4j实现,neo4j里面用的查询语言,支持嵌套查询、条件查询,可视化界面好看,缺点是查询能力有限(满足日常查询功能是没问题的),并且neo4j实时写入数据的效率比较慢。


技术实现要素:

4.本发明的主要目的在于提供一种知识图谱的展示方法和装置,以解决现有技术中数据写入较慢的问题。
5.为了实现上述目的,根据本发明的一个方面,提供了一种知识图谱的展示方法,包括:采用flink实时流,在neo4j图数据库中实时写入业务数据;利用图数据库的可视化界面,展示知识图谱。
6.可选地,在利用图数据库的可视化界面,展示知识图谱之前,方法还包括:利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系。
7.可选地,在为图数据库中的业务数据创建节点和节点间的关系之后,方法还包括:建立包括建立的节点与节点之间关系的知识图谱。
8.可选地,利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系,包括:在图数据库中为业务数据创建节点;在图数据库中删除已创建的节点;在图数据库中进行模糊匹配;在图数据库中匹配出节点间关系。
9.可选地,采用flink实时流,在neo4j图数据库中实时写入数据时,可采用jsonutil工具类解析业务数据,并在处理完后使用flink-datastream实时写入图数据库:采用自定义工具类解析出原始业务数据;根据业务的数据结构从原始业务数据中解析出所需数据字段以及数据;根据业务清洗规则使用flink的算子,对数据进行清洗和过滤,并测试校验数据准确性和唯一性;对得到的结果数据使用flink实时流功能实时写入neo4j图数据库中,以便于在图数据库中通过语句查询数据并做展示。
10.可选地,在采用flink实时流,在neo4j图数据库中实时写入数据之前,方法还包括:定义funcation实现方法以及逻辑代码;定义主类使用flink-datastream处理数据并实时写入neo4j;定义解析json数据的自定义工具类;定义连接工具类;定义任务参数设置工具类。
11.可选地,在采用flink实时流,在neo4j图数据库中实时写入数据之前,方法还包
括:采用checkpoint机制进行设置,以对流处理运行时的状态进行保存。
12.为了实现上述目的,根据本发明的一个方面,还提供了知识图谱的展示装置,包括:写入模块,用于采用flink实时流,在neo4j图数据库中实时写入业务数据;展示模块,用于利用图数据库的可视化界面,展示知识图谱。
13.可选地,展示模块还用于在利用图数据库的可视化界面,展示知识图谱之前,利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系。
14.可选地,展示模块还用于在为图数据库中的业务数据创建节点和节点间的关系之后,建立包括建立的节点与节点之间关系的知识图谱。
15.可选地,展示模块还用于在利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系时,在图数据库中为业务数据创建节点;在图数据库中删除已创建的节点;在图数据库中进行模糊匹配;在图数据库中匹配出节点间关系。
16.可选地,写入模块还用于采用flink实时流,在neo4j图数据库中实时写入数据时,可采用jsonutil工具类解析业务数据,并在处理完后使用flink-datastream实时写入图数据库:采用自定义工具类解析出原始业务数据;根据业务的数据结构从原始业务数据中解析出所需数据字段以及数据;根据业务清洗规则使用flink的算子,对数据进行清洗和过滤,并测试校验数据准确性和唯一性;对得到的结果数据使用flink实时流功能实时写入neo4j图数据库中,以便于在图数据库中通过语句查询数据并做展示。
17.可选地,写入模块还用于在采用flink实时流,在neo4j图数据库中实时写入数据之前,定义funcation实现方法以及逻辑代码;定义主类使用flink-datastream处理数据并实时写入neo4j;定义解析json数据的自定义工具类;定义连接工具类;定义任务参数设置工具类。
18.可选地,写入模块还用于在采用flink实时流,在neo4j图数据库中实时写入数据之前,采用checkpoint机制进行设置,以对流处理运行时的状态进行保存。
19.根据本技术实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
20.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中任一实施例的步骤。
21.应用本发明的技术方案,采用flink实时流,在neo4j图数据库中实时写入业务数据;利用图数据库的可视化界面,展示知识图谱,flink-datastream具备高速实时处理业务数据的能力,故而可以解决现有技术中数据写入较慢的问题。
22.除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
23.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
24.图1示出了根据本发明的知识图谱的展示方法的流程图;以及
25.图2示出了根据本发明的知识图谱的展示装置的示意图。
具体实施方式
26.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
27.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
28.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
30.为了解决所提及的问题,根据本技术的一个方面,提供了一种知识图谱的展示方法,如图1所示,包括:
31.步骤s102,采用flink实时流,在neo4j图数据库中实时写入业务数据。
32.flink-datastream,datastream是flink的较低级api,用于进行数据的实时处理任务,可以将该编程模型分为数据源操作data source operator、数据转换操作transformation operator、数据流输出操作sink operator三个部分。
33.neo4j是一个高性能的nosql图形数据库,它将结构化数据存储在网络上形成图谱而不是直接存储在表中,neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性,如:事务、索引等,程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中,但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。在一个图中包含两种基本的数据类型:nodes(节点)和relationships(关系),nodes和relationships包含key、value形式的属性,nodes通过relationships所定义的关系相连起来,形成关系型网络结构。
34.节点:构成一张图的基本元素是节点和关系,在neo4j中,节点和关系都可以包含属性,节点经常被用于表示一些实体,但依赖关系也一样可以表示实体。
35.关系:节点之间的关系是图数据库很重要的一部分,通过关系可以找到很多关联的数据,比如节点集合,关系集合以及他们的属性集合。
36.neo4j的特性如下:完整的acid支持、高可用性、轻易扩展到上亿级别的节点和关
系、)通过遍历工具高速检索数据。
37.可选地,采用flink实时流,在neo4j图数据库中实时写入数据时,可采用jsonutil工具类解析业务数据,并在处理完后使用flink-datastream实时写入图数据库:采用自定义工具类解析出原始业务数据;根据业务的数据结构从原始业务数据中解析出所需数据字段以及数据;根据业务清洗规则使用flink的算子,对数据进行清洗和过滤,并测试校验数据准确性和唯一性;对得到的结果数据使用flink实时流功能实时写入neo4j图数据库中,以便于在图数据库中通过语句查询数据并做展示。
38.可选地,在采用flink实时流,在neo4j图数据库中实时写入数据之前,方法还包括:定义funcation实现方法以及逻辑代码;定义主类使用flink-datastream处理数据并实时写入neo4j;定义解析json数据的自定义工具类;定义连接工具类;定义任务参数设置工具类。针对需求编写flink代码,进行创建节点和关系以及实时写入数据:
39.1)自定义funcation实现方法以及逻辑代码:
40.public class neo4jsink extends richsinkfunction《dict》{};
41.2)主类使用flink处理数据并实时写入neo4j:
42.public class darunfaneo4j{};
43.3)解析json数据的自定义工具类:
44.public class jsonutil{};
45.4)自定义连接工具类:
46.public class zxdatautil{};
47.5)自定义任务参数设置工具类:
48.public class flinkutil{}。
49.可选地,在采用flink实时流,在neo4j图数据库中实时写入数据之前,方法还包括:采用checkpoint机制进行设置,以对流处理运行时的状态进行保存。
50.解析处理数据并使用flink-datastream实时写入数据,采用checkpoint机制进行设置能够对流处理运行时的状态进行保存:
51.public static streamexecutionenvironment getenv(){
52.streamexecutionenvironment env=streamexecutionenvironment.getexecutionenvironment();
53.//启用检查点,指定触发checkpoint的时间间隔(单位:毫秒,默认500毫秒),默认情况是不开启的env.enablecheckpointing(3pa03060l);
54.//设定checkpoint超时时间,默认为10分钟
55.env.getcheckpointconfig().setcheckpointtimeout(18pa03060);
56.//如果有更近的保存点时,是否将作业回退到该检查点
57.env.getcheckpointconfig().setprefercheckpointforrecovery(true);
58.//设置可以允许的checkpoint失败数
59.env.getcheckpointconfig().settolerablecheckpointfailurenumber(3);
60.//至少一次
61.env.getcheckpointconfig().setcheckpointingmode(checkpointingmode.at_least_once);
62.return env;
63.}
64.采用jsonutil工具类解析数据并处理完使用flink-datastream实时写入数据:
65.66.[0067][0068]
步骤s104,利用图数据库的可视化界面,展示知识图谱。
[0069]
可选地,在利用图数据库的可视化界面,展示知识图谱之前,方法还包括:利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系。
[0070]
可选地,在为图数据库中的业务数据创建节点和节点间的关系之后,方法还包括:建立包括建立的节点与节点之间关系的知识图谱。
[0071]
可选地,利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系,包括:在图数据库中为业务数据创建节点;在图数据库中删除已创建的节点;在图数据库中进行模糊匹配;在图数据库中匹配出节点间关系。
[0072]
创建节点并建立关系
[0073][0074]
针对不同的需求使用不同的语句,在图数据库中进行常规操作。
[0075]
删除某个节点:
[0076]
match p=(pro:property{name:"详见商品"})《-[r]-(n)delete r,pro
[0077]
模糊匹配:
[0078]
match(n:produce)where n.name=~'.*蒙牛.*'return n
[0079]
关联匹配:
[0080]
match w=(produce:produce)-[b:`品牌`]-》(brand:brand)with produce,brand match p=(produce:produce)-[c:`一级分类`]-》(class1:firstcategory)with produce,class1,brand match q=(produce:produce)-[ww:`二级分类`]-》(class2:secondcategory)return brand,class1,class2,produce。
[0081]
本技术可基于flink做实时流数据处理以及基于neo4j做节点扩充和数据关联链接。
[0082]
本发明的目的:1)采用flink-datastream实时处理业务数据保证数据不断写入;2)采用neo4j图数据库扩展更多的节点和关系。
[0083]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0084]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储
介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0085]
为了实现上述目的,根据本发明的一个方面,还提供了知识图谱的展示装置,如图2所示包括:
[0086]
写入模块21,用于采用flink实时流,在neo4j图数据库中实时写入业务数据;展示模块23,用于利用图数据库的可视化界面,展示知识图谱。
[0087]
可选地,展示模块还用于在利用图数据库的可视化界面,展示知识图谱之前,利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系。
[0088]
可选地,展示模块还用于在为图数据库中的业务数据创建节点和节点间的关系之后,建立包括建立的节点与节点之间关系的知识图谱。
[0089]
可选地,展示模块还用于在利用图数据库的扩展性,为图数据库中的业务数据创建节点和节点间的关系时,在图数据库中为业务数据创建节点;在图数据库中删除已创建的节点;在图数据库中进行模糊匹配;在图数据库中匹配出节点间关系。
[0090]
可选地,写入模块还用于采用flink实时流,在neo4j图数据库中实时写入数据时,可采用jsonutil工具类解析业务数据,并在处理完后使用flink-datastream实时写入图数据库:采用自定义工具类解析出原始业务数据;根据业务的数据结构从原始业务数据中解析出所需数据字段以及数据;根据业务清洗规则使用flink的算子,对数据进行清洗和过滤,并测试校验数据准确性和唯一性;对得到的结果数据使用flink实时流功能实时写入neo4j图数据库中,以便于在图数据库中通过语句查询数据并做展示。
[0091]
可选地,写入模块还用于在采用flink实时流,在neo4j图数据库中实时写入数据之前,定义funcation实现方法以及逻辑代码;定义主类使用flink-datastream处理数据并实时写入neo4j;定义解析json数据的自定义工具类;定义连接工具类;定义任务参数设置工具类。
[0092]
可选地,写入模块还用于在采用flink实时流,在neo4j图数据库中实时写入数据之前,采用checkpoint机制进行设置,以对流处理运行时的状态进行保存。
[0093]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0094]
为了便于描述,在这里可以使用空间相对术语,如“在
……
之上”、“在
……
上方”、“在
……
上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在
……
上方”可以包括“在
……
上方”和“在
……
下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。
[0095]
在本发明的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。
[0096]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献