Skip to content

Upgrade Neo4j server from 4.4 to 5.13+ #28

Description

@peter7775

Problem Statement

All Docker Compose files (docker-compose.yml:23, docker-compose.test.yml:30, docker-compose.sakila.yml:27, docker-compose.demo.yml:50, docker-compose.oracle.yml:26, docker-compose.postgresql.yml:40) and the CI workflow (.github/workflows/go.yml:143) pin neo4j:4.4. Neo4j 5.13+ is required for the native vector index (CREATE VECTOR INDEX / db.index.vector.queryNodes()), which is needed for planned AI/vector features (semantic schema search, text-to-Cypher, etc.).

Proposed Solution

  • Update image: to neo4j:5.13 (or a newer 5.x LTS) in all compose files listed above and in CI.
  • Check compatibility of NEO4J_dbms_* env vars (some dbms.connector.* keys were renamed in 5.x).
  • Test existing Cypher queries in internal/infrastructure/persistence/neo4j/ and internal/domain/repositories/neo4j/ against Neo4j 5.x (e.g. deprecated exists()IS NOT NULL).
  • Verify the cypher-shell healthcheck still works with the new image.

Alternative Solutions

Stay on 4.4 and handle vector search outside Neo4j (in-memory / pgvector) as a stopgap — limits future hybrid graph+vector queries in a single Cypher query.

Use Case

Without Neo4j 5.13+, the native vector index cannot be used directly in the graph database, which is a prerequisite for the planned AI features below.

Priority Level

Important

Implementation Ideas

Run a full smoke test of the transformation pipeline (docker-compose.test.yml) after the upgrade before merging.

Additional Context

Blocks: migrating neo4j-go-driver to v5 and all downstream AI/vector features.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    breaking-changeChanges that may break backward compatibilitydatabaseDatabase related changes - MySQL, Neo4j, queriesdockerDocker and containerization

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions