neo4j中基本元素有三種:結點(node)、關係(relationships)、路徑(path)。neo4j基於模式對graph查詢,因此要想查詢目標先得知道如何描述目標符合的模式。
1.1.1 結點的描述
結點通過小括號描述,結點名可省略。
(a)
()
1.1.2 結點的標籤
結點標籤通過":標籤名"描述,結點至少要有乙個標籤。
(a:label)
(a:lable1:lable2)
1.1.3結點的屬性
結點屬性通過""描述。
(a
)
1.2.1關係的描述
關係通過箭頭連線"–>「描述,關係詳情通過」"描述;箭頭可省略、詳情可省略、關係名可省略。
(a)
-->
(b)(a)
--(b)
(a)-
[r]-
>
(b)(a)-[
]->
(b)neo4j基於有向無環圖dag,建立關係時必須指定方向,查詢時才可省略箭頭
1.2.2 關係的標籤
關係標籤通過":標籤名"描述,關係至少要有乙個標籤。
(a)
-[r:lable]
->
(b)(a)-[
:lable]
->
(b)(a)
-[r:label1|
:label2]
->
(b)建立關係時,不能一次指定多個標籤,查詢時才可用
關係多標籤描述方式與結點相比多了個分隔符
1.2.3關係的屬性
關係屬性通過""描述。
(a)-[
]->
(b)
1.2.4 可變長度的關係
關係長度通過"*"描述,關係長度範圍通過"min…max"描述;
建立關係時不能指定關係長度,查詢時才可用
指定長度的關係
(a)-[*
2]->
(b)// 長度為2,等價於 (a)-->()-->(b)
指定長度範圍的關係
(a)-[*
2..4]-
>
(b)// 長度 [2,4]
(a)-[*
..4]-
>
(b)// 長度 [0,4]
(a)-[*
2..]-
>
(b)// 長度 [2,+∞)
任意長度
(a)-[*
]->
(b)// 長度 [0,+∞)
1.3.1路徑的描述
路徑由一系列連線的結點和關係描述,路徑名通過"p = ***"指定;
p=
(a)--
(b)p=
(a)-
[r]-
(b)
neo4j系列教程 :
參考:neo4j_match詳解與高階
neo4j中聚合函式在return、with中使用,即先查詢後統計,否則會報錯。
match
(n:blog)
where n.tags contains
'電波'
return
count
(n);:
利用函式可以對返回結果中的結點和關係進行遍歷。 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速度...
CQL語句彙總(neo4j)
用 docker 直接用 docker run publish 7474 7474 publish 7687 7687 volume home neo4j data data neo4jui潔面 http localhost 7474 初始密碼 neo4j neo4j create database...