37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# Graph Query and Search API
|
|
|
|
## Module
|
|
Graph
|
|
|
|
## Status
|
|
VERIFIED
|
|
|
|
## 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
|
|
- [x] Verify query API returns nodes and edges matching filter criteria
|
|
- [x] Test full-text search returns ranked results across graph entities
|
|
- [x] Verify path queries find shortest paths between nodes
|
|
- [x] Test rate limiting prevents query abuse
|
|
- [x] Verify search contracts handle empty results and pagination
|
|
|
|
## Verification
|
|
- **Run ID**: run-001
|
|
- **Date**: 2026-02-09T16:00:00Z
|
|
- **Tier**: 1 (Build + Test)
|
|
- **Result**: PASS
|
|
- **Evidence**: Query/search/path/rate-limiter tests all pass. All source files verified (15/15).
|