docs: Этап 4 граф — AGE работает (Cypher)
This commit is contained in:
1 parent
a93aa24b54
commit
845fa70af7
1 file changed
+16
-7
@@ -74,15 +74,24 @@
|
|||||||
|
|
||||||
**KPI:** 4+ канала, сквозная аналитика.
|
**KPI:** 4+ канала, сквозная аналитика.
|
||||||
|
|
||||||
### Этап 4 — граф (Memgraph / Apache AGE)
|
### Этап 4 — граф (Apache AGE)
|
||||||
**Цель:** обходы и анализ связей.
|
**Статус:** ✅ РЕАЛИЗОВАНО (2026-09-14)
|
||||||
|
**Цель:** обходы и анализ связей через Cypher.
|
||||||
|
|
||||||
- Проекция: Atom → Topic → Entity → Project → Asset.
|
- Проекция: Atom (label=Atom, property=atom_id).
|
||||||
- graph_outbox — Postgres → воркер → Memgraph (только id + минимальные атрибуты, тело атома НЕ хранится).
|
- graph_outbox — atom_relations (Postgres) → AGE через cypher() (OpenCypher).
|
||||||
- Идемпотентные операции (MERGE по id), ребилд из Postgres за час.
|
- Тело атома НЕ хранится — только id + type (минимальные атрибуты).
|
||||||
- Сборка через обходы графа (топологическая сортировка).
|
- Синхронизация: `python3 stage4/graph_outbox.py --sync` (идемпотентно — DELETE + CREATE).
|
||||||
|
- Обход связей: `python3 stage4/graph_outbox.py --query` (MATCH по atom_id).
|
||||||
|
|
||||||
**KPI:** граф-проекция, сборка через обходы.
|
**Ключевые факты AGE:**
|
||||||
|
- `SET search_path TO ag_catalog;` перед каждым cypher()-запросом.
|
||||||
|
- Cypher: `CREATE`/`MATCH`/`RETURN` вместо устаревших `vertices()`/`edges()`.
|
||||||
|
- `cypher('graph', $$ ... $$) AS (v agtype)` — `$$` в SQL-файле, не в shell.
|
||||||
|
- Тестировать запросы: `docker exec -i age-db psql -U atom -d content_atom < file.cypher`.
|
||||||
|
- AGE_PASSWORD в контейнере = `agepass123` (не atompass123).
|
||||||
|
|
||||||
|
**KPI:** граф-проекция, обходы связей через Cypher.
|
||||||
|
|
||||||
### Этап 5 — панель (дашборд смысла)
|
### Этап 5 — панель (дашборд смысла)
|
||||||
**Цель:** управление атомами вместо статей.
|
**Цель:** управление атомами вместо статей.
|
||||||
|
|||||||
Reference in new issue
Block a user