Python來襲,教你用Neo4j構建“復聯4”人物關系圖譜!


來源商業新知網,原標題:Python來襲,教你用Neo4j構建“復聯4”人物關系圖譜!沒有劇透!

復仇者聯盟 之絕對不劇透

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

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

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

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

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

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

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

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

做個合格的影迷哦

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

都誰看了復聯4?

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

(1)骨灰粉

看完曬票根發感慨的

(2)路人粉

還沒看,但是怕被劇透的

(3)純屬小白跟風

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

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

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

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

來,先放一張成品圖,

幫你理清核心人物

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

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

人物節點和關系數據

人物節點數據:姓名和角色

name,role

霍華德·斯塔克,斯塔克工業創始人

佩姬·卡特,神盾局創始人

美國隊長,復仇者聯盟成員

鋼鐵俠,復仇者聯盟成員

巴基,復仇者聯盟成員

雷神,復仇者聯盟成員

蟻人,復仇者聯盟成員

綠巨人,復仇者聯盟成員

黑寡婦,復仇者聯盟成員

洛基,火神

鷹眼,復仇者聯盟成員

戰爭機器,復仇者聯盟成員

蜘蛛俠,復仇者聯盟成員

幻視,復仇者聯盟成員

紅骷髏,九頭蛇組織創始人

黑豹,瓦坎達國王

澤莫男爵,美國隊長宿敵

人物關系:姓名1,姓名2,關系類型

start,end,relation

鋼鐵俠,美國隊長,內戰

美國隊長,鋼鐵俠,內戰

蜘蛛俠,鋼鐵俠,師傅

鋼鐵俠,戰爭機器,好友

幻視,鋼鐵俠,AI管家

鋼鐵俠,霍華德·斯塔克,兒子

鋼鐵俠,綠巨人,搭檔

美國隊長,紅骷顱,宿敵

紅骷顱,美國隊長,宿敵

黑豹,美國隊長,庇護

澤莫男爵,美國隊長,敵對

美國隊長,澤莫男爵,敵對

美國隊長,佩姬·卡特,二戰戀人

美國隊長,巴基,好友

巴基,美國隊長,好友

洛基,雷神,弟弟

綠巨人,雷神,結識

黑寡婦,鷹眼,曖昧

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

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

@

啟動 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”人物關系圖譜!沒有劇透!

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM