來源商業新知網,原標題: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



























