下面,我们将详细介绍如何实现以上案例的可视化效果。

准备Neo4j环境

对于初学者来说,Neo4j Sandbox简直是省时省力的学习神器。在云端免费申请一个Neo4j Sandbox的账号就可以开始您的Neo4j体验之旅了。

Neo4j Sandbox 地址: Home - Neo4j Sandbox

本Demo使用的Sandbox为 “Women's World Cup 2019“ 数据集,启动后界面如下:

为数据集增加一些额外的属性,用于增强可视化效果。

为了能让数据中的Team节点有大小不同的可视化效果,我们将每个Team参加的比赛次数作为一个新的属性,写入到Team节点中。

在Sandbox界面中点击的蓝色的Open按钮,选择“Open with Browser”启动Neo4j Browser界面,运行以下Cypher语句。

match (t:Team)-[:PLAYED_IN]-(m:Match)
with t, count(distinct m) as matchs
set t.matchs= matchs

Cypher语句执行结束后,提示增加了36个属性。

通过以下一条简单的Cypher语句,我们可以查询展示Team(节点)参加了(关系:PLAYED_IN)哪些Match(节点)。当选中某个Team节点后,在左下角可以看到新增的属性matchs(参加比赛的次数)的值。(数据过滤显示前200条)

MATCH p=()-[r:PLAYED_IN]->() RETURN p LIMIT 200

在Neo4j Browser中显示的查询结果。

使用 Neovis.js 可视化以上数据结果

