CQL語句彙總(neo4j)

2021-10-11 03:30:20 字數 2627 閱讀 3406

用 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速度...