Cypherのnode()
素朴な疑問ではあるが・・・
CypherのSTART句に指定するnode()には、1つ以上のノードIDの指定または"*"指定が必要みたいなんだけど、以下の様な
n=node()
ノードIDの指定を行わない記述を許容してくれないのだろう・・・。現状のCypherだと、この場合には以下の様なエラーになってしまう(1.9RCの場合)。
neo4j-sh (?)$ START n=nodes() RETRUN n; ==> SyntaxException: expected either node or relationship here ==> "START n=nodes() RETRUN n"
意味的には0個のノードの集合を返却してくれても良さそうなのだが。
それに、インデクスを設定して、ヒットしないような値
n = node:noe_auto_index(key="hoge")
の場合はエラーにならず、0個のノードの集合を返却する。
つまりSTART句としては0個のノードの集合を基点として指定できるということだと思うけど、そう思うとなおさら n=node() の記述を許容していないのがなんか納得行かない・・・。
#単にCypherのSyntaxがそのあたりを考慮していないのかも。