CN111813926A - 一种图数据库Neo4J交互可视化的操作方法与系统 - Google Patents

一种图数据库Neo4J交互可视化的操作方法与系统 Download PDF

Info

Publication number
CN111813926A
CN111813926A CN202010885553.5A CN202010885553A CN111813926A CN 111813926 A CN111813926 A CN 111813926A CN 202010885553 A CN202010885553 A CN 202010885553A CN 111813926 A CN111813926 A CN 111813926A
Authority
CN
China
Prior art keywords
node
relationship
information
relation
interface
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
Application number
CN202010885553.5A
Other languages
English (en)
Other versions
CN111813926B (zh
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.)
Communication University of China
Original Assignee
Communication University of China
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 Communication University of China filed Critical Communication University of China
Publication of CN111813926A publication Critical patent/CN111813926A/zh
Application granted granted Critical
Publication of CN111813926B publication Critical patent/CN111813926B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (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)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种图数据库Neo4J交互可视化的操作方法与系统,涉及图数据库交互可视化领域,包括点击鼠标与用户交互界面进行交互,发起创建节点请求,后端调用节点操作模块中的新建节点程序,将创建节点操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,在点击位置绘制节点;拖拽鼠标与用户交互界面进行交互,获取拖拽起止节点编号,将拖拽起止节点编号作为参数发起新增关系请求,后端调用关系操作模块中的新增关系程序,将新增关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,在起止节点间绘制关系。该发明的有益效果是:通过点击按钮,拖拽图标,输入节点名称等较为简单易懂的操作,降低图数据库Neo4J的使用门槛。

Description

