cypher作為neo4j的查詢語言,其語法針對圖的特點而設計,非常方便、可讀。
create命令用於建立帶有屬性的節點。 它建立乙個具有一些屬性(鍵值對)的節點來儲存資料。
create (dept
:dept
)
match命令用於從資料庫獲取有關節點和屬性的資料(類似於sql中的select)。
match (dept
:dept)
set子句的作用是向現有節點或關係新增新屬性、新增或更新屬性值。(類似於關係型資料庫中的update。)
match (n:person ) set n.name=
'張三',n.age=
50return n
通過使用delete命令,我們可以從資料庫永久刪除節點及其關聯的屬性。
match (s:teacher)-[r:teach]->(d:student) delete r,s,d//刪除與該關係相關的老師和學生及label
match (a:person),(b:person) where a.id='erzi'
and b.id='bozi'
merge (a)-[r:fuqi]->(b) delete r//刪除乙個relation
我們可以使用 remove語法從資料庫中永久刪除標籤、節點或關係的屬性或屬性列表。
它的使用方法與delete類似,這裡僅展示示例:
match (n:person ) remove n.age return n //刪除屬性
limit 子句,顯示多少行,最前邊開始:
match (n:person) return n limit 25
skip子句,跳過前多少行:
match (n:person) return n order
by n.id desc skip
2 limit 25
排序語法同sql相同,這裡僅展示示例:
match (n:person) return n order
by n.id,n.name desc //根據id和name進行倒序排列
match (n:person) return n order
by n.id limit 25
//正序排列
與sql一樣,neo4j cql提供了乙個in運算子,以便為cql命令提供值的集合。
match (n:person) where n.age>
20return n.id,n.age
union all
match (n:person) where n.id in
['erzi','bozi','baba'
]return n.id,n.age
當有資料為null的時候,cypher和sql一樣,也可以通過is null / is not null 進行資料過濾。
match (n:person) where n.age>
20return n.id,n.age
union all
match (n:person) where n.id=
'erzi'
and n.age is not
null
return n.id,n.age
與sql一樣,neo4j cql有兩個子句,將兩個不同的結果合併成一組結果:
1.union
2.union all
union:把多段match的return結果 上線組合成乙個結果集,會自動去掉重複行。
union all:作用同union,但不去重。
match (n:person) where n.age>
20return n.id,n.age
union all
match (n:person) where n.id=
'erzi'
return n.id,n.age
Cypher語言語法簡介
cypher對於neo4j資料庫就相當於sql對於mysql資料庫,cypher是neo4j的查詢語言。cypher是專門為影象資料庫設計的語言,它淺顯易懂。cypher的語法結構設計能讓開發者很容易看懂。舉個例子,假如要建立這麼乙個資料模型 好友a與好友b是朋友關係,好友b與c也是朋友關係,好友a...
Cypher語言語法簡介
cypher對於neo4j資料庫就相當於sql對於mysql資料庫,cypher是neo4j的查詢語言。cypher是專門為影象資料庫設計的語言,它淺顯易懂。cypher的語法結構設計能讓開發者很容易看懂。舉個例子,假如要建立這麼乙個資料模型 好友a與好友b是朋友關係,好友b與c也是朋友關係,好友a...
基礎語法4
這是學習python的第三天了,最好今天就把基礎語法全部搞明白 1.pass語句一般用於佔據位置,比如寫乙個函式但是沒有想好具體內容,不然內容會報錯,這個時候就可以寫乙個pass來佔據位置 2.複習複數的運算法則,加減乘除link 在python內 1.整數,字串,元組,都是不可變物件,它們傳遞到函...