30 lines
1.8 KiB
Markdown
30 lines
1.8 KiB
Markdown
# Graph Query and Search API
|
|
|
|
## Module
|
|
Graph
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Graph API with query, search, and path services for traversing and querying dependency graphs.
|
|
|
|
## Implementation Details
|
|
- **Query service**: `src/Graph/StellaOps.Graph.Api/Services/IGraphQueryService.cs`, `InMemoryGraphQueryService.cs` -- graph node/edge query with filtering
|
|
- **Search service**: `src/Graph/StellaOps.Graph.Api/Services/IGraphSearchService.cs`, `InMemoryGraphSearchService.cs` -- full-text search across graph entities
|
|
- **Path service**: `src/Graph/StellaOps.Graph.Api/Services/IGraphPathService.cs`, `InMemoryGraphPathService.cs` -- shortest-path and reachability path queries
|
|
- **Repository**: `src/Graph/StellaOps.Graph.Api/Services/InMemoryGraphRepository.cs` -- in-memory graph data store
|
|
- **Search contracts**: `src/Graph/StellaOps.Graph.Api/Contracts/SearchContracts.cs` -- search request/response DTOs
|
|
- **Lineage contracts**: `src/Graph/StellaOps.Graph.Api/Contracts/LineageContracts.cs` -- lineage query contracts
|
|
- **Reachability contracts**: `src/Graph/StellaOps.Graph.Api/Contracts/ReachabilityContracts.cs` -- reachability query contracts
|
|
- **Rate limiting**: `src/Graph/StellaOps.Graph.Api/Services/RateLimiterService.cs` -- query rate limiting
|
|
- **Tests**: `src/Graph/__Tests/StellaOps.Graph.Api.Tests/QueryServiceTests.cs`, `SearchServiceTests.cs`, `PathServiceTests.cs`, `RateLimiterServiceTests.cs`
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- [ ] Verify query API returns nodes and edges matching filter criteria
|
|
- [ ] Test full-text search returns ranked results across graph entities
|
|
- [ ] Verify path queries find shortest paths between nodes
|
|
- [ ] Test rate limiting prevents query abuse
|
|
- [ ] Verify search contracts handle empty results and pagination
|