一种图数据库Neo4J交互可视化的操作方法与系统
技术领域
本发明涉及图数据库、交互可视化领域以及数据分析领域,尤其是涉及一种图数据库Neo4J交互可视化的操作方法与系统。
背景技术
Neo4J作为近年来一直排名第一的图数据库,具有完全支持ACID事务、支持海量数据的关系表示和查询等特点,广泛应用在社交网络、知识图谱和各种着重于关系表示的海量数据分析场景。
Neo4J的操作通过Cypher语句来执行,虽然它是声明式查询语言,但对于没有编程经验的普通用户来说,Cypher语法难于理解和记忆,门槛高、学习曲线陡峭,限制了Neo4J的普及应用。甚至对于计算机的从业者来说,熟练掌握Cypher语句也具有相当的挑战性。
尽管Neo4J提供了交互的操作工具Neo4J-Browser和Neo4J-Bloom,但是绝大部分操作仍是通过Cypher语句实现。Neo4J-Browser是Neo4J最早开发的交互客户端,用户在浏览器中输入数据库的IP地址和端口,使用用户名和密码连接,主要通过Cypher语句增删改查节点和关系,查询结果以可视图形的方式展现。Neo4J-Bloom是Neo4J平台的图形化检索应用程序,允许用户从不同的业务角度查询并展示节点和关系数据,不需要写Cypher语句执行查询操作,但是Neo4J-Bloom只能够查找而不能编辑数据库的内容。
基于此,本发明一种图数据库Neo4J交互可视化的操作方法与系统,用户不需要通过Cypher语句增删改查节点和关系,也可以实现数据库的编辑,通过交互可视化操作Neo4J的数据,并返回可进一步交互的可视化结果,简化了图数据库Neo4J的操作并降低数据管理成本,让更多不懂Cypher语句的用户能够创建、组织、访问以及分析Neo4J数据,帮助非编程人员使用和管理Neo4J中的数据。
发明内容
针对上述问题,本发明提供了一种图数据库Neo4J交互可视化的操作方法与系统,实现点击鼠标创建节点、拖拽鼠标创建边关系、以及修改节点和关系属性的操作,代替键盘输入查询语句;实现对关系型数据库数据表导入到Neo4J中创建节点和关系的功能;实现Neo4J复杂网络分析可视化;实现网络节点社区划分、最短路径、PageRank值计算及可视化展示。
为实现上述目的,本发明提供了一种图数据库Neo4J交互可视化的操作系统,包括:
点击鼠标与用户交互界面空白位置进行交互,将点击位置坐标作为参数发起创建节点请求,后端调用节点操作模块中的新建节点程序,将创建节点操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,在点击位置绘制节点;
拖拽鼠标与用户交互界面节点进行交互,获取拖拽起止节点编号,将拖拽起止节点编号作为参数发起新增关系请求,后端调用关系操作模块中的新增关系程序,将新增关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,在起止节点间绘制关系;
通过键盘输入节点或关系修改信息,鼠标点击提交修改按钮与用户交互界面进行交互,将节点修改信息或关系修改信息作为参数发起修改请求,后端调用节点操作模块中的修改节点程序或调用关系操作模块中的修改关系程序,将修改节点或修改关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,根据修改信息重新绘制节点或关系;
通过鼠标点击信息栏删除按钮与用户交互界面进行互动,将信息栏中当前节点或关系的编码作为参数发起删除请求,后端调用关系操作模块中的关系删除程序或节点操作模块中的节点关系查询程序,将关系删除程序或节点关系查询操作转化为Cypher语句,执行Cypher语句,在用户交互界面删除关系或查询节点是否存在关系,若不存在,则继续调用节点操作模块中的节点删除程序,将节点删除操作转化为Cypher语句,执行Cypher语句,在用户交互界面删除节点。
作为本发明的进一步改进,
在发起各操作请求后,均需视图模块判断图数据库系统是否处于可操作状态,并获取连接图数据库的对象,与图数据库后端操作系统建立联系。
作为本发明的进一步改进,
所述后端调用节点操作模块中的新建节点程序前,系统默认设置新增节点的标签和属性;
所述将新增节点操作转化为Cypher语句,执行Cypher语句,执行完成后将新增节点的默认标签和属性信息封装成JSON格式的节点数据,传回用户交互界面,在用户交互界面中将节点数据加入节点信息数组,在点击位置绘制节点。
作为本发明的进一步改进,所述拖拽鼠标与用户交互界面节点进行交互,获取拖拽起止节点编号,包括步骤:
在任一节点上按下鼠标,获取该节点的信息,设为按下节点;
拖动鼠标移动,绘制一条以源节点为起始位置,鼠标位置为结束位置的有向线段;
在任一节点处抬起鼠标,获取该节点的信息,设为抬起节点;
判断按下节点和抬起节点是否为同一节点;
若为同一节点,则所述有向线段消失;若不为同一节点,则获取按下节点和抬起节点的编号;
所述将新增关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,还包括,在执行Cypher语句成功后将新增关系的按下节点和抬起节点的编号信息封装成JSON格式的关系数据传回用户交互界面,将关系数据加入关系信息数组,重新绘制关系。
作为本发明的进一步改进,
所述节点修改信息或关系修改信息需先组装成JSON格式,再将组装成JSON格式的节点修改信息或关系修改信息作为参数发起修改请求;
所述后端调用节点操作模块中的修改节点程序或调用关系操作模块中的修改关系程序前,先获取节点修改信息或关系修改信息;
在调用关系操作模块中的修改关系程序后,先读取关系修改信息中的关系类型,判断是否对关系类型进行修改,根据判断结果将修改关系操作转化为不同的Cypher语句;
所述将修改节点或修改关系操作转化为Cypher语句,执行Cypher语句成功后,将修改节点信息或修改关系组装成JSON格式的节点数据信息或关系数据信息至用户交互界面,用户交互界面在存储节点信息或存储关系信息的数组中找到该节点或关系并修改,根据修改信息重新绘制节点或关系。
作为本发明的进一步改进,
所述后端调用关系操作模块中的关系删除程序或节点操作模块中的节点关系查询程序前,先获取当前节点或关系的编码,再判断是否为节点,若为节点则调用节点操作模块中的节点关系查询程序;若不为节点则调用关系操作模块中的关系删除程序;
所述查询节点是否存在关系时,若存在则返回用户交互界面,提示用户节点上存在关系,请先删除节点上的关系;
在用户交互界面删除节点或关系包括:Cypher语句执行成功,返回删除成功至用户交互界面,在节点或关系信息数组中删除关系,并重新绘制节点或关系。
本发明还提供了一种用于如上所述图数据库Neo4J交互可视化的操作方法的操作系统,包括前端交互界面和后端操作系统,所述前端交互界面包括登录界面、浏览数据库界面、导入数据界面和分析数据界面;
所述后端操作系统包括登录模块、默认信息显示模块、节点操作模块、关系操作模块、批量数据导入模块、图分析模块和视图模块,所述后端操作系统支撑用户在前端操作界面的所有操作,完成图数据库Neo4J的交互可视化。
作为本发明的进一步改进,
所述登录界面,用于:
用户输入登录信息,进行登录操作,并展示登录成功及失败情况;
所述浏览数据库界面,用于:
数据库基本信息展示;
用户进行数据库信息查询操作,包括节点查询和关系查询;
展示查询到的数据结果供用户查看;
所述编辑数据库界面,用于:
用户进行节点和关系的创建、编辑及删除操作,并实时展示创建过程及结果;
所述导入数据界面,用于:
用户进行批量数据导入操作,包括批量导入节点和批量导入关系;
所述分析数据界面,用于:
用户进行社区监测、最短路径计算和PageRank计算操作,并显示分析结果。
作为本发明的进一步改进,
所述登录模块,用于:
执行用户登录和退出图数据库操作,完成图数据库的连接和断开;
所述默认信息显示模块,用于:
获取数据库基本信息,并展示在浏览数据库界面;
所述节点操作模块,用于:
执行节点查询操作;
执行创建、编辑及删除节点操作;
所述关系操作模块,用于:
执行关系查询操作;
执行创建、编辑及删除关系操作;
所述批量数据导入模块,用于:
执行批量导入节点和批量导入关系的操作;
所述图分析模块,用于:
执行社区检测、最短路径计算和PageRank中心性计算操作;
所述视图模块,用于:
监视接收前端交互界面的操作信号,向后端操作系统发送数据及执行信号。
作为本发明的进一步改进,
所述浏览数据库界面的数据结果及所述编辑数据库界面的创建过程及结果均通过力导向图进行展示;
所述后端操作系统的框架程序采用Python语言编写,对图数据库的操作执行程序采用Cypher语句编写。
与现有技术相比,本发明的有益效果为:
本发明将原本需要用户输入的Cypher操作语句建设在后台处理系统的程序中,使用户操作简化为,点击按钮,拖拽图标,输入节点名称等较为简单易懂的操作,实现对图数据库的管理和使用,同时降低图数据库Neo4J的使用门槛,通过该方法让不懂Cypher语句的用户也能够创建、组织、访问以及分析图数据库Neo4J的数据,进而管理图数据库Neo4J中的数据。
本发明通过建立前端交互界面和后端操作系统,使交互界面的一系列操作有后台程序支撑,进而使图数据库Neo4J的交互可视化;同时设置浏览数据库界面、导入数据界面和分析数据界面,使数据查看更加方便;数据可以批量导入,数据导入更加快捷;可以对数据进行不同角度的快速分析。
本发明中图数据库Neo4J的数据展示采用力导向图,使节点及关系更加清晰,并且可以在力导向图中直接点击节点和关系,实现查看、修改、删除节点或关系,操作方便,可视化。
本发明提供了多种节点及关系的数据查询方法,使数据库的数据查询更加简单。
附图说明
图1为本发明一种实施例公开的图数据库Neo4J交互可视化的操作系统整体架构图;
图2为本发明一种实施例公开的图数据库Neo4J交互可视化的操作系统后端处理模块架构图;
图3为本发明一种实施例公开的创建节点流程图;
图4为本发明一种实施例公开的新增关系流程图;
图5为本发明一种实施例公开的编辑/修改节点流程图;
图6为本发明一种实施例公开的编辑/修改关系流程图;
图7为本发明一种实施例公开的删除节点和关系流程图;
图8为本发明一种实施例公开的图数据库Neo4J交互可视化的操作系统的操作方法示意图;
图9为本发明一种实施例公开的登录界面示意图;
图10为本发明一种实施例公开的浏览数据库界面示意图;
图11为本发明一种实施例公开的按标签查询节点实现示意图;
图12为本发明一种实施例公开的按名称查询节点实现示意图;
图13为本发明一种实施例公开的多条件组合查询节点的实现示意图;
图14为本发明一种实施例公开的按节点深度查询的实现示意图;
图15为本发明一种实施例公开的按关系类型查询的实现示意图;
图16为本发明一种实施例公开的创建节点的实现示意图;
图17为本发明一种实施例公开的拖拽创建关系的实现示意图;
图18为本发明一种实施例公开的编辑节点信息的实现示意图;
图19为本发明一种实施例公开的导入节点文件的操作示意图;
图20为本发明一种实施例公开的导入关系文件的操作示意图;
图21为本发明一种实施例公开的社区检测的可视化结果示意图;
图22为本发明一种实施例公开的计算节点间最短路径的结果示意图;
图23为本发明一种实施例公开的PageRank算法计算中心性参数的结果示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
本发明还提供的一种图数据库Neo4J交互可视化的操作方法,
如图3所示,点击鼠标与用户交互界面空白位置进行交互,将点击位置坐标作为参数发起创建节点请求,视图模块判断图数据库系统是否处于可操作状态,并获取连接图数据库的对象,与图数据库后端操作系统建立联系,设置新增节点的默认标签和属性,后端调用节点操作模块中的新建节点程序,将创建节点操作转化为Cypher语句,执行Cypher语句,将新增节点的标签和属性信息封装成JSON格式的节点数据,传回用户交互界面,在用户交互界面将节点数据加入节点信息数组,在点击位置绘制节点;
如图4所示,拖拽鼠标与用户交互界面节点进行交互,获取拖拽起止节点包括步骤:
在任一节点上按下鼠标,获取该节点的信息,设为按下节点;拖动鼠标移动,绘制一条以按下节点为起始位置,鼠标位置为结束位置的有向线段;在任一节点处抬起鼠标,获取该节点的信息,设为抬起节点;判断按下节点和抬起节点是否为同一节点;若为同一节点,则有向线段消失;若不为同一节点,则获取按下节点和抬起节点的编号,即为拖拽起止节点编号,将拖拽起止节点编号作为参数发起新增关系请求,视图模块判断图数据库系统是否处于可操作状态,并获取连接图数据库的对象,与图数据库后端操作系统建立联系,后端调用关系操作模块中的新增关系程序,将新增关系操作转化为Cypher语句,执行Cypher语句,在执行Cypher语句成功后将新增关系的按下节点和抬起节点的编号信息封装成JSON格式的关系数据传回用户交互界面,将关系数据加入关系信息数组,在起止节点间绘制关系;
如图5和图6所示,通过键盘输入节点或关系修改信息,鼠标点击提交修改按钮与用户交互界面进行交互,将节点修改信息或关系修改信息先组装成JSON格式,再将组装成JSON格式的节点修改信息或关系修改信息作为参数发起修改请求,视图模块判断图数据库系统是否处于可操作状态,并获取连接图数据库的对象,与图数据库后端操作系统建立联系,获取节点修改信息或关系修改信息,后端调用节点操作模块中的修改节点程序或调用关系操作模块中的修改关系程序,当调用修改关系程序后,先读取关系修改信息中的关系类型,判断是否对关系类型进行修改,根据判断结果将修改关系操作转化为不同的Cypher语句;当调用修改节点程序后,将修改节点操作直接转化为Cypher语句;执行Cypher语句成功后,将修改节点信息或修改关系信息组装成JSON格式的节点数据信息或关系数据信息至用户交互界面,用户交互界面在存储节点信息或存储关系信息的数组中找到该节点或关系并修改,根据修改信息重新绘制节点或关系;
如图7所示,通过鼠标点击信息栏删除按钮与用户交互界面进行互动,将信息栏中当前节点或关系的编码作为参数发起删除请求,视图模块判断图数据库系统是否处于可操作状态,并获取连接图数据库的对象,与图数据库后端操作系统建立联系;获取当前节点或关系的编码;
判断是否为节点,若为节点则先调用节点操作模块中的节点关系查询程序;将节点关系查询操作转化为Cypher语句,执行Cypher语句,在用户交互界面查询节点是否存在关系,若存在则返回用户交互界面,提示用户节点上存在关系,请先删除节点上的关系;若不存在,则继续调用节点操作模块中的节点删除程序,将节点删除操作转化为Cypher语句,执行Cypher语句,Cypher语句执行成功,返回删除成功至用户交互界面,在节点信息数组中删除关系,并重新绘制节点。
若不为节点则调用关系操作模块中的关系删除程序;将关系删除程序转化为Cypher语句,执行Cypher语句,Cypher语句执行成功,返回删除成功至用户交互界面,在关系信息数组中删除关系,并重新绘制关系。
如图1和图2所示,本发明还提供了一种图数据库Neo4J交互可视化的操作系统,包括前端交互界面和后端操作系统,前端交互界面包括登录界面、浏览数据库界面、导入数据界面和分析数据界面;
登录界面,用于用户输入登录信息,包括IP地址、端口号、用户名和密码;进行登录操作,并展示登录成功及失败情况;
浏览数据库界面,用于数据库基本信息展示,数据库基本信息包括数据库节点总数、关系总数、节点标签总数、关系类型总数、属性总数、节点标签和关系类型,且展示时将节点标签和节点类型均设置为可点击按钮;用户进行数据库信息查询操作,包括节点查询和关系查询;节点查询的方法包括点击节点标签查询、按节点名称模糊查询、多条件组合查询、按节点深度查询和双击节点查询;关系查询的方法包括按关系类型查询和按关系起止节点查询;通过力导向图展示查询到的数据结果供用户查看;
编辑数据库界面,用于用户进行节点和关系的创建、编辑及删除操作,并通过力导向图实时展示创建过程及结果;
导入数据界面,用于用户进行批量数据导入操作,包括批量导入节点和批量导入关系;
分析数据界面,用于用户进行社区检测、最短路径计算和PageRank计算操作,并通过可视化的方式显示分析结果。
后端操作系统采用Python语言编写,操作执行程序采用Cypher语句编写,包括登录模块、默认信息显示模块、节点操作模块、关系操作模块、批量数据导入模块和图分析模块,支撑前端操作,实现可视化的操作结果。
登录模块,用于执行用户登录图数据库操作,在用户登录成功时,将数据库当前状态修改为可操作状态,并将界面由登录界面跳转到浏览数据库界面,完成图数据库的连接;执行用户退出图数据库操作,在用户退出成功时,将数据库当前状态修改为不可操作状态,并将界面由浏览数据库界面跳转到登录界面,完成图数据库的断开;
默认信息显示模块,用于获取数据库基本信息,并展示在浏览数据库界面;
节点操作模块,用于执行节点查询操作;执行创建、编辑及删除节点操作;
关系操作模块,用于执行关系查询操作;执行创建、编辑及删除关系操作;
批量数据导入模块,用于执行批量导入节点和批量导入关系的操作;
图分析模块,用于执行社区检测、最短路径计算和PageRank中心性计算操作;
视图模块,用于监视接收前端交互界面的操作信号,向后端操作系统发送数据及执行信号。
后端操作系统支撑用户在前端操作界面的所有操作,完成图数据库Neo4J的交互可视化。
实施例:
如图8所示:
1、用户连接图数据库Neo4J;
用户在登录界面(如图9所示)输入数据库的IP地址、端口、用户名和密码点击登录按钮,后台登录模块根据用户输入的信息对图数据库Neo4J服务器尝试连接,如果连接不成功,前端页面提示用户连接失败;如果连接成功,系统中新建一个登录模块类的对象,并将对象加入到存储所有连接信息的数组中,将IP地址与登录时间结合并加密生成一串唯一的字符串作为用户登录和连接数据库对象匹配用的Key,并将当前的状态修改为可操作状态。页面跳转到默认的浏览数据库界面。
2、浏览数据库界面展示及使用;
连接成功后,进入浏览数据库界面(如图10所示),最上方是导航栏,导航栏标签按钮包括浏览数据库、编辑数据库、导入数据、分析数据,点击导航栏可以跳转到不同各标签界面;
浏览数据库界面下方主体区域分为两部分,左侧为数据库基本信息显示栏、查询栏、节点信息显示栏和关系信息显示栏,数据库基本信息显示栏显示数据库基本信息,包括数据库节点总数、关系总数、节点标签总数、关系类型总数、属性总数、节点标签和关系类型,节点标签和关系类型包括多个,且展示时将节点标签和节点类型均设置为可点击按钮;右侧为力导向图展示区域,实时展示用户操作结果,用户也可在力导向图中进行创建、修改节点和关系的操作。
3、在浏览数据库界面进行节点和关系查询操作和查看操作;
(1)节点查询的操作方法:
点击节点类型查询(如图11所示)。用户点击数据库基本信息显示栏中的节点类型按钮,视图模块获取用户点击的类型,发送给后端操作系统,后端操作系统中节点操作模块对数据库进行查询。查询符合条件的前25个节点和它们之间的关系,将结果封装成JSON格式,传回前端,前端根据返回的数据调用D3.JS在力导向图展示区域重新绘制力导向图;
按节点名称模糊查询(如图12所示)。用户输入名称中包含的某个字符串,点击查询按钮,字符串发送到后端操作系统,节点操作模块根据字符串对数据库进行查询,将符合条件的节点封装成JSON格式,传回前端,前端根据返回的数据调用D3.JS在力导向图展示区域重新绘制力导向图;
多条件组合查询(如图13所示)。组合查询节点编号(id)、节点标签(label)、节点属性键(propertyKey)、节点属性(property)、节点个数。用户在信息查询栏输入查询参数,点击查询按钮,视图模块获取用户输入的参数,发送到后端操作系统,节点操作模块根据查询参数进行查询,查询结果封装成JSON格式,传回前端,前端根据返回的数据调用D3.JS在力导向图展示区域重新绘制力导向图。在多条件组合查询中,如果用户输入了节点id,则系统以节点id为主进行查询,忽略输入的其他信息;
按节点深度查询(如图14所示)。输入节点id和深度,点击查询按钮,查询该节点在指定深度下连通的所有节点和关系。视图模块获取用户输入的参数,发送到后端处理系统,后端节点操作模块根据用户输入节点id和深度进行查询。根据查询到的节点和关系,将结果封装成JSON格式,传回前端。前端根据返回的数据调用D3.JS在力导向图展示区域重新绘制力导向图;
双击节点查询。在力导向图展示区域中双击某个节点,查询距离为一的所有节点和关系,用户双击节点后,视图模块获取该节点的编号,并作为参数发送后端操作系统,后端节点操作模块根据节点的编号进行查询,将查询到的节点和关系封装成JSON格式后返回前端,加入到力导向图展示区域中已经存在的节点数组和关系数组中,调用D3.JS重新绘制力导向图。
(2)关系查询的操作方法:
按关系类型查询(如图15所示)。用户点击关系类型按钮,视图模块获取用户点击的关系类型,发送到后端操作系统,后端关系操作模块根据关系类型查询图数据库,将查询到的节点和关系封装成JSON格式后返回前端,调用D3.JS在力导向图展示区域重新绘制力导向图;
按关系的起止节点查询。输入关系类型、起始节点编号、结束节点编号、关系个数以及组合条件,视图模块获取用户输入的参数,发送后端操作系统,后端关系操作模块根据输入信息进行查询,将符合条件的关系以及节点封装成JSON格式,传回前端,根据返回的数据前端调用D3.JS重新绘制力导向图。
(3)节点和关系的查看操作
将鼠标悬停在力导向图中任一节点或关系上,左侧节点信息显示栏或关系信息显示栏自动显示该节点或关系的所有信息,节点信息包括编号、标签和名称;关系信息包括编号、类型、源节点编号(source_id)、源节点名称(source_name)、目的节点编号(target_id)和目的节点名称(target_name)。
4、点击导航栏的编辑数据库按钮,页面跳转至编辑数据库界面。此时力导向图展示区域可编辑,编辑操作包括:创建、删除节点或关系,新增、删除和修改节点信息和关系信息。
(1)创建、删除节点
创建:在力导向图展示区域的空白处单击鼠标(如图16所示),后端节点操作模块生成Cypher语句创建图数据库Neo4J节点,前端用圆形表示节点,默认的节点名称在圆形下方显示,默认标签为新建标签,默认属性为名称,编号为图数据库Neo4J自增量。节点信息显示栏显示该节点基本信息;
如图3所示,创建节点时后端处理程序为:
监听用户操作,并判断用户是否在编辑区域点下鼠标,如果用户在编辑区域中的空白区域按下鼠标,前端获取鼠标点击的位置clickPosition(x,y),然后向后端“/edit/createNode”发送创建新节点的请求;
后端响应请求,判断页面是否是可操作的状态并查找存储页面连接对象的mygraph对象。设置新增节点的标签为newCreate,属性的值为NewNode,并作为参数调用API.py文件中nodeUtils对象中的nodeCreate()方法;
nodeCreate()方法中,首先将新增节点的操作转化为Neo4J中Cypher语句,CREATE(n:newCreate{name:“NewNode”})RETURN n,labels(n)as nlabel,id(n)as nid。即创建一个节点label为newCreate,name为NewNode的节点,并返回节点的属性(property)、标签(label)以及编号(id)。然后通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果。
获取返回的新节点信息,并按照键值对的方式转换成前端可以解析的JSON格式。
前端获取后端传回的新增节点的数据,并将鼠标点击时获取的位置clickPosition(x,y)作为x属性和y属性加入新增节点的数据中,然后将该节点的数据加入页面中存储所有节点数据的数组nodes[]中。
前端页面调用基于D3.JS绘制力导向图的函数draw_Scan(nodes,edges)重新绘制,页面左侧的信息栏显示刚创建的新节点的信息。
删除:在力导向图展示区域选中节点,在左侧节点信息显示栏点击删除按钮,节点删除前先判断该节点是否与其他节点存在直接关系,存在则不可以删除;视图模块获取用户操作,后端节点操作模块生成Cypher语句在图数据库Neo4J中删除该节点;
如图7所示,删除节点时后端处理程序为:
用户点击信息卡片下的删除按钮时,系统获取待删除元素的id即deleteId,判断待删除元素是节点还是关系即nodeOrlink,将deleteId和nodeOrlink作为参数向后端“/edit/deleteNodeOrLink”发送请求;
后端响应请求,判断页面是否是可操作的状态并查找存储页面连接对象的mygraph对象。获取前端发送的参数deleteId和nodeOrlink。判断元素是否是关系,如果是节点;
将deleteId作为参数调用API.py文件中nodeUtils对象中的nodeSelectLinkById()方法来判断节点是否与其他的节点存在直接关系。
nodeSelectLinkById()中,首先将查找关系的操作转化为Neo4J中Cypher语句,
MATCH(a)-[r]->(b)
WHERE id(a)={}”'.format(nodeId)+”'or id(b)={}”'.format(nodeId)+”'
RETURN r
即在Neo4J数据中根据查找起始节点id为deleteId或结束节点id为deleteId的所有关系,并返回关系r,然后通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果r;
判断返回的结果r是否为空,如果不为空,返回前端,提示用户,该节点存在直接关系,如果为空,将deleteId作为参数调用API.py文件中nodeUtils对象中的nodeDelete()方法来删除节点;
nodeDelete()方法中,首先将删除节点的操作转化为Cypher语句,
MATCH(n)
WHERE ID(n)={}”'.format(deleteId)+”'
DELETE n
即查找到id为deleteId的节点n后删除节点n,通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果;
删除成功后返回前端页面,在页面中存储节点信息数组nodes[]中删除该节点,调用函数draw_Scan(nodes,edges),D3清除SVG上元素,重新绘制节点和关系。
(2)创建、删除关系
创建:在力导向图展示区域,鼠标点击起始节点拖拽到目标节点上(如图17所示),后端关系操作,模块生成Cypher语句创建Neo4J节点间的关系,成功后,前端用有向线段表示关系,多条关系用多条有向弧线表示,关系类型沿线段或弧线显示,新增关系的默认类型为新的关系。关系信息显示栏显示该关系的基本信息,包括关系的自增编号,起始节点编号,起始节点名称,目的节点编号和目的节点名称;
如图4所示,创建关系时后端处理程序为:
用户在节点上按下鼠标按键,获取鼠标按下的节点mousedown_node,如果用户按下鼠标按键后移动鼠标出节点,则绘制一条以节点为起始位置,鼠标位置为结束位置的有向线段drag_line,并跟随鼠标移动而变化长短和方向。
如果抬起鼠标按键;
判断鼠标抬起的位置,如果鼠标抬起位置是空白区域,D3.JS修改drag_line的属性,取消显示跟随鼠标的线段;
如果鼠标按键抬起位置是节点,获取鼠标按键抬起时的节点mouseup_node,判断mouseup_node是否与鼠标按键按下时的节点mousedown_node是同一个节点,
按键抬起时的节点与鼠标按键按下时的节点mousedown_node如果是同一节点,D3.JS修改drag_line的属性,取消显示跟随鼠标的线段,判断鼠标按下的节点mousedown_node是否是之前选中节点selected_node,如果是,则取消节点的选中,如果否,则设置节点mousedown_node为当前选中节点selected_node,并设置信息栏显示该节点的信息,等待用户的下一个操作;
按键抬起时的节点与鼠标按键按下时的节点mousedown_node不是同一节点,此时认为鼠标按键按下节点mousedown_node为起始节点,鼠标按键抬起时节点mouseup_node为结束节点。并获取起始节点和结束节点的编号id,设置为起始节点编号source_id和结束节点编号target_id。然后向“/edit/createLink”发送请求,source_id和target_id为参数;后端响应请求,判断页面是否是可操作的状态并查找存储页面连接对象的mygraph对象。获取前端发送的参数source_id和target_id,默认设置新增关系的类型type为New_Link,并作为参数调用API.py文件中linkUtils对象中的linkCreate()方法,方法linkCreate()中,首先将新增关系的操作转化为Neo4J中Cypher语句,如
MATCH(a),(b)
WHERE id(a)=”'+addLink['Source']+”'AND id(b)=”'+addLink['Target']+”'
CREATE(a)-[r:New_Link]->(b)
RETURN a,b,r,labels(a)as slabel,labels(b)as tlabel,type(r)as rtype,ID(r)as rid,ID(a)as source_id,ID(b)as target_id,a.name as source_name,b.name astarget_name”'
即在Neo4J数据中根据source_id和target_id查找起始节点a和结束节点b,然后创建它们之间type为New_Link的关系r,返回节点信息和关系信息,通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果;获取执行新建关系后返回的关系信息,并按照键值对的方式转换成前端可以解析的JSON格式;前端获取后端传回的新增关系的数据,然后将该关系的数据加入页面中存储所有关系数据的数组edges[]中,前端页面调用基于D3.JS绘制力导向图的函数draw_Scan(nodes,edges)重新绘制,页面左侧的信息栏显示刚创建的新关系的信息,用户可以修改关系的信息。
删除:在力导向图展示区域选中关系,在左侧关系信息显示栏点击删除按钮,删除关系。视图模块获取用户操作,后端关系操作模块生成Cypher语句在图数据库Neo4J中删除该关系
用户点击信息卡片下的删除按钮时,系统获取待删除元素的id即deleteId,判断待删除元素是节点还是关系即nodeOrlink,将deleteId和nodeOrlink作为参数向后端“/edit/deleteNodeOrLink”发送请求;
后端响应请求,判断页面是否是可操作的状态并查找存储页面连接对象的mygraph对象。获取前端发送的参数deleteId和nodeOrlink。判断元素是否是关系,如果是关系,将deleteId作为参数调用API.py文件中linkUtils对象中的linkDelete()方法;
linkDelete()方法中,首先将删除关系的操作转化为Neo4J中Cypher语句,
MATCH()-[r]->()
WHERE ID(r)={}”'.format(deleteId)+”'
DELETE r
即在Neo4J数据中根据deleteId查找出id为deleteId的关系r,然后删除这个关系r,通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果;
删除成功后返回前端页面,在页面中存储该关系的关系信息数组edges[]中删除该关系。调用函数draw_Scan(nodes,edges),D3清除SVG上元素,重新绘制节点和关系。
(3)新增、删除和修改节点信息
在力导向图展示区域,鼠标选中待修改节点,左侧节点信息显示栏显示节点信息(如图18所示),在节点信息显示栏直接修改节点的标签,增加、删除和修改节点的属性。用户在输入框输入新属性名后点击“+”按钮可以在页面上增加新属性,点击属性前的“-”按钮可以在页面上删除已存在的属性,单击属性内容可以修改。其中编号是系统赋予的,不可修改。根据用户在编辑数据库界面的操作,后端节点操作模块生成Cypher语句操作图数据库Neo4J,将可视化的操作结果返回到力导向图中的该节点上;
如图5所示,新增、删除和修改节点信息(即编辑/修改节点)时后端处理程序为:
用户修改信息栏节点卡片中的属性内容后提交修改按钮,系统获取该信息,组装成JSON格式数据updateInformation,向“/edit/updateNode”发送请求;
后端响应请求,判断页面是否是可操作的状态并查找存储页面连接对象的mygraph对象,获取前端发送的参数updateInformation;
将updateInformation作为参数调用API.py文件中nodeUtils对象的nodeModify()方法;
在nodeModify()方法中,首先将修改节点的操作转化为Neo4J中Cypher语句,
MATCH(n)
WHERE ID(n)=”'+nodeId+”'
SET n=”'+queryStr+”',n”'+nodeLabel+”'
RETURN n,labels(n)as nlabel,id(n)as nid
即在Neo4J数据中查找到id为nodeId的节点,修改节点的属性,并返回修改后的节点的信息。通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果n;
修改成功后返回前端页面,在页面中存储节点信息数组nodes[]中找到修改的节点,更新节点信息。调用函数draw_Scan(nodes,edges),重新绘制节点和关系。
(4)新增、删除和修改关系信息
在力导向图展示区域,鼠标选中待修改的关系,左侧关系信息显示栏显示关系信息,在关系信息显示栏直接修改关系的类型,增加、删除和修改关系的属性。在关系信息显示栏中,用户输入新属性名后点击“+”按钮可以在页面上增加新属性,点击属性前的“-”按钮可以在页面上删除已存在的属性,单击属性内容可以修改。其中编号是系统赋予的,不可修改,起始节点编号、起始节点名称,目的节点编号和目的节点名称均不可以修改,如果需要修改起止节点,需要在删除关系后,重新建立新关系。根据用户在编辑数据库界面的操作,后端关系操作模块生成Cypher语句操作图数据库Neo4J,将可视化的操作结果返回到力导向图中的该关系上;
如图6所示,新增、删除和修改关系信息(即编辑/修改关系)时后端处理程序为:
用户修改信息栏关系卡片中的属性内容后提交修改按钮。系统获取信息栏中的属性信息组装成JSON格式数据updateInformation,并作为参数向“/edit/updateLink”发送请求;
后端响应请求,判断页面是否是可操作的状态并查找存储页面连接对象的mygraph对象,获取前端发送的参数updateInformation,调用API.py文件中linkUtils对象的linkModify()方法;
在linkModify()方法中,首先判断用户是否修改关系类型,如果没有修改类型,即不包含修改关系类型的属性修改,转化为Neo4J中Cypher语句,MATCH()-[r]->()
WHERE ID(r)=”'+linkId+”'
SET r=”'+queryStr+”'
RETURN r,type(r)as rtype,id(r)as rid
即在Neo4J数据中查找到id为linkId的关系,修改关系的属性,并返回修改后的关系的信息。通过驱动程序py2neo的graph.run()方法执行Cypher语句并返回执行结果关系信息。
如果有修改类型,将包含修改关系类型的属性修改操作转化为Neo4J中Cypher语句,
MATCH(a)-[r1]->(b)
WHERE ID(r1)=”'+linkId+”'
MERGE(a)-[r{}”'.format(linkType)+”']->(b)
SET r=”'+queryStr+”'
DELETE r1
RETURN r,type(r)as rtype,id(r)as rid
即在Neo4J数据中查找到id为linkId的关系,然后新建type为linkType的关系,将属性设置为前端传回的属性,删除原关系,并返回修改后的关系的信息。通过py2neo的graph.run()方法执行Cypher语句并返回执行结果关系信息r。
修改成功后返回前端页面,在页面中存储关系信息数组edges[]中找到修改的关系,更新关系信息。然后调用函数draw_Scan(nodes,edges),D3清除SVG上元素,重新绘制节点和关系。
5、点击导航栏的导入数据按钮,页面跳转至导入数据界面。导入操作包括:导入节点和导入关系,导入顺序为先导入节点,然后导入节点间的关系。
(1)用户在导入节点选项框选择待导入的包含节点信息的csv本地文件(如图19所示),csv文件第一行默认设置为节点属性,输入节点统一的标签,点击确认导入,视图模块向服务器发送请求,服务器上传文件,后端导入数据模块使用Cypher语句加载文件,在图数据库Neo4J中创建节点;
(2)节点导入完成后,用户在导入关系选项框选择包含已导入节点的关系信息的csv文件(如图20所示),csv文件第一行默认设置为关系属性名称,设置起止节点对应的标签和属性,以及csv文件中对应的字段名,并输入关系的类型,确认导入,视图模块向服务器发送请求,服务器上传文件,后端导入数据模块使用Cypher语句对节点进行匹配,将起始节点和结束节点的属性名称与文件中给定的属性名称一一对应起来,在Neo4J中的匹配的节点间建立关系。
6、点击导航栏的分析数据按钮,页面跳转至分析数据界面。分析数据操作包括:社区检测分析、最短路径计算和PageRank算法分析节点特征。
(1)社区检测分析
后端数据处理系统使用了Neo4J的数据分析模块根据用户选择的标签确定节点,根据类型确定关系,节点和关系构成待分析的子网络(如图21所示);后端数据处理系统使用了Neo4J的数据分析模块来提供算法的支持,通过Cypher语句进行数据运算。计算后的结果通过颜色区分显示,即在力导向图中相同社区的节点使用相同颜色填充,不同社区的节点使用不用颜色填充,力导向图下方的数据列出详细结果,用户可以选择计算结果是否作为属性写入图数据库Neo4J中。
(2)最短路径计算
后端数据处理系统使用了Neo4J的数据分析模块通过用户输入的标签、属性来确定起始节点和结束节点(如图22所示),查找两节点之间的最短路径,并返回这条路径上的所有节点和关系。其中如果返回多个节点,默认使用符合条件的第一个节点。确定节点后,调用Cypher语句判断起始节点和结束节点是否连通,如果两个节点之间是连通的,那么将查找到的最短路径上的所有节点和关系返回到前端页面,并绘制成力导向图。如果两个节点之间不连通,则在页面上提示,两节点间没有通路。
(3)PageRank算法分析节点特征
后端数据处理系统使用了Neo4J的数据分析模块根据用户选择的标签确定节点,根据类型确定关系,构成待分析的子网络,调用Cypher语句,计算每个节点在子网络中的PageRank数值,用户可以选择是否将计算得分结果作为属性写入图数据库Neo4J中,并显示降序排列Top10节点的PageRank值的柱状图、折线图(如图23所示)。
本发明的优点:
通过建立前端交互界面和后端操作系统,使交互界面的一系列操作有后台程序支撑,进而实现图数据库Neo4J的交互可视化;同时设置浏览数据库界面、导入数据界面和分析数据界面,使数据查看更加方便;数据可以批量导入,数据导入更加快捷;可以对数据进行不同角度的快速分析。
将原本需要用户输入的Cypher操作语句建设在后台处理系统的程序中,使用户操作简化为,点击按钮,拖拽图标,输入节点名称等较为简单易懂的操作,降低图数据库Neo4J的使用门槛,通过该系统让不懂Cypher语句的用户也能够创建、组织、访问以及分析图数据库Neo4J的数据,进而管理图数据库Neo4J中的数据。
本发明中图数据库Neo4J的数据展示采用力导向图,使节点及关系更加清晰,并且可以在力导向图中直接点击节点和关系,实现查看、修改、删除节点或关系,操作方便,可视化。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种图数据库Neo4J交互可视化的操作方法,其特征在于,包括:
点击鼠标与用户交互界面空白位置进行交互,将点击位置坐标作为参数发起创建节点请求,后端调用节点操作模块中的新建节点程序,将创建节点操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,在点击位置绘制节点;
拖拽鼠标与用户交互界面节点进行交互,获取拖拽起止节点编号,将拖拽起止节点编号作为参数发起新增关系请求,后端调用关系操作模块中的新增关系程序,将新增关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,在起止节点间绘制关系;
通过键盘输入节点或关系修改信息,鼠标点击提交修改按钮与用户交互界面进行交互,将节点修改信息或关系修改信息作为参数发起修改请求,后端调用节点操作模块中的修改节点程序或调用关系操作模块中的修改关系程序,将修改节点或修改关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,根据修改信息重新绘制节点或关系;
通过鼠标点击信息栏删除按钮与用户交互界面进行互动,将信息栏中当前节点或关系的编码作为参数发起删除请求,后端调用关系操作模块中的关系删除程序或节点操作模块中的节点关系查询程序,将关系删除程序或节点关系查询操作转化为Cypher语句,执行Cypher语句,在用户交互界面删除关系或查询节点是否存在关系,若不存在,则继续调用节点操作模块中的节点删除程序,将节点删除操作转化为Cypher语句,执行Cypher语句,在用户交互界面删除节点。
2.根据权利要求1所述的一种图数据库Neo4J交互可视化的操作方法,其特征在于:
在发起各操作请求后,均需视图模块判断图数据库系统是否处于可操作状态,并获取连接图数据库的对象,与图数据库后端操作系统建立联系。
3.根据权利要求1所述的一种图数据库Neo4J交互可视化的操作方法,其特征在于:
所述后端调用节点操作模块中的新建节点程序前,系统默认设置新增节点的-标签和属性;
所述将新增节点操作转化为Cypher语句,执行Cypher语句,执行完成后将新增节点的默认标签和属性信息封装成JSON格式的节点数据,传回用户交互界面,在用户交互界面中将节点数据加入节点信息数组,在点击位置绘制节点。
4.根据权利要求1所述的一种图数据库Neo4J交互可视化的操作方法,其特征在于:所述拖拽鼠标与用户交互界面节点进行交互,获取拖拽起止节点编号;包括步骤:
在任一节点上按下鼠标,获取该节点的信息,设为按下节点;
拖动鼠标移动,绘制一条以源节点为起始位置,鼠标位置为结束位置的有向线段;
在任一节点处抬起鼠标,获取该节点的信息,设为抬起节点;
判断按下节点和抬起节点是否为同一节点;
若为同一节点,则所述有向线段消失;若不为同一节点,则获取按下节点和抬起节点的编号;
所述将新增关系操作转化为Cypher语句,执行Cypher语句,返回执行结果至用户交互界面,还包括,在执行Cypher语句成功后将新增关系的按下节点和抬起节点的编号信息封装成JSON格式的关系数据传回用户交互界面,将关系数据加入关系信息数组,重新绘制关系。
5.根据权利要求1所述的一种图数据库Neo4J交互可视化的操作方法,其特征在于:
所述节点修改信息或关系修改信息需先将修改后的信息组装成JSON格式,再将组装成JSON格式的节点修改信息或关系修改信息作为参数发起修改请求;
所述后端调用节点操作模块中的修改节点程序或调用关系操作模块中的修改关系程序前,先获取参数中的节点修改信息或关系修改信息;
在调用关系操作模块中的修改关系程序后,先读取关系修改信息中的关系类型,判断是否对关系类型进行修改,根据判断结果将修改关系操作转化为不同的Cypher语句。
所述将修改节点或修改关系操作转化为Cypher语句,执行Cypher语句成功后,将修改后的节点信息或修改关系组装成JSON格式的节点数据信息或关系数据信息至用户交互界面,用户交互界面在存储节点信息或存储关系信息的数组中找到该节点或关系并修改,根据修改信息重新绘制节点或关系。
6.根据权利要求1所述的一种图数据库Neo4J交互可视化的操作方法,其特征在于:
所述后端调用关系操作模块中的关系删除程序或节点操作模块中的节点关系查询程序前,先获取当前节点或关系的编码,再判断是否为节点,若为节点则调用节点操作模块中的节点关系查询程序;若不为节点则调用关系操作模块中的关系删除程序;
所述查询节点是否存在关系时,若存在则返回用户交互界面,提示用户节点上存在关系;
在用户交互界面删除节点或关系包括:Cypher语句执行成功,返回删除成功至用户交互界面,用户交互界面在节点或关系信息数组中删除该节点或关系,并重新绘制节点或关系。
7.一种图数据库Neo4J交互可视化的操作系统,其特征在于:
包括前端交互界面和后端操作系统,所述前端交互界面包括登录界面、浏览数据库界面、导入数据界面和分析数据界面;
所述后端操作系统包括登录模块、默认信息显示模块、节点操作模块、关系操作模块、批量数据导入模块、图分析模块和视图模块,所述后端操作系统支撑用户在前端操作界面的所有操作,完成图数据库Neo4J的交互可视化。
8.根据权利要求7所述的一种图数据库Neo4J交互可视化的操作系统,其特征在于:
所述登录界面,用于:
用户输入登录信息,进行登录操作,并展示登录成功及失败情况;
所述浏览数据库界面,用于:
数据库基本信息展示;
用户进行数据库信息查询操作,包括节点查询和关系查询;
展示查询到的数据结果供用户查看;
所述编辑数据库界面,用于:
用户进行节点和关系的创建、编辑及删除操作,并实时展示创建过程及结果;
所述导入数据界面,用于:
用户进行批量数据导入操作,包括批量导入节点和批量导入关系;
所述分析数据界面,用于:
用户进行社区监测、最短路径计算和PageRank计算操作,并显示分析结果。
9.根据权利要求8所述的一种图数据库Neo4J交互可视化的操作系统,其特征在于:
所述登录模块,用于:
执行用户登录和退出图数据库操作,完成图数据库的连接和断开;
所述默认信息显示模块,用于:
获取数据库基本信息,并展示在浏览数据库界面;
所述节点操作模块,用于:
执行节点查询操作;
执行创建、编辑及删除节点操作;
所述关系操作模块,用于:
执行关系查询操作;
执行创建、编辑及删除关系操作;
所述批量数据导入模块,用于:
执行批量导入节点和批量导入关系的操作;
所述图分析模块,用于:
执行社区检测、最短路径计算和PageRank中心性计算操作;
所述视图模块,用于:
监视接收前端交互界面的操作信号,向后端操作系统发送数据及执行信号。
10.根据权利要求9所述的一种图数据库Neo4J交互可视化的操作系统,其特征在于:
所述浏览数据库界面的数据结果及所述编辑数据库界面的创建过程及结果均通过力导向图进行展示;
所述后端操作系统的框架程序采用Python语言编写,对图数据库的操作执行程序采用Cypher语句编写。
CN202010885553.5A 2019-11-13 2020-08-28 一种图数据库Neo4J交互可视化的操作方法与系统 Active CN111813926B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911106073 2019-11-13
CN2019111060738 2019-11-13

