Узлы, связи и свойства
Изучите строительные блоки графа: узлы (сущности), связи (соединения) и свойства (атрибуты), описывающие их.
«Узлы, связи и свойства» — бесплатный урок Neo4j Graph Database Fundamentals на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения 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 theREVIEWEDrelationship.
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/7) и разблокировать остальной курс Neo4j Graph Database Fundamentals, подпишись на CoddyKit PRO. Курс Neo4j Graph Database Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Узлы, связи и свойства»?
Изучите строительные блоки графа: узлы (сущности), связи (соединения) и свойства (атрибуты), описывающие их. Ты практикуешь Neo4j Graph Database Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Neo4j Graph Database Fundamentals?
Предыдущий опыт не требуется. Neo4j Graph Database Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Узлы, связи и свойства»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Neo4j Graph Database Fundamentals?
Да. Каждый урок Neo4j Graph Database Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Узлы, связи и свойства
- Создание данных с помощью Cypher CREATE
- Поиск шаблонов с помощью Cypher MATCH
- Возврат и формирование результатов с помощью RETURN