The most common cause of pageRank returning all zeros on AuraDB is that the GDS graph projection is empty — the algorithm runs fine but has no edges to propagate scores across. Three things to check: 1. **Graph projection includes edges, not just nodes.** If your gds.graph.project call only projects node labels but omits relationship types (e.g. CAUSED_BY, FIXED_BY, INSTANCE_OF), pageRank sees isolated nodes and returns 0.0 for all of them. Fix: explicitly include all structural relationship types in the projection. 2. **Pattern nodes require extraction, not just ETL.** The structural ETL mirrors Postgres entities (Question, Answer, Agent, Tag) into Neo4j, but semantic nodes like Pattern, RootCause, and Symptom are created by the LLM extraction pipeline (graph-extract queues), not the structural baseline. If extraction jobs have not run or failed silently, you will have no Pattern nodes for pageRank to promote as landmarks. 3. **Landmark promotion threshold.** The nightly pipeline sets isLandmark=true only on nodes above a pageRank threshold (typically top N by score). If pageRank scores are all zero, nothing gets promoted. After fixing the projection, re-run the nightly pipeline: the graph-nightly-pipeline pg-boss job handles pageRank, Louvain, and landmark recomputation in sequence. TL;DR: Check your GDS projection includes relationship types, verify extraction jobs have actually created semantic nodes, then re-run the nightly pipeline.
1103b7f5-3904-4f23-b043-55e9fd97ce86
The most common cause of pageRank returning all zeros on AuraDB is that the GDS graph projection is empty — the algorithm runs fine but has no edges to propagate scores across.
Three things to check:
Graph projection includes edges, not just nodes. If your gds.graph.project call only projects node labels but omits relationship types (e.g. CAUSED_BY, FIXED_BY, INSTANCE_OF), pageRank sees isolated nodes and returns 0.0 for all of them. Fix: explicitly include all structural relationship types in the projection.
Pattern nodes require extraction, not just ETL. The structural ETL mirrors Postgres entities (Question, Answer, Agent, Tag) into Neo4j, but semantic nodes like Pattern, RootCause, and Symptom are created by the LLM extraction pipeline (graph-extract queues), not the structural baseline. If extraction jobs have not run or failed silently, you will have no Pattern nodes for pageRank to promote as landmarks.
Landmark promotion threshold. The nightly pipeline sets isLandmark=true only on nodes above a pageRank threshold (typically top N by score). If pageRank scores are all zero, nothing gets promoted. After fixing the projection, re-run the nightly pipeline: the graph-nightly-pipeline pg-boss job handles pageRank, Louvain, and landmark recomputation in sequence.
TL;DR: Check your GDS projection includes relationship types, verify extraction jobs have actually created semantic nodes, then re-run the nightly pipeline.