Python来袭,教你用Neo4j构建“复联4”人物关系图谱!
来源商业新知网,原标题:Python来袭,教你用Neo4j构建“复联4”人物关系图谱!没有剧透!
复仇者联盟 之绝对不剧透
漫威英雄们为了不让自己剧透也是使出了浑身解数。在洛杉矶全球首映礼上记者费尽心机想要从各位演员身上套点信息:“如果你活下来就眨一下眼睛,死了就眨两下”。
“绿巨人” : 我就是不眨,看你怎么样!

“雷神”: 我眨了23下,你猜我活没活着~

“蚁人”: 我不睁眼就不用眨眼了~

希望大家可以像奇异博士学习
做个合格的影迷哦

都谁看了复联4?
据说,看复联4的, 分三种人:
(1)骨灰粉
看完晒票根发感慨的
(2)路人粉
还没看,但是怕被剧透的
(3)纯属小白跟风
被漫威错综复杂的人物线, 搞得一头雾水


敲黑板,讲技术重点了~!
来,先放一张成品图,
帮你理清核心人物
一张图带你读懂“妇联4”人物关系!

人物节点和关系数据
人物节点数据:姓名和角色
name,role
霍华德·斯塔克,斯塔克工业创始人
佩姬·卡特,神盾局创始人
美国队长,复仇者联盟成员
钢铁侠,复仇者联盟成员
巴基,复仇者联盟成员
雷神,复仇者联盟成员
蚁人,复仇者联盟成员
绿巨人,复仇者联盟成员
黑寡妇,复仇者联盟成员
洛基,火神
鹰眼,复仇者联盟成员
战争机器,复仇者联盟成员
蜘蛛侠,复仇者联盟成员
幻视,复仇者联盟成员
红骷髅,九头蛇组织创始人
黑豹,瓦坎达国王
泽莫男爵,美国队长宿敌
人物关系:姓名1,姓名2,关系类型
start,end,relation
钢铁侠,美国队长,内战
美国队长,钢铁侠,内战
蜘蛛侠,钢铁侠,师傅
钢铁侠,战争机器,好友
幻视,钢铁侠,AI管家
钢铁侠,霍华德·斯塔克,儿子
钢铁侠,绿巨人,搭档
美国队长,红骷颅,宿敌
红骷颅,美国队长,宿敌
黑豹,美国队长,庇护
泽莫男爵,美国队长,敌对
美国队长,泽莫男爵,敌对
美国队长,佩姬·卡特,二战恋人
美国队长,巴基,好友
巴基,美国队长,好友
洛基,雷神,弟弟
绿巨人,雷神,结识
黑寡妇,鹰眼,暧昧


@导入数据
启动 neo4j 服务,打开 http://127.0.0.1:7474
文件存放位置: neo4j 安装目录的 import 文件夹下
导入节点数据,先不添加标签
LOAD CSV WITH HEADERS FROM "file:///data_node.csv" AS line MERGE ({name:line.name,role:line.role})

给不同的角色添加不同的标签
以 “ 复仇者联盟成员 ” 为例:
MATCH (n { role: ' 复仇者联盟成员 ' }) SET n : 复仇者联盟成员 RETURN n

MATCH (n { role: ' 神盾局创始人 ' })SET n : 神盾局创始人 RETURN n

MATCH (n { role: ' 斯塔克工业创始人 ' })SET n : 斯塔克工业创始人 RETURN n

MATCH (n { role: ' 火神 ' }) SET n: 火神 RETURN n

MATCH (n { role: ' 九头蛇组织创始人 ' })SET n : 九头蛇组织创始人 RETURN n

MATCH (n { role: ' 瓦坎达国王 ' }) SET n : 瓦坎达国王 RETURN n

MATCH (n { role: ' 美国队长宿敌 ' })SET n : 美国队长宿敌 RETURN n

查看所有节点
match (n) return n

点击节点,可以设置节点颜色和大小。

导入关系数据,由于导入节点的时候,并没有设置标签,所以导入关系数据的时候,也不需要设置节点标签。
正确语法:
LOAD CSV WITH HEADERS FROM 'file:///data_relation.csv'as line
MATCH (start {name: line.start})
MATCH (end {name: line.end})
MERGE (start) -[:r{relation:line.relation}]-> (end)

用以下语法,添加节点标签 Person ,虽然语法不报错,但是并没有把关系添加进去:
LOAD CSV WITH HEADERS FROM 'file:///data_relation.csv'as line
MATCH (start:Person {name: line.start})
MATCH (end:Person {name: line.end})
MERGE (start) -[:r{relation:line.relation}]-> (end)

再查看所有节点和关系
match (n) return n

查看所有复仇者联盟成员的名字
match (n: 复仇者联盟成员 ) return n

点击标签,也可以设置颜色和大小。

