Neo4j Knowledge Graph — скилл

Скилл для агента: строит граф знаний Neo4j из CSV и Excel, пишет безопасный Cypher и добавляет векторный поиск GraphRAG.

  • 581 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Скилл пишет данные в базу Neo4j, а запросы MERGE и разрушающие команды могут изменить чужой граф.
  • Скрипт профилирования читает локальные таблицы Excel и CSV.
Все причины и проверки

mazzawill/neo4j-python-pandas-py2neo-v3

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/neo4j-knowledge-graph

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скилл пишет данные в базу Neo4j, а запросы MERGE и разрушающие команды могут изменить чужой граф.
  • Скрипт профилирования читает локальные таблицы Excel и CSV.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл `neo4j-knowledge-graph` лежит в репозитории с учебным примером «Excel в Neo4j» и ведет агента по шести шагам. Сначала агент определяет источник данных (CSV, Excel, DataFrame, выгрузка из базы, API или готовый граф), цель (импорт, моделирование, запросы, миграция, визуализация, GraphRAG) и версию Neo4j: локальную, Aura, старую 3.x или 5 и новее. Перед моделированием агент профилирует таблицу скриптом `scripts/profile_table.py`: смотрит колонки, примеры значений, пустые ячейки, вероятные идентификаторы и повторы. Метки узлов берутся из существительных (Invoice, Person, Company), связи называются глаголами вроде ISSUED_BY, свойства связей хранят роли, время и достоверность. Импорт идет параметризованным MERGE с UNWIND, ключи объявляются ограничениями до загрузки, а разрушающие команды требуют прямой просьбы и подтвержденной базы. Для новых проектов скилл рекомендует официальный драйвер `neo4j`, а `py2neo` оставляет только для поддержки кода на Neo4j 3.x. Векторный поиск и GraphRAG он добавляет, когда нужен семантический поиск: строит `search_text` из фактов графа и создает векторный индекс. Проверка выполняется на небольшой выборке, и в отчет входят число узлов и связей, ограничения и состояние индексов.

Для кого. Аналитикам данных и разработчикам, которые переносят таблицы Excel и CSV в граф знаний Neo4j или поддерживают старый код на py2neo и хотят перейти на современный драйвер.

Подходит, если

  • Накладные из Excel надо разложить на узлы и связи и загрузить в Neo4j.
  • Таблицу сначала нужно профилировать, чтобы выбрать идентификаторы и метки.
  • Код на py2neo v3 и Neo4j 3.x требует миграции на официальный драйвер.
  • К графу нужен семантический поиск: векторный индекс и запросы GraphRAG.
  • Нужно показать пользователю типовые запросы Cypher, которые можно запустить в Neo4j Browser.

Не подходит, если

  • Данные уже в хорошо смоделированной базе Neo4j: скилл рассчитан на построение графа из таблиц.
  • Нужен агент, который сам ходит в вашу базу через MCP: за этим стоит обратиться к MCP-серверам Neo4j.
  • Нужна готовая промышленная система: репозиторий остается учебным примером с устаревшими зависимостями.

Пример запроса к агенту

Возьми Invoice_data_Demo.xls, спрофилируй таблицу и предложи модель графа Neo4j с Cypher для безопасной загрузки.

Ограничения

Основной пример в репозитории намеренно устарел: Python 3.6.5, Windows 10, Neo4j 3.x, py2neo 3. Закрепленные зависимости в `requirements.txt` устаревшие, модернизацию автор ведет отдельной задачей.

Для запуска `invoice_neo4j.py` нужно заменить путь в `os.chdir` и параметры подключения `Graph(...)` в `DataToNeo4jClass.py`.

Локальные вложения в современном примере детерминированные и годятся только для демонстраций и CI. Для рабочего поиска нужен `neo4j-graphrag` или настоящий провайдер эмбеддингов.

Как отключить. Удалите папку `skills/neo4j-knowledge-graph` из каталога скиллов агента или клон репозитория.

Частые вопросы

Как подключить скилл?

Склонируйте репозиторий и положите папку `skills/neo4j-knowledge-graph` в каталог скиллов агента. В папке есть и `agents/openai.yaml` для Codex.

Нужен ли py2neo?

Для новых проектов нет, скилл рекомендует официальный драйвер `neo4j`. py2neo оставлен для поддержки старого кода на Neo4j 3.x.

Что делает скрипт profile_table.py?