Publications (2)

Publication Number Publication Date
CN111813926A true CN111813926A (zh) 2020-10-23
CN111813926B CN111813926B (zh) 2022-12-09

Family

ID=72860675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010885553.5A Active CN111813926B (zh) 2019-11-13 2020-08-28 一种图数据库Neo4J交互可视化的操作方法与系统

Country Status (1)

Country Link
CN (1) CN111813926B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463873A (zh) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 一种图数据库可视化交互方法、装置、设备及可读介质
CN112711677A (zh) * 2021-01-08 2021-04-27 北京仿真中心 一种面向Neo4j图数据库的可视化管理装置和方法
CN113010612A (zh) * 2021-03-02 2021-06-22 中国工商银行股份有限公司 一种图数据可视化构建方法、查询方法及装置
CN113157942A (zh) * 2021-04-09 2021-07-23 杭州电子科技大学 适用于使用与展示的知识图谱可视化的构建方法
CN113609343A (zh) * 2021-08-23 2021-11-05 华青融天(北京)软件股份有限公司 关系图的展示方法、装置、电子设备及介质
CN113721823A (zh) * 2021-09-14 2021-11-30 福韵数据服务有限公司 一种基于拖拽式的人机互动数据可视化方法
CN113721894A (zh) * 2021-09-14 2021-11-30 福韵数据服务有限公司 一种基于力导向算法模型的关联关系图绘制方法
CN113946562A (zh) * 2021-10-14 2022-01-18 国云科技股份有限公司 一种数据协同链可视化设计平台
CN114003660A (zh) * 2021-11-05 2022-02-01 广州宸祺出行科技有限公司 基于flink的高效同步实时数据到ClickHouse的方法及装置
CN114528444A (zh) * 2022-02-25 2022-05-24 北京百度网讯科技有限公司 图数据处理方法、装置、电子设备和存储介质
CN115099924A (zh) * 2022-05-20 2022-09-23 北京结慧科技有限公司 一种金融风控管理方法及系统、设备及存储介质
CN115421701A (zh) * 2022-11-07 2022-12-02 北京滴普科技有限公司 一种基于模型生成cypher语句的方法和系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587438A (zh) * 2009-06-18 2009-11-25 南京联创科技股份有限公司 Arp框架下的图形化流程模板绘制方法
US20140365531A1 (en) * 2013-06-07 2014-12-11 Vmware,Inc. Creation of a graph database of a virtualization infrastructure
CN106570056A (zh) * 2016-09-28 2017-04-19 深圳盒子支付信息技术有限公司 一种数据库实现方法及数据库
US20170177744A1 (en) * 2015-12-17 2017-06-22 Business Objects Software Limited Graph Database Visualization by Node and Edge Type
US20170177681A1 (en) * 2015-12-17 2017-06-22 Business Objects Software Limited Graph Database Querying and Visualization
CN106909610A (zh) * 2017-01-10 2017-06-30 中电科华云信息技术有限公司 基于浏览器的可视化拖拽查询数据的方法及系统
CN107545019A (zh) * 2017-03-02 2018-01-05 微云数聚(北京)科技有限公司 一种图数据库数据驱动的可视化方法及系统
CN108446327A (zh) * 2018-02-12 2018-08-24 平安科技(深圳)有限公司 业务系统动态生成方法、装置、计算机设备及存储介质
CN108647017A (zh) * 2018-05-17 2018-10-12 武汉真蓝三维科技有限公司 一种参数化快速生成三维互动与仿真应用软件的集成平台
CN109508384A (zh) * 2018-10-31 2019-03-22 北京国双科技有限公司 知识图谱的处理方法、装置、存储介质和处理器

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587438A (zh) * 2009-06-18 2009-11-25 南京联创科技股份有限公司 Arp框架下的图形化流程模板绘制方法
US20140365531A1 (en) * 2013-06-07 2014-12-11 Vmware,Inc. Creation of a graph database of a virtualization infrastructure
US20170177744A1 (en) * 2015-12-17 2017-06-22 Business Objects Software Limited Graph Database Visualization by Node and Edge Type
US20170177681A1 (en) * 2015-12-17 2017-06-22 Business Objects Software Limited Graph Database Querying and Visualization
CN106570056A (zh) * 2016-09-28 2017-04-19 深圳盒子支付信息技术有限公司 一种数据库实现方法及数据库
CN106909610A (zh) * 2017-01-10 2017-06-30 中电科华云信息技术有限公司 基于浏览器的可视化拖拽查询数据的方法及系统
CN107545019A (zh) * 2017-03-02 2018-01-05 微云数聚(北京)科技有限公司 一种图数据库数据驱动的可视化方法及系统
CN108446327A (zh) * 2018-02-12 2018-08-24 平安科技(深圳)有限公司 业务系统动态生成方法、装置、计算机设备及存储介质
CN108647017A (zh) * 2018-05-17 2018-10-12 武汉真蓝三维科技有限公司 一种参数化快速生成三维互动与仿真应用软件的集成平台
CN109508384A (zh) * 2018-10-31 2019-03-22 北京国双科技有限公司 知识图谱的处理方法、装置、存储介质和处理器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨溢等: "基于图模型的海量商品知识表示与管理", 《计算机应用与软件》 *
陈德桂等: "成套电器优化设计中数据库驱动的电场分析", 《电工技术学报》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463873A (zh) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 一种图数据库可视化交互方法、装置、设备及可读介质
CN112711677A (zh) * 2021-01-08 2021-04-27 北京仿真中心 一种面向Neo4j图数据库的可视化管理装置和方法
CN113010612A (zh) * 2021-03-02 2021-06-22 中国工商银行股份有限公司 一种图数据可视化构建方法、查询方法及装置
CN113010612B (zh) * 2021-03-02 2024-04-12 中国工商银行股份有限公司 一种图数据可视化构建方法、查询方法及装置
CN113157942B (zh) * 2021-04-09 2022-06-24 杭州电子科技大学 适用于使用与展示的知识图谱可视化的构建方法
CN113157942A (zh) * 2021-04-09 2021-07-23 杭州电子科技大学 适用于使用与展示的知识图谱可视化的构建方法
CN113609343A (zh) * 2021-08-23 2021-11-05 华青融天(北京)软件股份有限公司 关系图的展示方法、装置、电子设备及介质
CN113721823A (zh) * 2021-09-14 2021-11-30 福韵数据服务有限公司 一种基于拖拽式的人机互动数据可视化方法
CN113721894A (zh) * 2021-09-14 2021-11-30 福韵数据服务有限公司 一种基于力导向算法模型的关联关系图绘制方法
CN113946562A (zh) * 2021-10-14 2022-01-18 国云科技股份有限公司 一种数据协同链可视化设计平台
CN114003660A (zh) * 2021-11-05 2022-02-01 广州宸祺出行科技有限公司 基于flink的高效同步实时数据到ClickHouse的方法及装置
CN114528444B (zh) * 2022-02-25 2023-02-03 北京百度网讯科技有限公司 图数据处理方法、装置、电子设备和存储介质
CN114528444A (zh) * 2022-02-25 2022-05-24 北京百度网讯科技有限公司 图数据处理方法、装置、电子设备和存储介质
CN115099924A (zh) * 2022-05-20 2022-09-23 北京结慧科技有限公司 一种金融风控管理方法及系统、设备及存储介质
CN115421701A (zh) * 2022-11-07 2022-12-02 北京滴普科技有限公司 一种基于模型生成cypher语句的方法和系统
CN115421701B (zh) * 2022-11-07 2023-01-10 北京滴普科技有限公司 一种基于模型生成cypher语句的方法和系统

