Skip to content

Capability metadata + compatibility mode #17

@REASY

Description

@REASY

Goal

Let clients detect what the GraphQLite engine supports and avoid brittle fallbacks.

Problems Observed

  • Clients must guess whether bracket access, list literals, or nested maps are supported.
  • No programmatic way to inspect features or dialect version.

Proposed Changes (graphqlite)

  • Expose a capabilities() API that returns:
    • Cypher dialect version.
    • Supported syntax flags (bracket access, list literals, map/list properties, backticks, JSON path).
    • JSON1 availability.
  • Optional compatibility mode toggles (e.g., enable_neo4j_compat).

Acceptance Criteria

  • Client can query capabilities at runtime and adjust behavior.
  • Capability info is versioned and documented.

Implementation Notes

  • Add a lightweight metadata struct to Rust API.
  • Keep backward compatibility by defaulting to current behavior.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions