neo4j常用操作筆記

關係查詢
match (n:Data{name:"一些數據"}) -[:包含]-> (m:Data{name:"aaaa"})  return m,n

存在對象後進行 關係
match (n:Data{name:'數據'}),(m:BigData{name:'大數據'})   create (n)-[:rel]->(m)
或者
match (n:Data{name:'一些數據'}),(m:Data{name:'aaaa'}) create (n)-[:包含]->(m)

查詢兩者關係
match p=(n:Data{name:'數據'}) --> (m:Data{name:'數據1'}) return p

match p=(n:Data{name:'數據'}) -[role:包含]-> (m:Data{name:'數據1'}) return p  其中 role 是別名
查詢是新增關係
match(n:Data{name:'qqq'}) create (m:Data{name:'qq'}) create (n)-[:包含]->(m)

訪問某一類關係
match p=()-[r:rel]->() return p

查詢兩者關係
match (n:Data{name:'數據'})-[r]-> (m:BigData{name:'大數據'}) return type(r)

查詢該節點下的所有關係
MATCH (:Data { name:'QQQ' })-[r:包含]->(Data)
RETURN Data;

查詢全部關係
match q = ()-->() return q

MATCH (n:Data)-[r]->(m:Data) return n.name,m.name,type(r)

查詢關係的類型
MATCH p=()-[f]->() RETURN type(f)

MATCH (n:BigData)-->(m:Data)
where n.name='數據分析'
RETURN n,m;

查詢
MATCH (n:BigData)-->(m:Data{name:'QQQ'})
where  '數據分析' in n.name
RETURN n,m;

MATCH (n:BigData)-->(m:Data{name:'QQQ'})
where  '數據分析' in n.name
RETURN n,m,count(*) as c    //count,sum,avg,min,max
order by c desc 
skip 0 
limit 1

MATCH (n:BigData)
RETURN
CASE n.name
WHEN '數據分析'
THEN 1
WHEN 'brown'
THEN 2
ELSE 3 END AS result

MATCH (user)-[:friend]->(follower)
WHERE user.name IN ['Joe', 'John', 'Sara', 'Maria', 'Steve'] AND follower.name =~ 'S.*'
RETURN user.name, follower.name

查詢關係 給關係設置屬性
match (n:BigData{name:'數據分析'}) , (m:Data{name:'QQQ'}) create (n) -[r:關聯{roles:['www']}]-> (m) return n,m,r

MATCH (p:Person { name:"Tom Hanks" })
CREATE (m:Movie { title:"Cloud Atlas",released:2012 })
CREATE (p)-[r:ACTED_IN { roles: ['Zachry']}]->(m)
RETURN p,r,m

查詢全部
match (q) return q

查出該條id
match (n:Data) return id(n)

插入
create (n:Data{name:'一些數據1',long:2000}) ,(m:Data{name:'一些數據2',long:222000})
或者
CREATE (r1:人員 {姓名:'張 1' })
CREATE (r2:人員 {姓名:'張 2' })
或者
CREATE (tom)-[:ACTED_IN { roles: ["Forrest"]}]->(forrestGump)

插入時建立關係
create (n:Data{name:'QQQ',type:'字母'}) ,(m:Data{name:'qqq',type:'字母'}) , (n)-[:包含]->(m)

修改
match(n:Data{name:'一些數據1'}) set n.name='數據1'

刪除節點和與其相連的邊。Neo4j中如果一個節點有邊相連,是不能單單刪除這個節點的
MATCH (n:Person { name:'Andres' })
DETACH DELETE n;
刪除邊
MATCH (a:Person)-[r:Follow]->(b:Person)
WHERE a.name = 'Andres' AND b.name = 'Taylor'
DELETE r;
 

發佈了70 篇原創文章 · 獲贊 8 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章