Показывает колонки таблицы, образцы значений, число пустых ячеек, вероятные идентификаторы и повторяющиеся значения, чтобы выбрать метки и ключи до записи Cypher.

Как попробовать современный пример без ключей?

Запустите `python -m examples.modern_invoice_graphrag.app --input examples/modern_invoice_graphrag/sample_invoice_rows.csv --limit 2 dry-run`. Пример использует локальные детерминированные эмбеддинги.

Когда добавлять GraphRAG?

Когда нужен семантический или нечеткий поиск, ответы на естественном языке или RAG. Для простой выборки по ключам хватает обычного Cypher.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скиллы для Neo4j: запросы Cypher, моделирование графов, драйверы, импорт, GraphRAG, GDS и создание экземпляров Aura

ПлагинРасширенный доступ122Звезды репозитория

Со скиллом Graph Engineering агент проектирует граф знаний, проверяет связи и готовит данные для поиска по источникам.

СкиллМинимальный доступ572Звезды репозитория

KGLite хранит граф знаний в одном файле, и встроенный MCP-сервер дает агенту запросы Cypher по этому графу без отдельной базы.

MCP-серверРасширенный доступ77Звезды репозитория
Официальный

CLI и MCP-сервер для извлечения структурированных знаний из документов: графы, гиперграфы и поиск по фактам с источниками

CLIРасширенный доступ4,2 тыс.Звезды репозитория
Официальный

MCP-сервер и навык Neo4j: агент запускает алгоритмы Graph Data Science на графе, от центральности до эмбеддингов

MCP-серверРасширенный доступ99Звезды репозитория

Скилл Neon с советами по Postgres 14–18: схема, индексы, оптимизация запросов, миграции и типичные ошибки.

СкиллМинимальный доступ56Звезды репозитория

Коротко о README

В описании учебный проект переноса данных из Excel в Neo4j через py2neo v3, статус поддержки с 2026-06, современный пример на официальном драйвере с векторным индексом, раздел об открытом скилле, совместимость исходной среды и быстрый старт с предупреждением о правке путей.

Бейдж для README

Исходный SKILL.md

---
name: neo4j-knowledge-graph
description: Use when designing, importing, querying, or modernizing Neo4j knowledge graphs from CSV, Excel, pandas, Cypher, py2neo, the official neo4j Python driver, vector indexes, or GraphRAG workflows.
---

# Neo4j Knowledge Graph

## Overview

Use this skill to turn tabular or semi-structured data into a Neo4j knowledge graph, then choose the right path: legacy py2neo compatibility, modern official-driver Cypher, or GraphRAG/vector search.

## Workflow

1. **Frame the graph task**
   - Identify the source data: CSV, Excel, pandas DataFrame, database export, API data, or existing Neo4j graph.
   - Ask what the user wants to do: import, model, query, migrate, visualize, or add GraphRAG.
   - Confirm Neo4j target: local Neo4j, Aura, legacy Neo4j 3.x, Neo4j 5+, or unknown.

2. **Profile data before modeling**
   - For CSV/Excel files, run `scripts/profile_table.py <path>` when local files are available.
   - Inspect columns, sample values, blank counts, likely identifiers, and repeated values.
   - Do not infer graph labels from one row only.

3. **Model the graph**
   - Use nouns for labels: `Invoice`, `Person`, `Company`, `Product`, `Location`.
   - Use verbs or role phrases for relationships: `ISSUED_BY`, `PAID_TO`, `HAS_PARTICIPANT`.
   - Choose stable IDs before writing Cypher.
   - Put frequently queried identifiers under uniqueness constraints.
   - Keep relationship properties for roles, timestamps, source rows, and confidence.

4. **Generate safe Cypher**
   - Prefer parameterized `MERGE` + `UNWIND` for imports.
   - Create constraints before loading data.
   - Avoid destructive commands unless the user explicitly asks and the target is confirmed.
   - For modern projects, prefer the official `neo4j` Python driver.
   - Use py2neo only when maintaining legacy Neo4j 3.x / py2neo v3 code.

5. **Add GraphRAG only when useful**
   - Use vector search when users need semantic retrieval, fuzzy matching, natural-language search, or RAG.
   - Build a clear `search_text` from graph facts.
   - Create a Neo4j vector index on the embedding property.
   - Use deterministic embeddings only for demos/tests; use `neo4j-graphrag` or a real embedding provider for production.

6. **Verify**
   - Dry-run on a small sample before loading the full dataset.

Сообщить о проблеме