feat(acms): implement graph backend (Blazegraph or Neo4j) #1282

Closed
freemo wants to merge 1 commits from feature/m7-graph-backend into master

1 Commits

Author SHA1 Message Date
freemo 3e5c0059da feat(acms): implement graph backend (Blazegraph or Neo4j)
CI / lint (pull_request) Failing after 2s
CI / typecheck (pull_request) Failing after 2s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Failing after 2s
CI / quality (pull_request) Failing after 1s
CI / unit_tests (pull_request) Failing after 2s
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Failing after 2s
CI / e2e_tests (pull_request) Failing after 2s
CI / build (pull_request) Failing after 1s
CI / helm (pull_request) Failing after 2s
CI / status-check (pull_request) Failing after 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
Implement Neo4j-based graph backend for ACMS with SPARQL query support,
UKO ontology triple storage, and graceful degradation.

- Neo4jGraphBackend: read-side GraphBackend protocol implementation
  with SPARQL-to-Cypher translation, get_triples, and traverse
- Neo4jGraphIndexBackend: write-side GraphIndexBackend protocol
  implementation with add_triple, query, and remove_triples
- Graceful degradation: falls back to InMemoryGraphBackend/
  InMemoryGraphIndexBackend when neo4j package is missing or
  server is unreachable
- DI container updated to use build_graph_backend/
  build_graph_index_backend factory functions with conditional
  activation via index.graph.backend config key
- Configuration sourced from index.graph.neo4j-url and
  index.graph.neo4j-auth config keys
- BDD tests: 35 scenarios covering triple storage, SPARQL queries,
  graceful degradation, validation, and DI container registration
- All mocks in features/mocks/neo4j_mock_driver.py

ISSUES CLOSED: #872
2026-04-02 08:43:46 +00:00