天天看點

Neo4j-Cypher查詢語言-操作符

Cypher的操作符有三類:數學、等式和關系 數學操作符:+,-,*,/和%。其中隻有+能作用在字元串和集合上 等式操作符:=,<>,<,>,<=,>=    因為Neo4j是一種模式自由的圖資料庫,Cypher還有2個特殊的操作符?和! 他們是被用在屬性上面處理預設值,在一個不存在的屬性上進行比較,一般會報錯。一般在對屬性值做比較前需要先判斷這個屬性是否存在,而在使用?的情況下,如果屬性缺失,比較總是傳回true,相反,使用!,比較總是傳回false   例如: WHERE n.prop? = "foo" 此斷言類似oracle的文法實作為:WHERE n.prop is null or n.prop = "foo" 它在屬性n.prop缺失下傳回true   WHERE n.prop! = "foo" 此斷言類似oracle的文法實作為:WHERE n.prop is not null and n.prop = "foo" 它在屬性n.prop缺失下傳回false   警告:在同一個比較子句中同時使用?和!會帶來不可預測的結果