Multi-tenant knowledge graph engine for the SilvaEngine AI management
platform. The module is shipped as a GraphQL plugin for the
silvaengine_base gateway; the gateway owns authentication, request
routing, and connection-pool lifecycle, while this module supplies the
domain logic, Graphene resolvers, and the canonical schema (Postgresql
- Neo4j).
The module is reached only through the gateway's GraphQL dispatch. It does not:
- Bind an HTTP server.
- Start a background loop, thread pool, or scheduled job.
- Read environment variables or perform its own secret lookups.
- Maintain an HTTP-facing JWT contract.
Authentication, authorization, rate limiting, routing, and connection
pool creation are the gateway's responsibility. See
docs/requirements_realization_statement.md
for the full boundary declaration.
knowledge_graph_engine/
├── __init__.py
├── main.py # Engine plugin class + deploy() metadata
├── schema.py # Graphene Query / Mutation roots
├── config.json # SilvaEngine module declaration
├── exceptions.py # Business-module error taxonomy
├── _compat.py # Stub modules for partial environments
├── docs/ # Requirements Realization Statement
├── handlers/
│ ├── config.py # Thread-safe Config singleton
│ ├── neo4j_connection_manager.py
│ ├── partition_manager.py
│ ├── schema_resolver.py
│ ├── extractor.py
│ ├── search_handler.py
│ └── rag_handler.py
├── models/postgresql/ # SQLAlchemy models + session helpers
├── mutations/ # Graphene mutations
├── queries/ # Graphene queries
├── types/ # Graphene output / input types
├── utils/ # Repository helpers + GraphRAG util
├── migrations/ # SQL migration scripts
└── tests/ # Unit + integration tests
# Install the module dependencies (Python 3.10+).
pip install -e .[dev]
# Run the unit tests.
python -m unittest discover knowledge_graph_engine/tests -vThe module reads runtime configuration through the gateway's
ConfigModel.find(setting_id="knowledge_graph_engine") call. The
shape of the configuration dict is declared in
config.json under
settings[knowledge_graph_engine_engine].
Internal — see your platform's licensing terms.