日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cypher查询语言--Neo4j-WHERE(三)

發(fā)布時(shí)間:2023/12/9 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cypher查询语言--Neo4j-WHERE(三) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • Where
  • Boolean 操作類型
  • 節(jié)點(diǎn)屬性上的過濾
  • 正則表達(dá)式
  • 轉(zhuǎn)義正則表達(dá)式
  • 不分大小些正則表達(dá)式
  • 關(guān)系類型上的過濾
  • 屬性存在性
  • 如果缺失屬性默認(rèn)為true
  • 如果缺失屬性默認(rèn)為false
  • 空置null過濾
  • 關(guān)系過濾
  • Where

    如果需要從查找的數(shù)據(jù)的圖中過濾,可以在查詢語句中添加where子句。

    圖:

    ?

    Boolean 操作類型

    可以使用boolean操作符and 和 or 或者也可以使用not()函數(shù)。

    查詢:

    START n=node(3, 1)

    WHERE (n.age < 30 and n.name = "Tobias") ornot(n.name = "Tobias")

    RETURN n

    返回節(jié)點(diǎn)。

    結(jié)果:

    ?

    節(jié)點(diǎn)屬性上的過濾

    查詢:

    START n=node(3, 1)

    WHERE n.age < 30

    RETURN n

    結(jié)果:

    ?

    正則表達(dá)式

    可以通過使用=~ /regexp/來匹配正在表達(dá)式。如下:

    查詢:

    START n=node(3, 1)

    WHERE n.name =~ /Tob.*/

    RETURN n

    返回名叫Tobias的節(jié)點(diǎn)。

    結(jié)果:

    ?

    轉(zhuǎn)義正則表達(dá)式

    如果在正則表達(dá)式中需要有斜杠時(shí)可以通過轉(zhuǎn)義實(shí)現(xiàn)。

    查詢:

    START n=node(3, 1)

    WHERE n.name =~ /Some\/thing/

    RETURN n

    沒有匹配的節(jié)點(diǎn)返回。

    結(jié)果:

    不分大小些正則表達(dá)式

    在正則表達(dá)式前加上?i,整個(gè)正則表達(dá)式將會(huì)忽略大小寫。

    查詢:

    START n=node(3, 1)

    WHERE n.name =~ /(?i)ANDR.*/

    RETURN n

    屬性name為Andres的節(jié)點(diǎn)將返回

    結(jié)果:

    ?

    關(guān)系類型上的過濾

    可以match模式中通過添加具體的關(guān)系類型,但有時(shí)需要針對類型的更加高級的過濾。可以使用明確的type屬性來對比,查詢對關(guān)系類型名作一個(gè)正則比較。

    查詢:

    START n=node(3)

    MATCH (n)-[r]->()

    WHERE type(r) =~ /K.*/

    RETURN r

    關(guān)系整個(gè)以K開始的類型名都將返回。

    結(jié)果:

    ?

    屬性存在性

    查詢:

    START n=node(3, 1)

    WHERE n.belt

    RETURN n

    結(jié)果:

    如果缺失屬性默認(rèn)為true

    僅當(dāng)屬性存在時(shí),比較一個(gè)圖的元素的此屬性,使用允許空屬性的語法。

    查詢:

    START n=node(3, 1)

    WHERE n.belt? = 'white'

    RETURN n

    所有節(jié)點(diǎn)即使沒有belt屬性的 都將返回。此類比較返回為true。

    結(jié)果:

    ?

    如果缺失屬性默認(rèn)為false

    需要在缺失屬性時(shí)為false,即不想返回此屬性不存在的節(jié)點(diǎn)時(shí)。使用感嘆號。

    查詢:

    START n=node(3, 1)

    WHERE n.belt! = 'white'

    RETURN n

    結(jié)果:

    ?

    空置null過濾

    有時(shí)候需要測試值或者標(biāo)識符是否為null。與sql類似使用 is null 或 not(is null x)也能起作用。

    查詢:

    START a=node(1), b=node(3, 2)

    MATCH a<-[r?]-b

    WHERE r is null

    RETURN b

    Tobias節(jié)點(diǎn)沒有鏈接上。

    結(jié)果:

    ?

    關(guān)系過濾

    為過濾兩點(diǎn)間基于關(guān)系的子圖,在match子句中使用限制部分。可以描述帶方向的關(guān)系和可能的類型。這些都是有效的表達(dá):WHERE a-→b WHERE a←-b WHERE a←[:KNOWS]-bWHERE a-[:KNOWS]-b

    查詢:

    START a=node(1), b=node(3, 2)

    WHERE a<--b

    RETURN b

    Tobias節(jié)點(diǎn)沒有鏈接

    結(jié)果:

    轉(zhuǎn)載于:https://www.cnblogs.com/divenswu/p/3441755.html

    總結(jié)

    以上是生活随笔為你收集整理的Cypher查询语言--Neo4j-WHERE(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。