Cypher MATCHでパターンを照合する
MATCH句を使って、グラフデータ内の特定のノードとリレーションシップのパターンを見つける方法を習得します。
「Cypher MATCHでパターンを照合する」はCoddyKit上の無料Neo4j Graph Database Fundamentalsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNeo4j Graph Database Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Neo4j Graph Database Fundamentalsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Discovering Data with MATCH
Welcome to the core of graph querying! The MATCH clause in Cypher is how you find specific patterns of data in your Neo4j graph.
Think of it like drawing the shape of the data you want to find. You describe nodes, relationships, and their properties, and Neo4j finds all instances that fit your description.
Finding Any Node
The simplest MATCH query finds any node in your graph. You represent a node using parentheses ().
Adding a variable inside, like (n), lets you refer to that node later, for example, to return its properties. We'll use LIMIT to show just a few results.
MATCH (n)
RETURN n LIMIT 3Matching Nodes by Label
Graphs often have different types of nodes. In Cypher, these types are called labels. You can specify a label to find only nodes of a particular type.
Labels are placed after the node variable, separated by a colon: (variable:Label).
MATCH (p:Person)
RETURN p.name LIMIT 3Matching Nodes by Property
Nodes also have properties, which are key-value pairs describing them. You can filter nodes based on these properties directly within your MATCH clause.
Properties are placed inside curly braces {} after the label (or variable if no label): (node:Label {key: 'value'}).
MATCH (m:Movie {title: 'The Matrix'})
RETURN m.releaseYearIntroducing Relationships
Relationships define how nodes are connected. In MATCH, you represent a relationship using dashes and angle brackets: -- for undirected, --> for directed, and <-- for reverse directed.
You can also assign a variable to the relationship, like -[r]-, to work with it.
MATCH (a)-[r]->(b)
RETURN a.name, TYPE(r), b.title LIMIT 3Matching Relationships by Type
Just like nodes have labels, relationships have types. Specifying a relationship type helps you find specific kinds of connections between nodes.
The type is placed after the relationship variable, separated by a colon: -[r:TYPE]->.
MATCH (p:Person)-[:ACTED_IN]->(m:Movie)
RETURN p.name, m.title LIMIT 3Matching with Direction
Relationships are directional! The arrows in your MATCH pattern indicate the flow. If you omit arrows (e.g., (a)-[r]-(b)), the match will be undirected, finding connections regardless of their stored direction.
It's generally best practice to specify direction when you know it.
MATCH (director:Person)<-[:DIRECTED]-(movie:Movie)
RETURN director.name, movie.title LIMIT 3Combining Node & Relationship Patterns
The real power of MATCH comes from combining nodes and relationships to describe complex patterns in your graph. You can chain multiple nodes and relationships together.
This allows you to find paths, connections through intermediate nodes, and more.
MATCH (p:Person {name: 'Tom Hanks'})-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person)
RETURN p.name, m.title, d.nameFinding Optional Connections
Sometimes, a part of your pattern might not always exist. OPTIONAL MATCH tries to find the pattern, but if it doesn't, the unmatched parts will be null instead of failing the whole query.
This is useful when you want to see existing connections while still returning the main node even if a specific connection is missing.
MATCH (p:Person {name: 'Keanu Reeves'})
OPTIONAL MATCH (p)-[r]->(m:Movie)
RETURN p.name, TYPE(r), m.titleMatch Clause Challenge
Which Cypher MATCH clause correctly finds all movies directed by 'Quentin Tarantino'?
Recap: Mastering MATCH
Great job! You've learned the fundamental skill of finding patterns in your graph using the MATCH clause.
- Use
()for nodes,--for relationships. - Specify labels (
:Label) for node types and types (:TYPE) for relationships. - Filter by properties using
{}. - Arrows (
-->,<--) define relationship direction. OPTIONAL MATCHhelps find patterns that might not always exist without breaking the query.
Next, we'll explore how to refine your matched data using WHERE and ORDER BY!
AI チューターと学ぶ Neo4j Graph Database Fundamentals — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 12
- レッスン
- 48
よくある質問
「Cypher MATCHでパターンを照合する」レッスンは無料ですか?
はい。「Cypher MATCHでパターンを照合する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Neo4j Graph Database Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Neo4j Graph Database Fundamentalsコースには全4レッスンが含まれています。
「Cypher MATCHでパターンを照合する」で何を学びますか?
MATCH句を使って、グラフデータ内の特定のノードとリレーションシップのパターンを見つける方法を習得します。 ブラウザで直接実行するハンズオンコードでNeo4j Graph Database Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Neo4j Graph Database Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNeo4j Graph Database Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Cypher MATCHでパターンを照合する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNeo4j Graph Database Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのNeo4j Graph Database Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ノード、リレーションシップ、プロパティ
- Cypher CREATEでデータを作成する
- Cypher MATCHでパターンを照合する
- RETURNによる結果の返却と整形