本文へスキップ
BecomeCoder

Neo4jコース · 第3章 Cypher入門 · レッスン13

ノードを探す ― MATCH と RETURN

ブラウザで完結

導入

データを作ったら、次は探し出す番です。Cypherで最もよく使う組み合わせが MATCHRETURN です。

説明

MATCH (p:Person {name: 'Alice'})
RETURN p
  • MATCH (p:Person {name: 'Alice'}):Person ラベルを持ち、name プロパティが 'Alice' であるノードを探し、見つかったものを p という変数に入れる。
  • RETURN p … 見つかったノード p を結果として返す。

条件を複数つけたいときは、波括弧の中にカンマで並べます。

MATCH (m:Movie {title: 'The Matrix', released: 1999})
RETURN m

特定のプロパティだけを見たいときは、RETURN の後にドット記法で指定します。

MATCH (p:Person {name: 'Alice'})
RETURN p.name, p.born

MATCH は「一致するものをすべて探す」ため、条件に合うノードが複数あれば複数の結果が返ります。逆に条件に合うノードが1つもなければ、結果は0件(空)になります。この「パターンに一致するものを探す」という発想が、Cypherのあらゆるクエリの土台になります。

実際に動かしてみよう

下のエディタに Cypher を書いて「実行」を押すと、ブラウザ内の学習用グラフDBで結果が表示されます(本物のNeo4jではなく、教材の範囲を再現した軽量な自作エンジンです)。最初から「映画と俳優+小さなソーシャルグラフ」が入っているので、MATCH 系の例はそのまま結果が返ります。CREATE / MERGE / SET などで書き換えた状態は積み重なり、「グラフを初期状態に戻す」でいつでもサンプルに戻せます。

Cypher — ブラウザ内で実行(学習用グラフDB)

Cypherクエリを書いて実行できる学習用グラフDBを読み込みます(本物のNeo4jではなく、教材の範囲を再現した軽量な自作エンジンです。映画と俳優の小さなサンプルグラフが最初から入っています)。
スクロールして表示された時点でも自動で読み込まれます。