Агрегирование и проекции
Узнайте, как использовать агрегатные функции, например COUNT и SUM, и представлять данные в пользовательских форматах для анализа.
«Агрегирование и проекции» — бесплатный урок Neo4j Graph Database Fundamentals на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Neo4j Graph Database Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Neo4j Graph Database Fundamentals содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Analyze Your Graph Data
Welcome to Aggregation and Projections! In graph databases, you often need to do more than just find data; you need to summarize it or shape it for analysis.
Aggregation means calculating a single result from multiple items, like counting all nodes or finding the average age. Projection is about selecting and formatting the data you want to see in your results.
Selecting Data with RETURN
The RETURN clause is how you specify exactly what data you want to see from your query. You can return nodes, relationships, or their specific properties. Let's add some example data first, then try a basic projection.
CREATE (p1:Person {name: 'Alice', age: 30})
CREATE (p2:Person {name: 'Bob', age: 25})
CREATE (p3:Person {name: 'Charlie', age: 30})
CREATE (m1:Movie {title: 'Inception', releaseYear: 2010})
CREATE (m2:Movie {title: 'Dunkirk', releaseYear: 2017})
CREATE (m3:Movie {title: 'Interstellar', releaseYear: 2014})
MATCH (p:Person)
RETURN p.name, p.ageCustomizing Output with AS
The default property names might not always be clear in your results. The AS keyword lets you rename returned items to make your query output more readable and descriptive. This is part of projection.
MATCH (m:Movie)
RETURN m.title AS FilmTitle, m.releaseYear AS YearReleasedCounting All Items with COUNT(*)
Aggregation functions help you summarize data. One of the most common is COUNT(*), which tells you the total number of items (nodes, relationships, or paths) found by your MATCH pattern.
MATCH (p:Person)
RETURN COUNT(*) AS TotalPeopleCountCounting Unique Values
What if you only want to count the unique values for a specific property? Use COUNT(DISTINCT variable.property). This is great for finding how many different ages, titles, or categories exist in your graph.
MATCH (p:Person)
RETURN COUNT(DISTINCT p.age) AS UniqueAgesCountSumming and Averaging Numbers
For numeric properties, you can calculate sums and averages. SUM() adds up all values, and AVG() computes their mean. These functions are very powerful for numerical analysis.
MATCH (p:Person)
RETURN SUM(p.age) AS TotalAgeSum, AVG(p.age) AS AverageAgeFinding Extremes with MIN/MAX
The MIN() and MAX() functions let you find the smallest and largest values for a property within your matched data. This is useful for identifying outliers or understanding data ranges.
MATCH (p:Person)
RETURN MIN(p.age) AS YoungestPersonAge, MAX(p.age) AS OldestPersonAgeGrouping into Lists with COLLECT
The COLLECT() function gathers all values of a specified property into a list. This is often used with grouping (which we'll cover later) but can also simply return all collected items in a list.
MATCH (p:Person)
RETURN COLLECT(p.name) AS AllPersonNamesStructuring Results with Maps
You can project complex, structured data using map projections. This allows you to create custom objects (maps) in your results, combining multiple properties and even calculated values into a single output column.
MATCH (p:Person)
RETURN {fullName: p.name, yearsOld: p.age, isAdult: p.age >= 18} AS PersonSummaryQuick Aggregation & Projection Check
Let's test your understanding of Cypher aggregation and projection. Choose all statements that correctly apply these concepts.
Recap: Aggregating & Projecting
Great job! You've learned how to summarize and shape your graph data using Cypher.
- Projections with
RETURNallow you to select specific data, rename it withAS, or create structured maps. - Aggregation functions like
COUNT(),SUM(),AVG(),MIN(),MAX(), andCOLLECT()help you analyze and summarize large datasets into meaningful insights.
These techniques are fundamental for extracting valuable information from your Neo4j graphs!
Часто задаваемые вопросы
Урок «Агрегирование и проекции» бесплатный?
Да — полный текст урока «Агрегирование и проекции» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Neo4j Graph Database Fundamentals, подпишись на CoddyKit PRO. Курс Neo4j Graph Database Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Агрегирование и проекции»?
Узнайте, как использовать агрегатные функции, например COUNT и SUM, и представлять данные в пользовательских форматах для анализа. Ты практикуешь Neo4j Graph Database Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Neo4j Graph Database Fundamentals?
Предыдущий опыт не требуется. Neo4j Graph Database Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Агрегирование и проекции»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Neo4j Graph Database Fundamentals?
Да. Каждый урок Neo4j Graph Database Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Фильтрация и сортировка результатов
- Агрегирование и проекции
- Обновление и удаление данных графа
- Объединение запросов с помощью WITH и UNION