Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

講技術之前先引個好玩的熱點話題,帶你與時代接軌~

漫威系列電影《復仇者聯盟4》上映

你去看了嗎?

誰劇透,跟誰急!

復仇者聯盟 之 絕對不劇透

漫威英雄們為了不讓自己劇透也是使出了渾身解數。在洛杉磯全球首映禮上記者費盡心機想要從各位演員身上套點信息:“如果你活下來就眨一下眼睛,死了就眨兩下”。

“綠巨人” :我就是不眨,看你怎麼樣!

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

“雷神”:我眨了23下,你猜我活沒活著~

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

“蟻人”:我不睜眼就不用眨眼了~

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

希望大家可以像奇異博士學習

做個合格的影迷哦

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

都誰看了復聯4?

據說,看復聯4的,分三種人:

(1)骨灰粉

看完曬票根發感慨的

(2)路人粉

還沒看,但是怕被劇透的

(3)純屬小白跟風

被漫威錯綜複雜的人物線,搞得一頭霧水

敲黑板,講技術重點了~!

來,先放一張成品圖,

幫你理清核心人物

一張圖帶你讀懂“婦聯4”人物關係!

記得私信小編【學習】領取Python學習教程哦。
Python來襲,教你用Neo4j構建“復聯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})

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

給不同的角色添加不同的標籤

以“復仇者聯盟成員”為例:

MATCH (n { role: '復仇者聯盟成員' }) SET n :復仇者聯盟成員 RETURN n


Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

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

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

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

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

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

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

MATCH (n { role: '九頭蛇組織創始人' })SET n :九頭蛇組織創始人 RETURN n

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

MATCH (n { role: '瓦坎達國王' }) SET n :瓦坎達國王 RETURN n

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

MATCH (n { role: '美國隊長宿敵' })SET n :美國隊長宿敵 RETURN n

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

查看所有節點

match (n) return n

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

點擊節點,可以設置節點顏色和大小。

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

導入關係數據,由於導入節點的時候,並沒有設置標籤,所以導入關係數據的時候,也不需要設置節點標籤。

正確語法:

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)

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

用以下語法,添加節點標籤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)

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

再查看所有節點和關係

match (n) return n

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

查看所有復仇者聯盟成員的名字

match (n:復仇者聯盟成員) return n

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

點擊標籤,也可以設置顏色和大小。

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

查看鋼鐵俠的全部關係

match p=({name:'鋼鐵俠'})-[:r]->()return p

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

點擊關係,也可以設置顏色和大小。

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

查看鋼鐵俠的2層內的關係

match p=({name:'鋼鐵俠'})-[*..2]->()return p

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

查看鋼鐵俠的好友關係

match p=({name:'鋼鐵俠'})-[:r{relation:'好友'}]->()return p

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

這波操作超酷~

重點來了!

這個技術,在哪裡可以學到?

最後如果你依然在編程的世界裡迷茫,不知道自己的未來規劃,對python感興趣,小編為初學者們準備的python編程入門教程!

Python來襲,教你用Neo4j構建“復聯4”人物關係圖譜!沒有劇透!

請私信回覆:“學習”就可以拿到我為大家準備的Python學習資料啦!希望能幫助你更瞭解python,學習python。


分享到:


相關文章: