1. 程式人生 > >關於neo4j初入門(2)

關於neo4j初入門(2)

結果 esc 添加 刪除節點 comm 瀏覽器 rom 關於 標記

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)