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+ канала, сквозная аналитика.
|
||||
|
||||
### Этап 4 — граф (Memgraph / Apache AGE)
|
||||
**Цель:** обходы и анализ связей.
|
||||
### Этап 4 — граф (Apache AGE)
|
||||
**Статус:** ✅ РЕАЛИЗОВАНО (2026-09-14)
|
||||
**Цель:** обходы и анализ связей через Cypher.
|
||||
|
||||
- Проекция: Atom → Topic → Entity → Project → Asset.
|
||||
- graph_outbox — Postgres → воркер → Memgraph (только id + минимальные атрибуты, тело атома НЕ хранится).
|
||||
- Идемпотентные операции (MERGE по id), ребилд из Postgres за час.
|
||||
- Сборка через обходы графа (топологическая сортировка).
|
||||
- Проекция: Atom (label=Atom, property=atom_id).
|
||||
- graph_outbox — atom_relations (Postgres) → AGE через cypher() (OpenCypher).
|
||||
- Тело атома НЕ хранится — только 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 — панель (дашборд смысла)
|
||||
**Цель:** управление атомами вместо статей.
|
||||
|
||||
Reference in new issue
Block a user