Найти в Дзене
ИИнтеграция

Neo4j (Графовая БД): зачем нужна и как установить на свой VPS. Инструкция.

Что такое Neo4j и зачем он нужен? Neo4j — это графовая база данных NoSQL, которая хранит данные не в таблицах или документах, а в виде узлов и связей между ними, что идеально подходит для работы со связанными данными: социальными сетями, рекомендательными системами, анализом цепочек взаимодействий. В отличие от векторных баз данных (как,например, Pinecone), которые оптимизированы для семантического поиска и хранения эмбеддингов, Neo4j фокусируется на отношениях и путях между сущностями — если векторные БД отвечают на вопрос "что похоже?", то Neo4j отвечает на вопросы "как связано?" и "какой путь между A и B?". Для ИИ-агентов Neo4j выступает как "долговременная реляционная память" — он позволяет агентам запоминать не просто факты, а связи между ними: кто с кем взаимодействовал, какие цепочки действий привели к результату, какие зависимости между задачами. В отличие от векторных БД, которые дают агентам контекстную похожесть, Neo4j даёт им причинно-следственное понимание: агент может от
Оглавление

Что такое Neo4j и зачем он нужен?

Neo4j — это графовая база данных NoSQL, которая хранит данные не в таблицах или документах, а в виде узлов и связей между ними, что идеально подходит для работы со связанными данными: социальными сетями, рекомендательными системами, анализом цепочек взаимодействий. В отличие от векторных баз данных (как,например, Pinecone), которые оптимизированы для семантического поиска и хранения эмбеддингов, Neo4j фокусируется на отношениях и путях между сущностями — если векторные БД отвечают на вопрос "что похоже?", то Neo4j отвечает на вопросы "как связано?" и "какой путь между A и B?".

Для ИИ-агентов Neo4j выступает как "долговременная реляционная память" — он позволяет агентам запоминать не просто факты, а связи между ними: кто с кем взаимодействовал, какие цепочки действий привели к результату, какие зависимости между задачами. В отличие от векторных БД, которые дают агентам контекстную похожесть, Neo4j даёт им причинно-следственное понимание: агент может отслеживать цепочки принятия решений, строить графы знаний с отношениями "причина-следствие", выявлять скрытые зависимости между сущностями и даже предсказывать следующие шаги на основе паттернов связей.

Что такое APOC и зачем он нужен?

APOC — это библиотека процедур и функций для Neo4j, которая расширяет возможности графовой базы. Без APOC многие операции (работа с JSON, массовые операции, утилиты) становятся недоступными. Для интеграции с n8n APOC обязателен.

Пошаговая установка (рабочий способ)

Предпосылки

  • VPS с Ubuntu 22.04/24.04
  • Установленный Docker и Docker Compose
  • SSH доступ к серверу

Шаг 1: Подготовка сервера

bash

# Обновляем систему
sudo apt update && sudo apt upgrade -y

# Устанавливаем Docker (если нет)
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker

Шаг 2: Запуск Neo4j с APOC (ОДНА команда!)

bash

docker run -d \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-v neo4j_data:/data \
-v neo4j_plugins:/plugins \
-v neo4j_logs:/logs \
-v neo4j_conf:/var/lib/neo4j/conf \
-e NEO4J_AUTH=neo4j/Ваш_Надежный_Пароль \
-e NEO4J_PLUGINS='["apoc"]' \
-e NEO4J_dbms_security_procedures_unrestricted=apoc.* \
neo4j:latest

Ключевые моменты:

  • NEO4J_PLUGINS='["apoc"]' — автоматически скачивает и устанавливает APOC
  • dbms_security_procedures_unrestricted — разрешает все процедуры APOC
  • Используем latest тег для последней версии

Шаг 3: Проверка установки

bash

# Ждем 30 секунд для инициализации
sleep 30

# Проверяем логи
docker logs neo4j --tail 10 | grep -i "apoc\|started"

# Проверяем APOC
docker exec neo4j cypher-shell -u neo4j -p 'Ваш_Пароль' \
<<< "RETURN apoc.version();"

Шаг 4: Настройка файрвола (если нужно - у хостинга провайдера Beget -НЕ требуется)

bash

sudo ufw allow 7474 # HTTP интерфейс
sudo ufw allow 7687
# Bolt протокол
sudo ufw enable

Шаг 5: Подключение из n8n

  1. Настройте Credentinals:
  • логин и пароль от сервера
  • URI в формате: bolt://IP_ВАШЕГО_VPS:7687
  • Имя БД. По умолчанию: neo4j

2. Скачайте комьюнити эдишн ноды Neo4j

3. Созадайте ноду ExecuteQuery

4. Отправьте тестовый запрос: RETURN 1

Ответ должен вернуться:

[

{

"1": "1"

}

]

ВСЕ. Neo4j + APOC установлен на ваш VPS и готов к работе с n8n.

Чего НЕ делать (ошибки, которые экономят время)

❌ НЕ копируйте JAR-файлы APOC вручную

Плохо:

bash

docker cp apoc.jar neo4j:/plugins/

Хорошо: используйте NEO4J_PLUGINS='["apoc"]'

❌ НЕ редактируйте neo4j.conf для настроек APOC

Плохо: Добавлять apoc.export.file.enabled=true в neo4j.conf
Хорошо: Для Neo4j 5+ настройки APOC автоматические или через переменные окружения

❌ НЕ используйте extended версию APOC с Community Edition

Правило: Extended = Enterprise Edition, Core = Community Edition

Быстрые команды для обслуживания

bash

# Перезапуск
docker restart neo4j

# Просмотр логов
docker logs neo4j --tail 20

# Обновление до последней версии
docker stop neo4j
docker rm neo4j
docker pull neo4j:latest
# Запустите команду из Шага 2 снова

# Резервное копирование
docker exec neo4j neo4j-admin dump --to=/backup/neo4j.dump

Решение частых проблем

Проблема: "Container is restarting"

Причина: Ошибка в конфигурации APOC в neo4j.conf
Решение: Удалить контейнер и запустить заново с командой из Шага 2

Проблема: n8n подключается, но запросы не работают

Причина: APOC не установлен
Решение: Проверить docker logs neo4j | grep -i apoc и пересоздать контейнер с NEO4J_PLUGINS

Итог

Установка Neo4j с APOC на VPS занимает 5 минут, если:

  1. Использовать Docker
  2. Применять автоматическую установку APOC через NEO4J_PLUGINS
  3. Не лезть в конфиги вручную
  4. Проверять работу сразу после запуска

Этот подход экономит часы отладки и гарантирует работоспособность для интеграции с n8n и другими системами.