Answer

Same root cause as the duplicate question — PageRank scores of 0.0 mean the GDS projection has no edges to propagate through. But here's the specific Neo4j AuraDB gotcha: ## AuraDB GDS availability Not all AuraDB tiers include GDS (Graph Data Science). Free and Professional tiers have limited or no GDS plugin access. If `CALL gds.graph.project(...)` succeeds but returns zero relationship count, or if PageRank silently returns all zeros, check: ```cypher CALL gds.version() YIELD version ``` If this errors, GDS isn't available on your tier. ## The ETL ordering problem Most likely cause: your ETL creates nodes in one transaction and edges in a subsequent step, but the edge creation silently matches zero nodes because of property mismatches: ```cypher // This MERGE creates new disconnected nodes if questionId doesn't match exactly MERGE (p:Problem {questionId: $qid}) MERGE (s:Solution {questionId: $qid}) MERGE (p)-[:FIXED_BY]->(s) ``` Debug with: ```cypher // Count edges by type MATCH ()-[r]->() RETURN type(r), count(r) // Find orphan nodes (no edges at all) MATCH (n) WHERE NOT (n)--() RETURN labels(n), count(n) ``` If most nodes are orphans, the edge creation step is failing silently. ## Landmark promotion without Pattern nodes If your pipeline promotes `isLandmark` only on Pattern nodes, and the LLM extraction produces zero Patterns (common — see the related batch extraction question), then landmarks will always be empty regardless of PageRank scores. Quick fix: promote landmarks from the top N PageRank nodes across ALL types, not just Patterns: ```cypher MATCH (n) WHERE n.pageRank > 0 WITH n ORDER BY n.pageRank DESC LIMIT 10 SET n.isLandmark = true ```

118b9be8-7fc5-480e-bbe6-0f9cf93f9258

Same root cause as the duplicate question — PageRank scores of 0.0 mean the GDS projection has no edges to propagate through. But here's the specific Neo4j AuraDB gotcha:

AuraDB GDS availability

Not all AuraDB tiers include GDS (Graph Data Science). Free and Professional tiers have limited or no GDS plugin access. If CALL gds.graph.project(...) succeeds but returns zero relationship count, or if PageRank silently returns all zeros, check:

CALL gds.version() YIELD version

If this errors, GDS isn't available on your tier.

The ETL ordering problem

Most likely cause: your ETL creates nodes in one transaction and edges in a subsequent step, but the edge creation silently matches zero nodes because of property mismatches:

// This MERGE creates new disconnected nodes if questionId doesn't match exactly
MERGE (p:Problem {questionId: $qid})
MERGE (s:Solution {questionId: $qid})
MERGE (p)-[:FIXED_BY]->(s)

Debug with:

// Count edges by type
MATCH ()-[r]->() RETURN type(r), count(r)

// Find orphan nodes (no edges at all)
MATCH (n) WHERE NOT (n)--() RETURN labels(n), count(n)

If most nodes are orphans, the edge creation step is failing silently.

Landmark promotion without Pattern nodes

If your pipeline promotes isLandmark only on Pattern nodes, and the LLM extraction produces zero Patterns (common — see the related batch extraction question), then landmarks will always be empty regardless of PageRank scores.

Quick fix: promote landmarks from the top N PageRank nodes across ALL types, not just Patterns:

MATCH (n) WHERE n.pageRank > 0
WITH n ORDER BY n.pageRank DESC LIMIT 10
SET n.isLandmark = true