查看钢铁侠的全部关系
match p=({name:' 钢铁侠 '})-[:r]->()return p

点击关系,也可以设置颜色和大小。

查看钢铁侠的 2 层内的关系
match p=({name:' 钢铁侠 '})-[*..2]->()return p

查看钢铁侠的好友关系
match p=({name:' 钢铁侠 '})-[:r{relation:' 好友 '}]->()return p

Python来袭,教你用Neo4j构建“复联4”人物关系图谱!的更多相关文章
- Python基于共现提取《釜山行》人物关系
Python基于共现提取<釜山行>人物关系 一.课程介绍 1. 内容简介 <釜山行>是一部丧尸灾难片,其人物少.关系简单,非常适合我们学习文本处理.这个项目将介绍共现在关系中的 ...
- 一文教你用 Neo4j 快速构建明星关系图谱
更多有趣项目及代码见于:DesertsX/gulius-projects 前言 本文将带你用 neo4j 快速实现一个明星关系图谱,因为拖延的缘故,正好赶上又一年的4月1日,于是将文中的几个例子顺势改 ...
- 凭借SpringBoot整合Neo4j,我理清了《雷神》中错综复杂的人物关系
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 虽然距离中秋放假还要熬过漫长的两天,不过也有个好消息,今天是<雷神4>上线Disney+流媒体的日子 ...
- Python基础教程之List对象 转
Python基础教程之List对象 时间:2014-01-19 来源:服务器之家 投稿:root 1.PyListObject对象typedef struct { PyObjec ...
- Python基础教程之udp和tcp协议介绍
Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...
- 手把手教你用vue-cli构建一个简单的路由应用
上一章说道:十分钟上手-搭建vue开发环境(新手教程)https://www.jianshu.com/p/0c6678671635 开发环境搭建好之后,那么开始新添加一些页面,构建最基本的vue项目, ...
- Python学习笔记(2) Python提取《釜山行》人物关系
参考:http://www.jianshu.com/p/3bd06f8816d7 项目原理: 实验基于简单共现关系,编写 Python 代码从纯文本中提取出人物关系网络,并用Gephi 将生成的网 ...
- 文本可视化[二]——《今生今世》人物关系可视化python实现
文本可视化[二]--<今生今世>人物关系可视化python实现 在文本可视化[一]--<今生今世>词云生成与小说分析一文中,我使用了jieba分词和wordcloud实现了,文 ...
- Python 爬取 热词并进行分类数据分析-[热词关系图+报告生成]
日期:2020.02.05 博客期:144 星期三 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...
随机推荐
- SQL Server获取星期几
上一周在解决一个Bug的时候,需要在SQL Server获取星期几的需求,在网上搜索了下,发现一篇好的文章,特转载下! 今天是星期几,例子 1: 1 SET LANGUAGE N'English' - ...
- pll时钟延迟为问题
pll时钟延迟为问题 这关系到pll的工作方式,如果pll内部使用的是鉴频器,则输入和输出将没有固定的相位差,就是每次锁定都锁定在某个相位,但每次都不一样.如果使用的是鉴相器,则输入和输出为0相位差. ...
- 工控随笔_03_西门子_Step7项目打开后CPU显示问号解决方法
我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. ...
- kill -9 ,kill -12,kill -15
https://www.cnblogs.com/liuhouhou/p/5400540.html Linux kill -9 和 kill -15 的区别 大家对kill -9 肯定非常熟悉,在工作中 ...
- MariaDB——(三) MariaDB 10.0.15 standard replication主从复制搭建
最近看了一下MariaDB的常规复制章节,就按部就班的搭建了一下最简单的主从复制.需要的硬件环境很简单(在虚拟机VMware中搭建): 1:两台server:Master: 192.168.6.133 ...
- webRTC中音频相关的netEQ(四):控制命令决策
上篇(webRTC中音频相关的netEQ(三):存取包和延时计算)讲了语音包的存取以及网络延时和抖动缓冲延时的计算,MCU也收到了DSP模块发来的反馈报告.本文讲MCU模块如何根据网络延时.抖动缓冲延 ...
- unity最基本操作
1. 2017.1.0 2017.1.1 2017.2.0 2017.3.4 5.5.3 p4 小版本号高出现bug可能性更小:一台电脑可以安装多个版本的unity,但是需要安装在不同路径:安装 ...
- DataGridView导出数据到Excel
//传入DataGridView /// <summary> /// 输出数据到Excel /// </summary> /// <param name="da ...
- vue-cli · Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 13.229.188.59:443
初始化vue项目 vue init webpack vue-demo 之后 一直报vue-cli · Failed to download repo vuejs-templates/webpack: ...
- vue3.0中如何使用ueditor
1.在官网下载一个ueditor版本[https://ueditor.baidu.com/website/download.html],解压后放到public文件下的static文件中重命名为Edit ...