一、Neo4j基本操作
1. 增刪改查
1.1 創建節點與關係
01-創建節點
CREATE(m:進制) //m爲變量名,寫什麼都可以,“進制”爲標籤
02- 創建帶有屬性的節點
CREATE (m:進制 { 中文名:"進制",外文名稱:"system of numeration",實質:"是人們規定的一種進位方法" })
match(m:進制) return(n) //match爲查詢匹配的功能,有match,一定要有return
03-判斷是否節點已存在,若存在不操作,不存在再創建
MERGE (n {name: '3'}) //Create if a node with name='3' does not exist else match it
MERGE (test2 {name:'2'}) //Create if a node with name='2' does not exist else match it
04-創建節點之間的關係
//直接創建新的節點關係,以下將創建兩個節點,一個帶屬性的關係(邊)
CREATE (m:進制 {name:"byte"})-[r:應用{年代:1990,人物:"馮諾依曼"}]->(n:內存 {name:"memory"})
//已有的兩個節點創建關係
MATCH (m:進制 {name:"byte"}),(n:內存 {name:"memory"})
CREATE (m)-[r:應用]->(n)
//一個節點有,一個節點沒有,創建另一個幾點及其關係
MATCH (m:進制 {name:"byte"})
CREATE (m)-[r:應用]->(n:內存 {name:"memory"})
1.2 刪除節點與關係
01-刪除關係
match(m:進制 {name:"byte"})-[r]-(n:內存 {name:"memory"}) delete r //刪除特定節點之間的關係
match(m:進制)-[r]-(n:內存) delete r//支持類似模糊的匹配,刪除兩個標籤所有節點直接存在的關係
match(m:進制)-[r]-() delete r //刪除與進制有關的所有關係
match(m:進制 {name:"byte"})-[r:應用]-(n:內存 {name:"memory"}) delete r //刪除特定的應用關係
match(m)-[r]-(n) delete r//刪除所有關係
02-刪除節點
MATCH (m:進制 {name:"byte"}) delete(m:進制 {name:"byte"}) //刪除某個節點,刪除節點前必須解除關係
match(n) delete(n) //刪除全部節點
1.3 修改節點及關係
01-更新節點的屬性信息
match(m:進制 {name:"byte"}) set m.name='method'//更新屬性值
match(m:進制 {name:"byte"}) set m.usage='method'//添加新屬性
match(m:進制 {name:"byte"}) remove m.name //刪除屬性與標籤
02-更新節點的標籤信息
// 一個有標籤的節點添加標籤
match (n:ExistingLabel) set n :NewLabel
// 刪除標籤
match (n:OldLabel) remove n:OldLabel
// 一個沒有標籤的節點添加標籤 (更新一個節點標籤:先刪除後重設)
match (n {id:desired-id})
set n :newLabel
return n
1.4 查詢節點及關係
01-查詢多個標籤
MATCH (n) WHERE (n:User OR n:Admin) return (n) //返回User或者Admin標籤的節點
MATCH (n) WHERE (n:User AND n:Admin) return (n) //返回User且Admin標籤的節點
02-按照id查詢
MATCH (s) WHERE ID(s) = 65110 RETURN s
03-限制查詢返回個數
MATCH (n:node) RETURN n LIMIT 5
04-查詢節點屬性
match(m:內存) return 內存.外文名稱 //查詢節點屬性