来源商业新知网,原标题: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”人物关系图谱!的更多相关文章

  1. Python基于共现提取《釜山行》人物关系

    Python基于共现提取<釜山行>人物关系 一.课程介绍 1. 内容简介 <釜山行>是一部丧尸灾难片,其人物少.关系简单,非常适合我们学习文本处理.这个项目将介绍共现在关系中的 ...

  2. 一文教你用 Neo4j 快速构建明星关系图谱

    更多有趣项目及代码见于:DesertsX/gulius-projects 前言 本文将带你用 neo4j 快速实现一个明星关系图谱,因为拖延的缘故,正好赶上又一年的4月1日,于是将文中的几个例子顺势改 ...

  3. 凭借SpringBoot整合Neo4j,我理清了《雷神》中错综复杂的人物关系

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 虽然距离中秋放假还要熬过漫长的两天,不过也有个好消息,今天是<雷神4>上线Disney+流媒体的日子 ...

  4. Python基础教程之List对象 转

    Python基础教程之List对象 时间:2014-01-19    来源:服务器之家    投稿:root   1.PyListObject对象typedef struct {    PyObjec ...

  5. Python基础教程之udp和tcp协议介绍

    Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...

  6. 手把手教你用vue-cli构建一个简单的路由应用

    上一章说道:十分钟上手-搭建vue开发环境(新手教程)https://www.jianshu.com/p/0c6678671635 开发环境搭建好之后,那么开始新添加一些页面,构建最基本的vue项目, ...

  7. Python学习笔记(2) Python提取《釜山行》人物关系

    参考:http://www.jianshu.com/p/3bd06f8816d7 项目原理:   实验基于简单共现关系,编写 Python 代码从纯文本中提取出人物关系网络,并用Gephi 将生成的网 ...

  8. 文本可视化[二]——《今生今世》人物关系可视化python实现

    文本可视化[二]--<今生今世>人物关系可视化python实现 在文本可视化[一]--<今生今世>词云生成与小说分析一文中,我使用了jieba分词和wordcloud实现了,文 ...

  9. Python 爬取 热词并进行分类数据分析-[热词关系图+报告生成]

    日期:2020.02.05 博客期:144 星期三 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...

随机推荐

  1. win10 caffe GPU环境搭建

    一.准备 系统:win10 显卡:gtx1050Ti 前期的一些必要软件安装,包括python3.5.matlab2016.vs2015.git, 可参考:win10+vs2015编译caffe的cp ...

  2. 【转】计算机信息系统安全保护等级划分准则(GB 17859-1999)

    计算机信息系统安全保护等级划分准则(GB 17859-1999) 概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: ...

  3. WebService客户端(以命令方式创建)

    以命令的方式生成WebService客户端: 创建一个Project项目,客户端项目名称WS_Client,在cmd界面进入JDK的bin目录,输入以下命令 完整格式: C:\Program File ...

  4. HashMap与LinkedHashMap的区别

    /**         * remark:         * HashMap与LinkedHashMap的区别         * 这里必须使用LinkedHashMap:         * 原因 ...

  5. problem: 记一次聊天框的表情包弹框不显示的找问题过程

    左边是列表,包含了群和成员,右侧是聊天窗口.点击群列表,右侧显示群聊窗口,点击学员,右侧显示私聊窗口. 群聊窗口和私聊窗口是不同的组件,但是窗口中的子组件,例如窗口的头部.中间内容部分.输入框都是复用 ...

  6. Cleanmymac X空间透镜再升级

    什么是空间镜透,在Cleanmymac X中具体干什么使得?你了解多少?没关系,不要紧,看这里,下面给大家分享一下这款好用软件下的实用功能-空间透镜.盘它! 首先,Cleanmymac X是一款Mac ...

  7. com.jakewharton:butterknife:7.0.1' 点击无效

    需要加上 annotationProcessor 'com.jakewharton:butterknife:7.0.1' dependencies { compile 'com.jakewharton ...

  8. SSM框架-MyBatis框架数据库的增删查改操作

    话不多说,在User.xml文件中主要写一下操作数据库的sql语句,增,删,查,改是最常见的数据库操作 User.xml文件下:

  9. 通过google cloud API 使用 WaveNet

    Cloud Text-to-Speech 中使用了WaveNet,用于TTS,页面上有Demo.目前是BETA版 使用方法 注册及认证参考:Quickstart: Text-to-Speech 安装g ...

  10. Layout-3相关代码:3列布局代码演化[二]

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...