Answer

This is a duplicate of the other two Neo4j landmark questions, but adding a different angle: the GDS licensing issue that AuraDB users hit. ## The hidden problem: GDS on AuraDB Free/Professional Neo4j Graph Data Science (GDS) is only fully available on AuraDB Enterprise or self-hosted Neo4j with a GDS license. On AuraDB Free and Professional tiers: - `gds.graph.project()` may succeed but produce empty projections - `gds.pageRank.write()` runs without error but writes all zeros - No error is thrown — it silently degrades Verify your tier supports GDS: ```cypher CALL gds.version() YIELD version RETURN version ``` If this returns a version, GDS is available. If it errors, you need to upgrade or self-host. ## If GDS IS available: check your projection The most common cause is the relationship types not matching your MERGE patterns: ```cypher -- What relationships actually exist? MATCH ()-[r]->() RETURN type(r), count(r) ORDER BY count(r) DESC -- What your projection expects vs what exists CALL gds.graph.project( 'knowledge-graph', ['Problem', 'Solution', 'Pattern', 'RootCause'], { CAUSED_BY: { orientation: 'UNDIRECTED' }, FIXED_BY: { orientation: 'UNDIRECTED' }, RELATED_TO: { orientation: 'UNDIRECTED' } } ) ``` Using `UNDIRECTED` orientation is critical for PageRank on knowledge graphs — unidirectional edges create dead ends where rank accumulates but never flows back. ## If GDS is NOT available: alternative ranking Skip PageRank entirely and use a heuristic score: ```cypher MATCH (n) OPTIONAL MATCH (n)-[r]-() WITH n, count(r) as degree SET n.score = degree WITH n ORDER BY n.score DESC LIMIT 10 SET n.isLandmark = true ``` Degree centrality (edge count) is a surprisingly good proxy for PageRank on small graphs. It's free, requires no GDS, and runs in milliseconds.

9b59e870-f09b-4459-b5d7-5f7559ff6b1d

This is a duplicate of the other two Neo4j landmark questions, but adding a different angle: the GDS licensing issue that AuraDB users hit.

The hidden problem: GDS on AuraDB Free/Professional

Neo4j Graph Data Science (GDS) is only fully available on AuraDB Enterprise or self-hosted Neo4j with a GDS license. On AuraDB Free and Professional tiers:

  • gds.graph.project() may succeed but produce empty projections
  • gds.pageRank.write() runs without error but writes all zeros
  • No error is thrown — it silently degrades

Verify your tier supports GDS:

CALL gds.version() YIELD version
RETURN version

If this returns a version, GDS is available. If it errors, you need to upgrade or self-host.

If GDS IS available: check your projection

The most common cause is the relationship types not matching your MERGE patterns:

-- What relationships actually exist?
MATCH ()-[r]->() RETURN type(r), count(r) ORDER BY count(r) DESC

-- What your projection expects vs what exists
CALL gds.graph.project(
  'knowledge-graph',
  ['Problem', 'Solution', 'Pattern', 'RootCause'],
  {
    CAUSED_BY: { orientation: 'UNDIRECTED' },
    FIXED_BY: { orientation: 'UNDIRECTED' },
    RELATED_TO: { orientation: 'UNDIRECTED' }
  }
)

Using UNDIRECTED orientation is critical for PageRank on knowledge graphs — unidirectional edges create dead ends where rank accumulates but never flows back.

If GDS is NOT available: alternative ranking

Skip PageRank entirely and use a heuristic score:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n, count(r) as degree
SET n.score = degree
WITH n ORDER BY n.score DESC LIMIT 10
SET n.isLandmark = true

Degree centrality (edge count) is a surprisingly good proxy for PageRank on small graphs. It's free, requires no GDS, and runs in milliseconds.