以下節點標籤為people,friend,使用者自己也可以設定成其他標籤,查詢時需要用到標籤。這個標籤可以模擬為關聯式資料庫中的表名建立節點(小紅): create (n:people) return n;
建立關係(小明送禮物給小紅):小明節點id為0,小紅節點id為1
start a =node(0),b=node(1) create (a)-[n:gift]->(b)return n
match (n: people) where n.age =
18return n
match (n: people) where n.age >
18return n
match (n: people) where n.age >=
18return n
match (n: people) where n.age <>
18return n
end
2. match (n:people)-[:gift]->(end:people) return
end
match (n
:people
)[:gift]
-(end
:people)
return
end
match (n
:people
)-[:gift]
-(end
:people)
return
end
在neo4j中,每乙個節點,會自動有乙個唯一id。
查詢id為1的節點,有兩種方式:
以根部為條件,查詢第二層的節點
match (start
:people
)-[:gift*2..2]
->(end
:people)
return
end
以根部為條件,查詢第一層和第二層的節點
match (start
:people
)-[:gift*1..2]
->(end
:people)
return
end
以根部為條件,按級次查詢出所有直接或間接獲得過小明的禮物的人
match (start
:people
)-[:gift*]
->(end
:people)
return
end
刪除2個節點之間的關係:
match (x
:people
)-[r:gift]
->(y
:people
) delete
r
刪除節點,會刪除和該節點有關的所有關係:
match (n
:people
) delete
n
(不按屬性)查詢標籤(people)中一共有多少節點(人):
match (n:people) return
count(n)
(按屬性)查詢標籤(people)中年齡為18歲的一共有多少節點(人):
三種寫法:
return
count(n)
2. match (n:people) return
count(n)
3. match (n:people) return
count(n.age=18)
查詢標籤(people)中的10個節點(人):
match (n:people) return n limit 10
查詢標籤(people)中所有的不同的age:
match (n:people) return
distinct(n.age)
根據標籤(people)中的name 排序:
match(n:people) return n order
by name (預設公升序)
match(n:people) return n order
by name asc (公升序)
match(n:people) return n order
by name desc (降序)
求並集,不去重(去重用union):
return n.name
asname
union all
match(n:friend) where n.age=18
return n.name
asname
查詢id為0,5,8的節點:
match (n) where id(n) in[0,5,8] return n
判斷節點是否存在 name這個屬性:
查詢name以『小』開頭的節點:
查詢name以『明』結尾的節點:
查詢name中含有 『小』的節點
參考:
neo4j Cypher 查詢語言簡單案例(二)
圖資料庫常規的有 neo4j 支援超多語言 janusgraph titan 分布式 orientdb,google也開源了圖資料庫cayley go語言構成 postgresql儲存rdf格式資料。目前的幾篇相關 neo4j 圖資料庫基本概念 操作羅列與整理 一 neo4j cypher 查詢語言...
學習記錄 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速度...
Neo4j查詢語句總結
最近一直在做圖資料庫的相關工作,對neo4j的查詢語言cypher使用較多,故在此總結記錄。cypher作為圖資料庫的查詢語言,感覺和關係型資料庫的查詢語言sql差不多吧。1.如何找到乙個節點x,x以某種關係同時連線兩個不同節點a和b match a r relation x r relation ...