私はNeo4J 2.0のドキュメントでそのSTART
句はオプションであり、
Cypher はクエリから開始点を推測しようとします
私は実験的にそれを発見しました
START user = node(*)
MATCH (user:User)-[r:KNOWS]-(user2:User)
RETURN user.username AS username, collect(user2.username) AS username2
と同じ結果が得られます
MATCH (user:User)-[r:KNOWS]-(user2:User)
RETURN user.username AS username, collect(user2.username) AS username2
小さなデータセット用。
私の質問は: 意味的に同じですか? 彼らは常に同じ結果セットを返しますか (私は順序について話しているわけではありません)? 大規模なデータセットでも?スキップはSTART
すべてのノードをトラバースすることを保証しますか? それらが意味的に等しい場合、なぜ使用するのnode(*)
でしょうか?