創建屬於自己的neo4j數據庫

開始

啓動neo4j數據庫:neo4j.bat console
使用csv文件創建圖數據庫

1、準備csv文件(使用爬蟲爬取數據)

1.1 ylq_star_nodes.csv (實體表)
在這裏插入圖片描述
1.2 ylq_star_relations.csv (關係表)
在這裏插入圖片描述
1.3 將兩個csv文件放到
neo4j-community-4.0.2\import 下

2、完成知識圖譜的構建

2.1
導入ylq_star_nodes.csv文件構建明星實體

LOAD CSV  WITH HEADERS FROM 'file:///ylq_star_nodes.csv' AS data 
CREATE (:star{starname:data.name, starid:data.id});

如果csv文件沒有表頭,可以改爲:

LOAD CSV  FROM 'file:///ylq_star_nodes.csv' AS data 
CREATE (:star{starname:data.name, starid:data.id});

2.2
導入ylq_star_relations生成明星實體之間的關係

LOAD CSV  WITH HEADERS FROM "file:///ylq_star_relations.csv" AS relations
MATCH (entity1:star{starname:relations.subject}) , (entity2:star{starname:relations.object})
CREATE (entity1)-[:rel{relation: relations.relation}]->(entity2)

另一種寫法

LOAD CSV  WITH HEADERS FROM "file:///ylq_star_relations.csv" AS relations
MATCH (entity1:star{starname:relations.subject}) , (entity2:star{starname:relations.object})
MERGE (entity1)-[:rel{relation: relations.relation}]->(entity2)

3、一些查詢

查詢張學友的全部關係
return (:star{starname:"張學友"})-->()

在這裏插入圖片描述

查某人朋友的朋友(5層關係)
match p=(n:star{starname:"張國榮"})-[*..5]->() return p limit 50;

在這裏插入圖片描述

# 查詢特定關係
match p=()-[:rel{relation:"舊愛"}]->() return p LIMIT 25;

在這裏插入圖片描述
不足之處: 構建好的關係圖譜中,實體之間的關係只能用rel來表示,如果想查看具體關係,需要點擊
關係查看關係屬性纔行。

一點疑問

本想使用關係表中的relation字段作爲關係名,但是當創建關係的時候關係名中不允許使用
relations.relation,報錯信息爲不允許使用.

LOAD CSV  WITH HEADERS FROM "file:///ylq_star_relations.csv" AS relations
MATCH (entity1:star{starname:relations.subject}) , (entity2:star{starname:relations.object})
CREATE (entity1)-[:relations.relation}]->(entity2)

在這裏插入圖片描述
希望接下來能夠解決這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章