關係查詢
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;