下载Github Neovis.js 代码包(https://github.com/neo4j-contrib/neovis.js/),复制位于example目录下的twitter-trolls.html 文件,粘贴并重命名为 football.html。参考Sandbox 中的Connection details信息,修改football.html文件中Neo4j数据库连接信息。

  • server_url: "bolt://3.83.25.10:7687"
  • server_user:"neo4j"
  • server_password: "password"

football.html 代码参考:

<title>DataViz</title> <style type="text/css"> #viz { width: 900px; height: 700px; </style> <script src="../dist/neovis.js"></script> </head> <script> function draw() { var config = { container_id: "viz", server_url: "bolt://3.83.25.10:7687", server_user: "neo4j", server_password: "password", labels: { "Team": { caption: "name", size: "matchs" "Match": { caption: "stage" relationships: { "PLAYED_IN": { caption: false, thickness: "score" initial_cypher: "MATCH p=()-[r:PLAYED_IN]->() RETURN p LIMIT 200" var viz = new NeoVis.default(config); viz.render(); </script> <body οnlοad="draw()"> <div id="viz"></div> </body> </html>

本地直接用浏览器运行football.html 的可视化效果:

在该可视化展示中,Team节点的大小通过matchs属性值来渲染,Team和Match的关系“PLAYED_IN”连线的粗细则由score属性值来渲染。更多复杂的可视化设置请参考代码包中的其他示例。

Neovis.js 示例包在Github的地址:GitHub - neo4j-contrib/neovis.js: Neo4j + vis.js = neovis.js. Graph visualizations in the browser with data from Neo4j.

vue+neo4j+(neovis.js / neo4j-driver)纯前端实现知识图谱的集成 一、Neovis.js 不用获取数据直接连接数据库 二、 neo4j-driver 能够直接通过前端获取数据。 三、vis.js 四、 echarts绘 neo4j是什么? 简单来说,这是一种比较热门的数据库数据库形形式存储数据。 它以节点,关系和属性的形式存储应用程序的数据。 一个由无数的节点和关系组成。 安装数据库在这里就不介绍了,本主要介绍如何连接neo4j数据库,将知识图谱成功显示在前端页面中。 Neovis.jsNeo4j的连接非常简单明了,并且Neovis 的数据格式与那neo4j数据库保持一致。在单个配置对象中定义标签、属性、节点和关系的样式和颜色。
随着互联网不断的发展,传统的关系型数据库如oracle,mysql已经难以支撑现下大数据量,高并发的场景了。于是,NoSQL横空出世,有像cassandra这样的column-based,像MongoDB这样document-based。今天在这里猎奇的是一个graph-based的数据库Neo4jNeovis.js将JavaScript可视化和Neo4j无缝集成。与Neo4j的连接非常简单明了,并且由于它是在Neo4j的属性模型的基础上构建的,因此 Neovis 的数据格式与数据库保持一致。 数据库是目前大数据领域最火热的方向,Neo4j则是数据库中的领军者,占有过半的行业采用率。 Neo4j是一个高性能的,NOSQL数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做)上而不是表中。 Neo4j也可以被看作是一个高性能的引擎,该引擎具有成熟数据库的所有特性。
项目主要介绍cytoscape.js的使用方法: 1)构建静态html文件进行谱展示 2)使用Python的django框架进行开发,并将后台业务逻辑生成的数据传送到前端js中进行展示,实现动态谱构建,满足工程实际需要。 动态与静态谱均整合至项目源码中,使用不同路由即可访问。 注:结合博客理解本项目更佳,运行项目前请看readme文件!
neo4j是一个优秀的数据库,可以方便地存储和处理形数据。springboot是一种流行的Java开发框架,可以轻松地集成各种组件。Vue是一个流行的JavaScript框架,用于构建现代化的Web应用程序。D3.js是一个用于数据可视化的JavaScript库,它可以用来创建各种漂亮的形和可视化方式。 通过结合neo4j、springboot、Vue和D3.js,我们可以轻松地构建和可视化运行知识图谱。我们可以使用neo4j来存储和查询各种实体和关系,比如人物、组织、事件等。使用springboot可以编写Java代码来连接数据库、处理查询和构建Web服务。Vue框架则可以用来构建前端页面和组件,以便用户可以通过Web浏览器和服务之间进行交互。D3.js库可以用来构建各种形和可视化效果,以便用户可以更好地理解和探索知识图谱的数据。 为了构建知识图谱,我们需要首先定义实体和关系的模型,并使用Cypher语言来插入数据和查询数据。然后,我们可以通过springboot将数据库连接到Web服务,为用户提供API接口来查询和遍历谱。最后,我们可以使用Vue框架来构建可交互性的前端页面,展示谱和与用户进行交互。D3.js库可以用来构建各种形和可视化效果,如力导向、树状、矩阵等,以显示节点和关系之间的复杂关系。 总之,结合neo4j、springboot、Vue和D3.js可以轻松地构建和可视化运行知识图谱。这些工具和框架都具有丰富的功能和强大的生态系统,可以大大简化开发过程,快速构建高效、美观和易于扩展的知识图谱应用程序。
Neo4j 全球开发者大会 NODES 2022 将于10:30直播,欢迎观看: 完整体验请访问 https://hopin.com/events/nodes-2022?utm_source=cnsocial&utm_campaign=wechatmom 参与。合作平台正在转播基础会场。请点击观看: https://ke.segmentfault.com/course/1650000042530379/section/1500000042530383 CSDN: https://live.csdn.net/room/wl5875/5MwdA6lW IT168 #视频号:ITPUB Neo4j 开发者大会 NODES 2022 活动日程已发布 - 11.16 ~ 11.17 Jennifer726: Neo4j 全球开发者大会 NODES 2022 将于10:30直播,欢迎观看: 完整体验请访问 https://hopin.com/events/nodes-2022?utm_source=cnsocial&utm_campaign=wechatmom 参与。合作平台正在转播基础会场。请点击观看: https://ke.segmentfault.com/course/1650000042530379/section/1500000042530383 CSDN: https://live.csdn.net/room/wl5875/5MwdA6lW IT168 #视频号:ITPUB 【报名中】“图无处不在”系列活动:图数据平台助力出海安全合规 Jennifer726: 明天下午4点,直播间见! 【报名中】“图无处不在”系列活动:图数据平台助力出海安全合规 Jennifer726: 倒计时7天。快快注册,预留席位