CypherのWHERE句評価の怪
こんなの絶対おかしいよ
ノードに新規にプロパティをセットする。
START n = node(・・・) MATCH ・・・ SET delete_flag = true RETURN n;
こうするとMATCH句に合致するノードに対してdelete_flagというプロパティをtrueで追加してくれる。
で、その後に
START n = node(・・・) WHERE n.delete_flag? = false RETURN n;
というCypherクエリを発行すると、delete_flagが存在しないノードを返却する(falseのものを返却するというより、delete_flagのプロパティを持っていないノードを返却しているのかも)。
しかーし、
START n = node(・・・) WHERE n.delete_flag? = ture RETURN n;
と指定すると全件返却されるのはなんでだよっ!flaseの指定と排他する結果が返却されるべきじゃないのか?
なんかおかしくないか?
※動作環境は、Neo4j-1.9-M5