用 docker 直接用
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=
$home/neo4j/data:/data \
neo4j
ui潔面: http://localhost:7474
初始密碼:neo4j/neo4j
create database movies
:use movies
create (
:)
用來建立節點
create 可以換成 merge,效果就是:如果資料庫中已經有完全一樣的 node,就不新建了
例子:
create (m:movie)
建立多個標籤
create (::.....:)
建立關係create (p1:profile1)-[r1:links]->(p2:profile2)
例如
create (m:movie)-[r1:links]->(c:campany)
(實測會同時建立新的node)
查詢節點,並建立關係
match (:),(:)
where create ()-[:{}]->()
例子:
match(m1:movie),(m2:movie)
where m1.year=m2.year
create (m1)-[r:same_year]->(m2)
return r
delete 用來刪除節點和關係
match (e: employee) delete e
例子
match (m:movie)
where m.name='頭腦**隊'
delete m
(需要先刪除關係,才能刪除節點)
match (m1:movie)-[r:links]-(m2:movie)
where m1.name='冰雪奇緣'
delete r,m1,m2
remove
remove 用來刪除標籤和屬性
match(m1:movie)
where m1.name='冰雪奇緣'
remove m1.year
set
改變標籤和屬性
match(m1:movie)
where m1.name='冰雪奇緣'
set m1.year='2018'
match (col ) return col
(這裡的col是你自定義的列名)
match(m1:movie)
where m1.name='冰雪奇緣'
return m1.year
limit 10
總結
match (col:)
where 條件
return 子句
order by 條件 【desc/asc】
limit 5
union
兩個子句中間放union語句,用來合併兩個結果
查詢關係
match (cc:creditcard)-[r]-(c:customer) return r
match (m1:movie)-[r]-(m2:movie) where m1.title=『頭腦**隊』 return r
字串函式
聚合(好像不能搭配 group by,結果就只能是一行)
關係的函式
例子:
match (a)-[r:links]->(c) where r.maker='company maker' return startnode(r)
刪庫到跑路
# 清除全部帶關係的節點、關係
match (a)-[r]->(b) delete r,a,b
# 清除節點,如果節點還連著關係,會報錯
match (a) delete a
如果是一次提交的語句,冒號前面的名字會識別成同乙個節點。如果是分兩次提交,會識別成不同的節點
create (m:movie)
create (m2:movie)
create (c:campany)
create (m)-[r1:links]->(c),
(m2)-[r2:links]->(c)
關係
# * 關鍵字代表一切關係
match (a)-[*]-(b) return a,b
# 還有一種特殊寫法
match (a)-[:links]->(c)<-[:links]-(a1) return a,a1
neo4j相關語句彙總
一.模糊查詢 查詢名字以 黃 開頭的人物 match n person where n.name starts with 黃 return n 查詢名字以 河 結尾的人物 match n person where n.name ends with 河 return n 查詢含有 黃 的所有人物 ma...
Neo4j查詢語句總結
最近一直在做圖資料庫的相關工作,對neo4j的查詢語言cypher使用較多,故在此總結記錄。cypher作為圖資料庫的查詢語言,感覺和關係型資料庫的查詢語言sql差不多吧。1.如何找到乙個節點x,x以某種關係同時連線兩個不同節點a和b match a r relation x r relation ...
學習記錄 neo4j語句
create match dept dept return dept.deptno,dept.dname,dept.location方式一 match dept dept return dept方式二 match dept dept where dept.deptno 1 return dept速度...