Neo4j Graph Database Fundamentals · درس

مطابقة الأنماط باستخدام Cypher MATCH

أتقن عبارة MATCH للعثور على أنماط محددة من العُقد والعلاقات ضمن بيانات الرسم البياني

الدرس 3 من 411 خطوة

مطابقة الأنماط باستخدام Cypher MATCH درس مجاني في Neo4j Graph Database Fundamentals على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في 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 3

Matching 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 3

Matching 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.releaseYear

Introducing 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 3

Matching 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 3

Matching 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 3

Combining 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.name

Finding 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.title

Match 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 MATCH helps 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!

البدء مجانًا

تعلم Neo4j Graph Database Fundamentals مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
12
الدروس
48

الأسئلة الشائعة

هل درس «مطابقة الأنماط باستخدام Cypher MATCH» مجاني؟

نعم — نص درس «مطابقة الأنماط باستخدام Cypher MATCH» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Neo4j Graph Database Fundamentals، انتقل إلى CoddyKit PRO. تتضمن دورة Neo4j Graph Database Fundamentals 4 دروس في المجموع.

ماذا ستتعلم في «مطابقة الأنماط باستخدام Cypher MATCH»؟

أتقن عبارة MATCH للعثور على أنماط محددة من العُقد والعلاقات ضمن بيانات الرسم البياني تتمرن على Neo4j Graph Database Fundamentals مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Neo4j Graph Database Fundamentals؟

لا تُشترط خبرة سابقة. Neo4j Graph Database Fundamentals على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «مطابقة الأنماط باستخدام Cypher MATCH»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Neo4j Graph Database Fundamentals هذا؟

نعم. كل درس في Neo4j Graph Database Fundamentals يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. العُقد والعلاقات والخصائص
  2. إنشاء البيانات باستخدام Cypher CREATE
  3. مطابقة الأنماط باستخدام Cypher MATCH
  4. إرجاع النتائج وتشكيلها باستخدام RETURN
← العودة إلى Neo4j Graph Database Fundamentals