Cypher語法關(guān)鍵字(三)DELETE,REMOVE,ORDER BY,LIMIT,SKIP

DELETE

? DELETE語句用于刪除圖元素--節(jié)點(diǎn),關(guān)系或路徑。

// 刪除單個(gè)節(jié)點(diǎn)
MATCH (n:Useless) DELETE n

// 刪除關(guān)系
MATCH (root { name: 'root' })-[r]-(A { name: 'A' }) DELETE r

// 刪除路徑
match p=(d { name: 'Node D' })--(e { name: 'Node e' }) delete p

// 刪除一個(gè)節(jié)點(diǎn)及其所有的關(guān)系
MATCH (n { name: 'root' }) DETACH DELETE n

// 刪除所有節(jié)點(diǎn)和關(guān)系
MATCH (n) DETACH DELETE n

REMOVE

? REMOVE語句用于刪除圖元素的屬性和標(biāo)簽。對(duì)于刪除節(jié)點(diǎn)和關(guān)系,參見DELETE小節(jié).

// 刪除一個(gè)屬性:Neo4j不允許屬性存儲(chǔ)空值null。如果屬性的值不存在,那么節(jié)點(diǎn)或者關(guān)系中的屬性將被刪除。這也可以通過REMOVE來刪除。
MATCH (p {name: 'Michael Douglas'}) REMOVE p.bornIn RETURN p

// 刪除標(biāo)簽
MATCH (n:German { name: 'Peter' }) REMOVE n:German RETURN n

// 刪除節(jié)點(diǎn)的多個(gè)標(biāo)簽 
MATCH (n { name: 'Peter' }) REMOVE n:German:Swedish RETURN n

ORDER BY

? ORDER BY是緊跟RETURN或者WITH的子句,它指定了輸出的結(jié)果應(yīng)該如何排序。

// 根據(jù)屬性對(duì)節(jié)點(diǎn)進(jìn)行排序
MATCH (n) RETURN n.name ORDER BY n.name

// 根據(jù)多個(gè)屬性對(duì)節(jié)點(diǎn)進(jìn)行排序
MATCH (n) RETURN n.born, n.name ORDER BY n.born, n.name

// 節(jié)點(diǎn)降序排序:在排序的變量后面添加DESC,Cypher將以逆序(即降序)對(duì)輸出進(jìn)行排序。
MATCH (n) RETURN n ORDER BY n.name DESC

// 空值的排序:當(dāng)結(jié)果集中包含null值時(shí),對(duì)于升序排列,null總是在結(jié)果集的末尾。而對(duì)于降序排序,null值總是排在最前面。
MATCH (n) RETURN n.title, n ORDER BY n.title

LIMIT

? LIMIT限制輸出的行數(shù)。

// 返回開始部分
MATCH (n) RETURN n ORDER BY n.name LIMIT 3

SKIP

? SKIP定義了從哪行開始返回結(jié)果。

// 跳過前三
MATCH (n) RETURN n ORDER BY n.name SKIP 3

// 返回中間兩個(gè)
MATCH (n) RETURN n ORDER BY n.name SKIP 1 LIMIT 2

// 跳過表達(dá)式的值加1
MATCH (n) RETURN n ORDER BY n.name SKIP toInt(3*rand())+ 1
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容