Neo4j Knowledge Graph — скилл
Скилл для агента: строит граф знаний Neo4j из CSV и Excel, пишет безопасный Cypher и добавляет векторный поиск GraphRAG.
- 581 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Скилл пишет данные в базу Neo4j, а запросы MERGE и разрушающие команды могут изменить чужой граф.
- Скрипт профилирования читает локальные таблицы Excel и CSV.
Установка
- Работает в
В терминале, через 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
Со скиллом Graph Engineering агент проектирует граф знаний, проверяет связи и готовит данные для поиска по источникам.
KGLite хранит граф знаний в одном файле, и встроенный MCP-сервер дает агенту запросы Cypher по этому графу без отдельной базы.
CLI и MCP-сервер для извлечения структурированных знаний из документов: графы, гиперграфы и поиск по фактам с источниками
MCP-сервер и навык Neo4j: агент запускает алгоритмы Graph Data Science на графе, от центральности до эмбеддингов
Скилл Neon с советами по Postgres 14–18: схема, индексы, оптимизация запросов, миграции и типичные ошибки.
Коротко о 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.