![Neoj Cypher查詢語言詳解_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/411e364f-54ff-4c31-9341-5902ddcdcc20/411e364f-54ff-4c31-9341-5902ddcdcc201.gif)
![Neoj Cypher查詢語言詳解_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/411e364f-54ff-4c31-9341-5902ddcdcc20/411e364f-54ff-4c31-9341-5902ddcdcc202.gif)
![Neoj Cypher查詢語言詳解_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/411e364f-54ff-4c31-9341-5902ddcdcc20/411e364f-54ff-4c31-9341-5902ddcdcc203.gif)
![Neoj Cypher查詢語言詳解_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/411e364f-54ff-4c31-9341-5902ddcdcc20/411e364f-54ff-4c31-9341-5902ddcdcc204.gif)
![Neoj Cypher查詢語言詳解_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/411e364f-54ff-4c31-9341-5902ddcdcc20/411e364f-54ff-4c31-9341-5902ddcdcc205.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Neo4j Cypher查詢語言詳解 Cypher介紹“Cypher”是一個描述性的圖形查詢語言,允許不必編寫圖形結構的遍歷代碼對圖形存儲有表現(xiàn)力和效率的查詢。Cypher還在繼續(xù)發(fā)展和成熟,這也就意味著有可能會出現(xiàn)語法的變化。同時也意味著作為組件沒有經(jīng)歷嚴格的性能測試。Cypher設計的目的是一個人類查詢語言,適合于開發(fā)者和在數(shù)據(jù)庫上做點對點模式(ad-hoc)查詢的專業(yè)操作人員(我認為這個很重要)。它的構念是基于英語單詞和靈巧的圖解。Cyper通過一系列不同的方法和建立于確定的實踐為表達查詢而激發(fā)的。許多關鍵字如like和order by是受SQL的啟發(fā)。模式匹配的表達式來自于S
2、PARQL。正則表達式匹配實現(xiàn)實用Scala programming language語言。Cypher是一個申明式的語言。對比命令式語言如Java和腳本語言如Gremlin和JRuby,它的焦點在于從圖中如何找回(what to retrieve),而不是怎么去做。這使得在不對用戶公布的實現(xiàn)細節(jié)里關心的是怎么優(yōu)化查詢。這個查詢語言包含以下幾個明顯的部分:§ START:在圖中的開始點,通過元素的ID或所以查找獲得。§ MATCH:圖形的匹配模式,束縛于開始點。§ WHERE:過濾條件。§ RETURN:返回所需要的。在下例中看三個關鍵字示例圖片如下:如
3、:這個有個查詢,通過遍歷圖找到索引里一個叫John的朋友的朋友(不是他的直接朋友),返回John和找到的朋友的朋友。START john=node:node_auto_index(name = 'John')MATCH john-:friend->()-:friend->fofRETURN john, fof返回結果:下一步添加過濾:在下一個例子中,列出一組用戶的id并遍歷圖查找這些用戶接出friend關系線,返回有屬性name并且其值是以S開始的用戶。START user=node(5,4,1,2,3)MATCH user-:friend->follower
4、WHERE = /S.*/RETURN user, 返回結果:操作符Cypher中的操作符有三個不同種類:數(shù)學,相等和關系。數(shù)學操作符有+,-,*,/和%。當然只有+對字符有作用。等于操作符有=,<>,<,>,<=,>=。因為Neo4j是一個模式少的圖形數(shù)據(jù)庫,Cypher有兩個特殊的操作符?和!。有些是用在屬性上,有些事用于處理缺少值。對于一個不存在的屬性做比較會導致錯誤。為替代與其他什么做比較時總是檢查屬性是否存在,在缺失屬性時問號將使得比較總是返回true,感嘆號使得比較總是返回false。WHER
5、Ep? = "foo"這個斷言在屬性缺失情況下將評估為true。WHEREp! = "foo"這個斷言在屬性缺失情況下將評估為false。警告:在同一個比較中混合使用兩個符號將導致不可預料的結果。參數(shù)Cypher支持帶參數(shù)的查詢。這允許開發(fā)者不需要必須構建一個string的查詢,并且使得Cypher的查詢計劃的緩存更容易。參數(shù)可以在where子句,start子句的索引key或索引值,索引查詢中作為節(jié)點/關系id的引用。以下是幾個在java中使用參數(shù)的示例:節(jié)點id參數(shù)Map<String, Object> params =
6、 new HashMap<String, Object>();params.put( "id", 0 );ExecutionResult result = engine.execute( "start n=node(id) return ", params );節(jié)點對象參數(shù)Map<String, Object> params = new HashMap<String, Object>();params.put( "node", andreasNode );ExecutionResult
7、result = engine.execute( "start n=node(node) return ", params );多節(jié)點id參數(shù)Map<String, Object> params = new HashMap<String, Object>();params.put( "id", Arrays.asList( 0, 1, 2 ) );ExecutionResult result = engine.execute( "start n=node(id) return ", pa
8、rams );字符串參數(shù)Map<String, Object> params = new HashMap<String, Object>();params.put( "name", "Johan" );ExecutionResult result = engine.execute( "start n=node(0,1,2) where = name return n", params );索引鍵值參數(shù)Map<String, Object> params = new HashMap<
9、;String, Object>();params.put( "key", "name" );params.put( "value", "Michaela" );ExecutionResult result = engine.execute( "start n=node:people(key = value) return n", params );索引查詢參數(shù)Map<String, Object> params = new HashMap<String, Object&
10、gt;();params.put( "query", "name:Andreas" );ExecutionResult result = engine.execute( "start n=node:people(query) return n", params );§ SKIP 與LIMIT * 的數(shù)字參數(shù)Map<String, Object> params = new HashMap<String, Object>();params.put( "s", 1 );params.pu
11、t( "l", 1 );ExecutionResult result = engine.execute( "start n=node(0,1,2) return skip s limit l", params );§ 正則表達式參數(shù)Map<String, Object> params = new HashMap<String, Object>();params.put( "regex", ".*h.*" );ExecutionResult result = engin
12、e.execute( "start n=node(0,1,2) where = regex return ", params );標識符當你參考部分的模式時,需要通過命名完成。定義的不同的命名部分就被稱為標識符。如下例中:START n=node(1) MATCH n->b RETURN b標識符為n和b。標識符可以是大寫或小些,可以包含下劃線。當需要其他字符時可以使用符號。對于屬性名的規(guī)則也是一樣。注解可以在查詢語句中使用雙斜杠來添加注解。如:START n=node(1) RETURN b /這是行結束注釋START n=node(1)
13、RETURN bSTART n=node(1) WHERE perty = "/這部是一個注釋" RETURN bStart每一個查詢都是描述一個圖案(模式),在這個圖案(模式)中可以有多個限制點。一個限制點是為模式匹配的從開始點出發(fā)的一條關系或一個節(jié)點。可以通過id或索引查詢綁定點。通過id綁定點通過node(*)函數(shù)綁定一個節(jié)點作為開始點查詢:START n=node(1)RETURN n返回引用的節(jié)點。結果:通過id綁定關系可以通過relationship()函數(shù)綁定一個關系作為開始點。也可以通過縮寫rel()。查詢:START r=relationship
14、(0)RETURN rId為0的關系將被返回結果:通過id綁定多個節(jié)點選擇多個節(jié)點可以通過逗號分開。查詢:START n=node(1, 2, 3)RETURN n結果:所有節(jié)點得到所有節(jié)點可以通過星號(*),同樣對于關系也適用。查詢:START n=node(*)RETURN n這個查詢將返回圖中所有節(jié)點。結果:通過索引查詢獲取節(jié)點如果開始節(jié)點可以通過索引查詢得到,可以如此來寫:node:index-name(key=”value”)。在此列子中存在一個節(jié)點索引叫nodes。查詢:START n=node:nodes(name = "A")RETURN n索引中命名為A的
15、節(jié)點將被返回。結果:通過索引查詢獲取關系如果開始點可以通過索引查詢得到,可以如此做:Relationship:index-name(key=”value”)。查詢:START r=relationship:rels(property ="some_value")RETURN r索引中屬性名為”some_value”的關系將被返回。結果:多個開始點有時需要綁定多個開始點。只需要列出并以逗號分隔開。查詢:START a=node(1), b=node(2)RETURN a,bA和B兩個節(jié)點都將被返回。結果:Match在一個查詢的匹配(match)部分申明圖形(模式)。模式的申明
16、導致一個或多個以逗號隔開的路徑(path)。節(jié)點標識符可以使用或者不是用圓括號。使用圓括號與不使用圓括號完全對等,如:MATCH(a)->(b) 與 MATCH a->b 匹配模式完全相同。模式的所有部分都直接或者間接地綁定到開始點上??蛇x關系是一個可選描述模式的方法,但在真正圖中可能沒有匹配(節(jié)點可能沒有或者沒有此類關系時),將被估值為null。與SQL中的外聯(lián)結類似,如果Cypher發(fā)現(xiàn)一個或者多個匹配,將會全部返回。如果沒有匹配,Cypher將返回null。如以下例子,b和p都是可選的病都可能包含null:START a=node(1) MATCH p = a-?->b
17、START a=node(1) MATCH p = a-*?->bSTART a=node(1) MATCH p = a-?->x->bSTART a=node(1), x=node(100) MATCH p = shortestPath( a-*?->x )相關節(jié)點符號意味著相關性,不需要關心方向和類型。查詢:START n=node(3)MATCH (n)-(x)RETURN x所有與A相關節(jié)點都被返回。結果:接出關系(Outgong relationship)當對關系的方向感興趣時,可以使用->或<-符號,如:查詢:START n=node(3)MAT
18、CH (n)->(x)RETURN x所有A的接出關系到達的節(jié)點將被返回.結果:定向關系和標識符如果需要關系的標識符,為了過濾關系的屬性或為了返回關系,可如下例使用標識符。查詢:START n=node(3)MATCH (n)-r->()RETURN r所有從節(jié)點A接出的關系將被返回。結果:通過關系類型匹配當已知關系類型并想通過關系類型匹配時,可以通過冒號詳細描述。查詢:START n=node(3)MATCH (n)-:BLOCKS->(x)RETURN x返回A接出關系類型為BLOCKS的節(jié)點。結果:通過關系類型匹配和使用標識符如果既想獲得關系又要通過已知的關系類型,那就
19、都添加上,如:查詢:START n=node(3)MATCH (n)-r:BLOCKS->()RETURN r所有從A接出的關系為BLOCKS的關系都被返回。結果:帶有特殊字符的關系類型有時候數(shù)據(jù)庫中有非字母字符類型,或有空格在內時,使用單引號。查詢:START n=node(3)MATCH (n)-r:TYPE WITH SPACE IN IT->()RETURN r返回類型有空格的關系。結果:多重關系關系可以通過使用在()()多個語句來表達,或可以串在一起。如下:查詢:START a=node(3)MATCH (a)-:KNOWS->(b)-:KNOWS->(c)R
20、ETURN a,b,c路徑中的三個節(jié)點。結果:可變長度的關系可變數(shù)量的關系->節(jié)點可以使用-:TYPE*minHops.maxHops->。查詢:START a=node(3), x=node(2, 4)MATCH a-:KNOWS*1.3->xRETURN a,x如果在1到3的關系中存在路徑,將返回開始點和結束點。結果:在可變長度關系的關系標識符當連接兩個節(jié)點的長度是可變的不確定的時,可以使用一個關系標識符遍歷所有關系。查詢:START a=node(3), x=node(2, 4)MATCH a-r:KNOWS*1.3->xRETURN r如果在1到3的關系中存在路
21、徑,將返回開始點和結束點。結果:零長度路徑當使用可變長度路徑,可能其路徑長度為0,這也就是說兩個標識符指向的為同一個節(jié)點。如果兩點間的距離為0,可以確定這是同一個節(jié)點。查詢:START a=node(3)MATCH p1=a-:KNOWS*0.1->b, p2=b-:BLOCKS*0.1->cRETURN a,b,c, length(p1), length(p2)這個查詢將返回四個路徑,其中有些路徑長度為0.結果:可選關系如果關系為可選的,可以使用問號表示。與SQL的外連接類似。如果關系存在,將被返回。如果不存在在其位置將以null代替。查詢:START a=node(2)MATC
22、H a-?->xRETURN a,x返回一個節(jié)點和一個null,因為這個節(jié)點沒有關系。結果:可選類型和命名關系通過一個正常的關系,可以決定哪個標識符可以進入,那些關系類型是需要的。查詢:START a=node(3)MATCH a-r?:LOVES->()RETURN a,r返回一個節(jié)點和一個null,因為這個節(jié)點沒有關系。結果:可選元素的屬性返回可選元素上的屬性,null值將返回null。查詢:START a=node(2)MATCH a-?->xRETURN x, 元素x在查詢中為null,所有其屬性name為null。結果:復雜匹配在Cypher中,可喲通過
23、更多復雜模式來匹配,像一個鉆石形狀模式。查詢:START a=node(3)MATCH (a)-:KNOWS->(b)-:KNOWS->(c),(a)-:BLOCKS-(d)-:KNOWS-(c)RETURN a,b,c,d路徑中的四個節(jié)點。結果:最短路徑使用shortestPath函數(shù)可以找出一條兩個節(jié)點間的最短路徑,如下。查詢:START d=node(1), e=node(2)MATCH p = shortestPath( d-*.15->e )RETURN p這意味著:找出兩點間的一條最短路徑,最大關系長度為15.圓括號內是一個簡單的路徑連接,開始節(jié)點,連接關系和結束
24、節(jié)點。關系的字符描述像關系類型,最大數(shù)和方向在尋找最短路徑中都將被用到。也可以標識路徑為可選。結果:所有最但路徑找出兩節(jié)點節(jié)點所有的最短路徑。查詢:START d=node(1), e=node(2)MATCH p = allShortestPaths( d-*.15->e )RETURN p這將在節(jié)點d與e中找到兩條有方向的路徑。結果:命名路徑如果想在模式圖上的路徑進行過濾或者返回此路徑,可以使用命名路徑(named path)。查詢:START a=node(3)MATCH p = a->bRETURN p開始節(jié)點的兩個路徑。結果:在綁定關系上的匹配當模式中包含一個綁定關系時,
25、此關系模式?jīng)]有明確的方向,Cypher將嘗試著切換連接節(jié)點的邊匹配關系。查詢:START a=node(3), b=node(2)MATCH a-?:KNOWS-x-?:KNOWS-bRETURN x將返回兩個連接節(jié)點,一次為開始節(jié)點,一次為結束節(jié)點。結果:Where如果需要從查找的數(shù)據(jù)的圖中過濾,可以在查詢語句中添加where子句。圖:Boolean 操作類型可以使用boolean操作符and 和 or 或者也可以使用not()函數(shù)。查詢:START n=node(3, 1)WHERE (n.age < 30 and = "Tobias") ornot
26、( = "Tobias")RETURN n返回節(jié)點。結果:節(jié)點屬性上的過濾查詢:START n=node(3, 1)WHERE n.age < 30RETURN n結果:正則表達式可以通過使用= /regexp/來匹配正在表達式。如下:查詢:START n=node(3, 1)WHERE = /Tob.*/RETURN n返回名叫Tobias的節(jié)點。結果:轉義正則表達式如果在正則表達式中需要有斜杠時可以通過轉義實現(xiàn)。查詢:START n=node(3, 1)WHERE = /Some/thing/RETURN n沒有匹配的節(jié)點返
27、回。結果:不分大小些正則表達式在正則表達式前加上?i,整個正則表達式將會忽略大小寫。查詢:START n=node(3, 1)WHERE = /(?i)ANDR.*/RETURN n屬性name為Andres的節(jié)點將返回結果:關系類型上的過濾可以match模式中通過添加具體的關系類型,但有時需要針對類型的更加高級的過濾??梢允褂妹鞔_的type屬性來對比,查詢對關系類型名作一個正則比較。查詢:START n=node(3)MATCH (n)-r->()WHERE type(r) = /K.*/RETURN r關系整個以K開始的類型名都將返回。結果:屬性存在性查詢:START
28、n=node(3, 1)WHERE n.beltRETURN n結果:如果缺失屬性默認為true僅當屬性存在時,比較一個圖的元素的此屬性,使用允許空屬性的語法。查詢:START n=node(3, 1)WHERE n.belt? = 'white'RETURN n所有節(jié)點即使沒有belt屬性的 都將返回。此類比較返回為true。結果:如果缺失屬性默認為false需要在缺失屬性時為false,即不想返回此屬性不存在的節(jié)點時。使用感嘆號。查詢:START n=node(3, 1)WHERE n.belt! = 'white'RETURN n結果:空置null過濾有時
29、候需要測試值或者標識符是否為null。與sql類似使用 is null 或 not(is null x)也能起作用。查詢:START a=node(1), b=node(3, 2)MATCH a<-r?-bWHERE r is nullRETURN bTobias節(jié)點沒有鏈接上。結果:關系過濾為過濾兩點間基于關系的子圖,在match子句中使用限制部分??梢悦枋鰩Х较虻年P系和可能的類型。這些都是有效的表達:WHERE a-b WHERE a-b WHERE a:KNOWS-bWHERE a-:KNOWS-b查詢:START a=node(1), b=node(3, 2)WHERE a<
30、;-bRETURN bTobias節(jié)點沒有鏈接結果:neo4j 綜合目錄1. 返回節(jié)點2. 返回關系3. 返回屬性4. 帶特殊字符的標識符5. 列的別名6. 可選屬性7. 特別的結果 查詢中的返回部分,返回途中定義的感興趣的部分??梢詾楣?jié)點、關系或其上的屬性。圖返回節(jié)點返回一個節(jié)點,在返回語句中列出即可。查詢:START n=node(2)RETURN n 結果:返回關系查詢:START n=node(1)MATCH (n)-r:KNOWS->(c)RETURN r結果:返回屬性查詢:START n=node(1)RETURN 結果:帶特殊字符的標識符使用
31、不在英語字符表中的字符,可以使用單引號。查詢:START This isn't a commonidentifier=node(1)RETURN This isn't a commonidentifier.<<!_?>>結果:列的別名可以給展示出來的列名起別名。查詢:START a=node(1)RETURN a.age AS SomethingTotallyDifferent 返回節(jié)點的age屬性,但重命名列名。結果:可選屬性屬性在節(jié)點上可能存在也可能不存在,可以使用問號來標識標識符即可。查詢:START n=node(1
32、, 2)RETURN n.age?如果存在age屬性,則返回,不存在則返回null。結果:特別的結果DISTINCT 僅檢索特別的行,基于選擇輸出的列。查詢:START a=node(1)MATCH (a)->(b)RETURN distinct b返回name為B的節(jié)點,但僅為一次。結果:neo4j 聚合函數(shù)目錄1. 聚合Aggregation1. 計數(shù)2. 計算節(jié)點數(shù)3. 分組計算關系類型4. 計算實體數(shù)5. 計算非空可以值數(shù)6. 求和sum7. 平均值avg8. 最大值max9. 最小值min10. 聚類COLLECT11. 相異DISTINCT聚合(Aggregatio
33、n)為集合計算數(shù)據(jù),Cypher提供聚類功能,與SQL的group by類似。在return語句中發(fā)現(xiàn)的任何聚類函數(shù),所有沒有聚類函數(shù)的列將作為聚合key使用。圖:計數(shù)計數(shù)(count)使用來計算行數(shù)。Count有兩種使用方法。Count(*)計算匹配的行的行數(shù),count(<標識符>)計算標識符中非空值數(shù)。計算節(jié)點數(shù)計算鏈接到一個節(jié)點的節(jié)點數(shù),可以使用count(*)。查詢:START n=node(2)MATCH (n)->(x)RETURN n, count(*) 返回開始節(jié)點和相關節(jié)點節(jié)點數(shù)。結果:分組計算關系類型計算分組了得關系類型,返回關系類型并使用co
34、unt(*)計算。查詢:START n=node(2)MATCH (n)-r->()RETURN type(r), count(*) 返回關系類型和其分組數(shù)。結果:計算實體數(shù)相比使用count(*),可能計算標識符更實在。查詢:START n=node(2)MATCH (n)->(x)RETURN count(x) 返回鏈接到開始節(jié)點上的節(jié)點數(shù)結果:計算非空可以值數(shù)查詢:START n=node(2,3,4,1)RETURN count(perty?) 結果:求和(sum)Sum集合簡單計算數(shù)值類型的值。Null值將自動去掉。如下:查詢:ST
35、ART n=node(2,3,4)RETURN sum(perty) 計算所有節(jié)點屬性值之和。結果:平均值(avg)Avg計算數(shù)量列的平均值查詢:START n=node(2,3,4)RETURN avg(perty) 結果:最大值(max)Max查找數(shù)字列中的最大值。查詢:START n=node(2,3,4)RETURN max(perty) 結果:最小值(min)Min使用數(shù)字屬性作為輸入,并返回在列中最小的值。查詢:START n=node(2,3,4)RETURN min(perty) 結果:聚類(COL
36、LECT)Collect將所有值收集到一個集合list中。查詢:START n=node(2,3,4)RETURN collect(perty) 返回一個帶有所有屬性值的簡單列。結果:相異(DISTINCT)聚合函數(shù)中使用distinct來去掉值中重復的數(shù)據(jù)。查詢:START a=node(2)MATCH a->bRETURN count(distinct b.eyes) 結果:neo4j 高級篇目錄1. 排序Order by1. 通過節(jié)點屬性排序節(jié)點2. 通過多節(jié)點屬性排序節(jié)點3. 倒序排列節(jié)點4. 空值排序2. Skip1. 跳過前三個2. 返回中間兩個
37、3. Limit1. 返回第一部分4. 函數(shù)Functions1. 判斷2. All3. Any4. None5. Single6. Scalar函數(shù)7. Length8. Type9. Id10. Coalesce11. Iterable函數(shù)12. Nodes13. Relationships14. Extract排序(Order by)輸出結果排序可以使用order by 子句。注意,不能使用節(jié)點或者關系排序,僅僅只針對其屬性有效。圖:通過節(jié)點屬性排序節(jié)點查詢:START n=node(3,1,2)RETURN nORDER BY 結果:通過多節(jié)點屬性排序節(jié)點在or
38、der by子句中可以通過多個屬性來排序每個標識符。Cypher首先將通過第一個標識符排序,如果第一個標識符或屬性相等,則在order by中檢查下一個屬性,依次類推。查詢:START n=node(3,1,2)RETURN nORDER BY n.age, 首先通過age排序,然后再通過name排序。結果:倒序排列節(jié)點可以在標識符后添加desc或asc來進行倒序排列或順序排列。查詢:START n=node(3,1,2)RETURN nORDER BY DESC 結果:空值排序當排列結果集時,在順序排列中null將永遠放在最后,而在倒序排列中放
39、最前面。查詢:START n=node(3,1,2)RETURN n.length?, nORDER BY n.length? 結果:SkipSkip允許返回總結果集中的一個子集。此不保證排序,除非使用了order by子句。 圖:跳過前三個返回結果中一個子集,從第三個結果開始,語法如下:查詢:START n=node(3, 4, 5, 1, 2)RETURN nORDER BY SKIP 3 前三個節(jié)點將略過,最后兩個節(jié)點將被返回。結果:返回中間兩個查詢:START n=node(3, 4, 5, 1, 2)RETURN nORDER BY SKI
40、P 1LIMIT 2 中間兩個節(jié)點將被返回。結果:LimitLimit允許返回結果集中的一個子集。圖:返回第一部分查詢:START n=node(3, 4, 5, 1, 2)RETURN nLIMIT 3 結果:函數(shù)(Functions)在Cypher中有一組函數(shù),可分為三類不同類型:判斷、標量函數(shù)和聚類函數(shù)。圖:判斷判斷為boolean函數(shù),對給出的輸入集合做判斷并返回true或者false。常用在where子句中過濾子集。All迭代測試集合中所有元素的判斷。語法:All(標識符 in iterable where 判斷)參數(shù):Ø iterable
41、:一個集合屬性,或者可迭代的元素,或一個迭代函數(shù)。Ø 標識符:可用于判斷比較的標識符。Ø 判斷:一個測試所有迭代器中元素的判斷。查詢:START a=node(3), b=node(1)MATCH p=a-*1.3->bWHERE all(x in nodes(p) WHERE x.age > 30)RETURN p過濾包含age30的節(jié)點的路徑,返回符合條件路徑中所有節(jié)點。結果:Any語法:ANY(identifierin iterable WHERE predicate)參數(shù):Ø Iterable(迭代器):一個
42、集合屬性,或者可迭代的元素,或一個迭代函數(shù)。Ø Identifier(標識符):可用于判斷比較的標識符。Ø Predicate(判斷):一個測試所有迭代器中元素的判斷。查詢:START a=node(2)WHERE any(x in a.array WHERE x = "one")RETURN a結果:None在迭代器中沒有元素判斷將返回true。語法:NONE(identifierin iterable WHERE predicate)Ø Iterable(迭代器):一個集合屬性,或者可迭代的元素,或一個迭
43、代函數(shù)。Ø Identifier(標識符):可用于判斷比較的標識符。Ø Predicate(判斷):一個測試所有迭代器中元素的判斷。查詢:START n=node(3)MATCH p=n-*1.3->bWHERE NONE(x in nodes(p) WHERE x.age = 25)RETURN p 結果:Single如果迭代器中僅有一個元素則返回true。語法:SINGLE(identifierin iterable WHERE predicate)參數(shù):Ø Iterable(迭代器):一個集合屬性,或者可迭代的元素,或一個迭代函數(shù)。Ø Identifier(標識符):可用于判斷比較的標識符。Ø Predicate(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 年級組長申請書
- SoftServe+2024醫(yī)療行業(yè)勞動力危機應對策略:人工智能解決方案的前沿探索Tackling+Healthcares+Labor+Crisis+with+AI+Solutions
- 教室借用申請書
- 2024年高考歷史二輪復習“12+2+3”專項練第34題專練-20世紀前期現(xiàn)代化經(jīng)濟模式的探索
- 2024-2025學年高中歷史第二單元資本主義世界市場的形成和發(fā)展單元整合教學案新人教版必修2
- 藥店籌建申請書
- 戶口合并申請書范文
- 物業(yè)經(jīng)理轉正申請書
- 2025年度城市景觀照明系統(tǒng)安裝合同
- 電子競技產(chǎn)業(yè)的人才需求與培養(yǎng)模式研究
- 中國氫內燃機行業(yè)發(fā)展環(huán)境、市場運行格局及前景研究報告-智研咨詢(2024版)
- 開學季初三沖刺中考開學第一課為夢想加油課件
- 《自然保護區(qū)劃分》課件
- 2025年普通卷釘項目可行性研究報告
- 2025年人教版英語五年級下冊教學進度安排表
- 2025年建筑施工春節(jié)節(jié)后復工復產(chǎn)工作專項方案
- 學校食堂餐廳管理者食堂安全考試題附答案
- 2025延長石油(集團)限責任公司社會招聘高頻重點提升(共500題)附帶答案詳解
- 《商用車預見性巡航系統(tǒng)技術規(guī)范》
- 玻璃電動平移門施工方案
- 春季安全開學第一課
評論
0/150
提交評論