關於neo4j初入門(2)
DELETE刪除
- 刪除節點及相關節點和關系。
-
DELETE <node-name-list>
-
DELETE <node1-name>,<node2-name>,<relationship-name>
-
使用逗號(,)運算符來分隔節點名稱和關系名稱。
MATCH (cc:CreditCard)-[r]-(c:Customer)RETURN r 檢查是否存在
MATCH (cc: CreditCard)-[rel]-(c:Customer)
DELETE cc,c,rel 刪除
MATCH (cc:CreditCard)-[r]-(c:Customer) RETURN r 檢查是否刪除
REMOVE刪除
SET子句向現有節點或關系添加新屬性。
REMOVE子句來刪除節點或關系的現有屬性。
REMOVE <property-name-list>
<property-name-list> <屬性名稱列表>語法
<node-name>.<property1-name>, <node-name>.<property2-name>, .... <node-name>.<propertyn-name>
REMOVE <label-name-list>
<label-name-list>語法
<node-name>:<label2-name>, .... <node-name>:<labeln-name>
SET子句
向現有節點或關系添加新屬性
SET <property-name-list>
<屬性名稱列表>語法:
<node-label-name>.<property1-name>, <node-label-name>.<property2-name>, .... <node-label-name>.<propertyn-name>
例如
MATCH (dc:DebitCard) SET dc.atm_pin = 3456 RETURN dc
Sorting排序
對MATCH查詢返回的結果進行排序。
ORDER BY <property-name-list> [DESC]
MATCH (emp:Employee) RETURN emp.empid,emp.name,emp.salary,emp.deptno ORDER BY emp.name
UNION聯盟
- 將兩個不同的結果合並成一組結果
- UNION
- UNION ALL
-
UNION子句語法
<MATCH Command1> UNION <MATCH Command2>
- 具有相同的屬性名有不同的節點名稱前綴。UNION命令顯示此錯誤消息。為了避免這種錯誤,Neo4j的CQL提供“AS”子句。
-
MATCH (cc:CreditCard) RETURN cc.id as id,cc.number as number,cc.name as name, cc.valid_from as valid_from,cc.valid_to as valid_to UNION MATCH (dc:DebitCard) RETURN dc.id as id,dc.number as number,dc.name as name, dc.valid_from as valid_from,dc.valid_to as valid_to
-
UNION ALL子句語法
<MATCH Command1> UNION ALL <MATCH Command2>
- UNION ALL子句不過濾它們重復行
-
MATCH (cc:CreditCard) RETURN cc.id as id,cc.number as number,cc.name as name, cc.valid_from as valid_from,cc.valid_to as valid_to UNION ALL MATCH (dc:DebitCard) RETURN dc.id as id,dc.number as number,dc.name as name, dc.valid_from as valid_from,dc.valid_to as valid_to
LIMIT子句語法
LIMIT <number>
減少MATCH + RETURN查詢返回的記錄數
MATCH (emp:Employee) RETURN emp LIMIT 2
SKIP子句語法:
SKIP <number>
“SKIP”子句來過濾或限制查詢返回的行數
MATCH (emp:Employee) RETURN emp SKIP 2
合並
MERGE命令是CREATE命令和MATCH命令的組合。
MERGE = CREATE + MATCH
Neo4j CQL MERGE語法
MERGE (<node-name>:<label-name> { <Property1-name>:<Pro<rty1-Value> ..... <Propertyn-name>:<Propertyn-Value> })
CREATE命令檢查此節點是否可用,它只是在數據庫中創建新節點。
MERGE命令檢查該節點在數據庫中是否可用。 如果它不存在,它創建新節點。 否則,它不創建新的。
我們可以說CREATE命令總是向數據庫添加新的節點。CQL MERGE命令將新的節點添加到數據庫,只有當它不存在。
NULL值
WHERE IS NOT NULL
這裏我們使用IS NOT運算符來過濾NULL行。
IN操作符語法
IN[<Collection-of-values>]
例如
MATCH (e:Employee) WHERE e.id IN [123,124] RETURN e.id,e.name,e.sal,e.deptno
Neo4j數據瀏覽器包含兩種視圖來顯示查詢結果 -
- UI查看
- 網格視圖
鼠標指針選擇節點以查看其屬性窗口。
此屬性窗口包含兩個taps:
-
屬性選項卡 - 它顯示了節點或關系的屬性詳細信息。
-
樣式選項卡(Eye Symbol): - 它顯示節點或關系的字體或大小選擇。
ID屬性
“Id”是節點和關系的默認內部屬性。 這意味著,當我們創建一個新的節點或關系時,Neo4j數據庫服務器將為內部使用分配一個數字。 它會自動遞增。
Node id的值是遞增的,並且賦值為1
- 節點的Id屬性的最大值約為35億。
- Id的最大值關系的屬性的大約35億。
Caption標題
在Neo4j數據中,當我們在Neo4j DATA瀏覽器中執行MATCH + RETURN命令以查看UI視圖中的數據時,通過使用它們的Id屬性顯示節點和/或關系結果。 它被稱為“CAPTION”的id屬性。
我們可以通過使用它的其他屬性值來更改節點或關系的CAPTION。
更改節點或Neo4j數據瀏覽器UI視圖中的關系的“CAPTION”。
方向關系
在Neo4j中,兩個節點之間的關系是有方向性的。 它們是單向或雙向的。
CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)
使用一個箭頭標記:() - []→()。 它表示從左側節點到右側節點的方向。
關於neo4j初入門(2)