Also Published As

Publication number Publication date
CN111813926B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN111813926B (zh) 一种图数据库Neo4J交互可视化的操作方法与系统
US10872104B2 (en) Method and apparatus for natural language query in a workspace analytics system
CN106126514B (zh) 与搜索有关的消息服务器提供方法及服务器和用户终端
CA3017121C (en) Systems and methods for dynamic prediction of workflows
US7539656B2 (en) System and method for providing an intelligent multi-step dialog with a user
US11281862B2 (en) Significant correlation framework for command translation
US20070242082A1 (en) Scalable vector graphics, tree and tab as drag and drop objects
CN102576281B (zh) 用于与信息交互并且操纵信息的方法及其系统
CN108509339A (zh) 基于浏览器和思维导图的测试用例生成方法、装置及设备
CN103098051A (zh) 搜索引擎优化助理
KR20160131866A (ko) 검색 서비스와 연결된 메시지 서비스를 위한 메시지 서비스 제공 방법 및 상기 메시지 서비스 제공 방법을 수행하는 메시지 서버 및 사용자 단말
CN112765159A (zh) 报表生成方法、系统、计算机设备和存储介质
US8707177B1 (en) Resource guide generator for resource pages
JP2023107749A (ja) ブラウザベースのロボティックプロセスオートメーション(rpa)ロボット設計インターフェース
CN117892828B (zh) 一种地理信息系统自然语言交互方法、装置、设备及介质
JP2022538704A (ja) スパン強調表示整列を用いた正規表現生成
CN116610558A (zh) 代码检测方法、装置、电子设备及计算机可读存储介质
US20040249849A1 (en) Conversion system
US20200379786A1 (en) Keyboard interaction model for software builder canvas nodes
CN115329753A (zh) 一种基于自然语言处理的智能数据分析方法和系统
US11604563B1 (en) Predictive answers based on context modeling
US8429148B1 (en) Method and apparatus for automatically generating headlines based on data retrieved from a network and for answering questions related to a headline
CN115631374A (zh) 控件操作方法、控件检测模型的训练方法、装置和设备
JP2022538703A (ja) 正規表現生成のためのユーザインターフェイスコマンド
JPH06195189A (ja) 対話式コマンド構成システム

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