0Pricing
Neo4j Graph Database Fundamentals · レッスン

ノード、リレーションシップ、プロパティ

グラフを構成する基本要素である、ノード(エンティティ)、リレーションシップ(接続)、それらを説明するプロパティ(属性)を理解します。

「ノード、リレーションシップ、プロパティ」はCoddyKit上の無料Neo4j Graph Database Fundamentalsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNeo4j Graph Database Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Neo4j Graph Database Fundamentalsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Graph Building Blocks

Welcome to Cypher Fundamentals! To query a graph database like Neo4j, you first need to understand its core components.

Think of graphs as powerful ways to model real-world connections. They are built from three main elements:

  • Nodes: Your entities or 'things'
  • Relationships: How those 'things' are connected
  • Properties: Descriptors for nodes and relationships

Nodes: The Nouns of Your Graph

Nodes are the fundamental entities in your graph. They represent real-world objects, people, places, or concepts.

For example, in a social network, 'Alice' or 'New York' would be nodes. In an e-commerce graph, 'Product A' or 'Customer B' would be nodes.

Nodes can have labels to categorize them, like 'Person' or 'City'.

Node Labels: Categorize Your Data

Labels classify nodes into groups. A node can have one or more labels. This helps you organize and query your graph efficiently.

For example, a node representing 'Alice' might have the label :Person. A node for 'Neo4j' might have the label :Database.

Let's create a simple node with a label:

CREATE (:Person {name: 'Alice'})

Properties: Descriptive Attributes

Properties are key-value pairs that describe nodes or relationships. They store specific details about an entity or connection.

For a :Person node, properties could be name: 'Alice', age: 30, or city: 'London'. For a :Product node, properties might be price: 19.99 or category: 'Electronics'.

Here's how to create a node with multiple properties:

CREATE (:Movie {
  title: 'Inception',
  releaseYear: 2010,
  genre: 'Sci-Fi'
})

Relationships: Connecting the Dots

Relationships define how nodes are connected to each other. They are the 'verbs' of your graph, showing interactions or associations.

Unlike relational tables where connections are implicit via foreign keys, graph relationships are explicit, first-class citizens.

Relationships always have a type and a direction.

Relationship Types: What's the Link?

Every relationship has a type, which describes the nature of the connection. For instance, 'FRIENDS_WITH', 'ACTED_IN', or 'OWNS'.

Relationship types are crucial for understanding and querying your graph. They help you specify exactly what kind of connection you're looking for.

Let's create two nodes and connect them with a relationship:

CREATE (p1:Person {name: 'Bob'})
CREATE (p2:Person {name: 'Charlie'})
CREATE (p1)-[:FRIENDS_WITH]->(p2)

Relationship Direction Matters

Relationships are directional, meaning they flow from one node to another. This direction is important for understanding the context of the connection.

  • (Alice)-[:LIKES]->(Bob): Alice likes Bob
  • (Bob)-[:LIKES]->(Alice): Bob likes Alice

The arrows --> and <-- indicate direction. If direction isn't specified (--), the relationship is considered undirected in a query, but it's always stored with a direction.

Properties on Relationships Too!

Just like nodes, relationships can also have properties. These properties describe the relationship itself, not the connected nodes.

For example, a [:WORKS_FOR] relationship might have a startDate: '2020-01-15' property. A [:RATED] relationship could have a score: 5 property.

Here's an example of adding properties to a relationship:

CREATE (u:User {name: 'Eve'})
CREATE (p:Product {id: 'P123'})
CREATE (u)-[:PURCHASED {
  date: '2023-10-26',
  quantity: 2
}]->(p)

Visualizing a Graph Pattern

Let's see how these components look together in a simple graph structure. Imagine a person reviewing a movie:

(Person)-[:REVIEWED {rating: 4}]->(Movie)

Here:

  • (Person) and (Movie) are nodes, with their respective labels.
  • [:REVIEWED] is the relationship type, showing direction.
  • {rating: 4} is a property on the REVIEWED relationship.

This structure is incredibly flexible for modeling complex domains!

Check Your Understanding

What are the three fundamental building blocks of a graph database like Neo4j?

Recap: Graph Essentials

Great job! In this lesson, you learned about the foundational elements of a graph database:

  • Nodes are your entities, categorized by labels.
  • Relationships connect nodes, defined by a type and direction.
  • Properties are key-value pairs that add descriptive details to both nodes and relationships.

Understanding these concepts is key to building and querying powerful graph models. Next, we'll dive deeper into creating actual data using Cypher's CREATE clause!

よくある質問

「ノード、リレーションシップ、プロパティ」レッスンは無料ですか?

はい。「ノード、リレーションシップ、プロパティ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Neo4j Graph Database Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Neo4j Graph Database Fundamentalsコースには全4レッスンが含まれています。

「ノード、リレーションシップ、プロパティ」で何を学びますか?

グラフを構成する基本要素である、ノード(エンティティ)、リレーションシップ(接続)、それらを説明するプロパティ(属性)を理解します。 ブラウザで直接実行するハンズオンコードでNeo4j Graph Database Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Neo4j Graph Database Fundamentalsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのNeo4j Graph Database Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「ノード、リレーションシップ、プロパティ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このNeo4j Graph Database Fundamentalsレッスンでコードを書いて実行できますか?

はい。すべてのNeo4j Graph Database Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ノード、リレーションシップ、プロパティ
  2. Cypher CREATEでデータを作成する
  3. Cypher MATCHでパターンを照合する
  4. RETURNによる結果の返却と整形
← Neo4j Graph Database Fundamentalsに戻る