{"path":"NexusReader.Application/Queries/Graph/GraphViewModels.cs","purpose":"Defines lightweight Graph view-model/DTO types used by application queries to represent nodes, links, and the aggregated graph data for UI or API consumption.","classification":{"role":"dto","layer":"application","confidence":0.9,"evidence":["DTO/view-model naming pattern","Namespace NexusReader.Application.Queries.Graph indicates application-layer query/view models","File contains only record DTOs (GraphNodeDto, GraphLinkDto, GraphDataDto) used to transport graph data"]},"className":"","methods":[],"types":[{"name":"GraphNodeDto","kind":"dto","line":3,"purpose":"Represents a single graph node with an identifier, label, grouping, and optional type metadata.","fields":[{"name":"Id","type":"string","required":true,"line":3,"description":"Unique node identifier"},{"name":"Label","type":"string","required":true,"line":3,"description":"Display label for the node"},{"name":"Group","type":"string","required":true,"line":3,"description":"Grouping or cluster key for the node"},{"name":"Type","type":"string?","required":false,"line":3,"description":"Optional node type/category"}]},{"name":"GraphLinkDto","kind":"dto","line":4,"purpose":"Represents an edge/link between two nodes with a relation type and a numeric value/weight.","fields":[{"name":"Source","type":"string","required":true,"line":4,"description":"Source node id"},{"name":"Target","type":"string","required":true,"line":4,"description":"Target node id"},{"name":"RelationType","type":"string","required":true,"line":4,"description":"Semantic relation label for the link"},{"name":"Value","type":"int","required":true,"line":4,"description":"Numeric weight or strength of the link (default 1)"}]},{"name":"GraphDataDto","kind":"dto","line":5,"purpose":"Container for an in-memory graph payload: lists of nodes and links prepared for queries or UI rendering.","fields":[{"name":"Nodes","type":"List","required":true,"line":7,"description":"Collection of graph nodes (initialized to empty list)"},{"name":"Links","type":"List","required":true,"line":8,"description":"Collection of graph links/edges (initialized to empty list)"}]}],"serviceRegistrations":[],"startupActions":[],"dependencies":[],"patterns":["DTO","ViewModel"],"domainConcepts":["Graph","Node","Link"],"keyDetails":"File solely defines immutable records for graph transfer; no runtime logic, external calls, or registrations present.","orchestrationMethods":[],"typedContracts":[{"name":"GraphNodeDto","kind":"dto","line":3,"fieldCount":4,"evidencePaths":["NexusReader.Application/Queries/Graph/GraphViewModels.cs"]},{"name":"GraphLinkDto","kind":"dto","line":4,"fieldCount":4,"evidencePaths":["NexusReader.Application/Queries/Graph/GraphViewModels.cs"]},{"name":"GraphDataDto","kind":"dto","line":5,"fieldCount":2,"evidencePaths":["NexusReader.Application/Queries/Graph/GraphViewModels.cs"]}],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"typed-contract","label":"GraphNodeDto","line":3,"summary":"dto with 4 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Queries/Graph/GraphViewModels.cs"]},{"kind":"typed-contract","label":"GraphLinkDto","line":4,"summary":"dto with 4 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Queries/Graph/GraphViewModels.cs"]},{"kind":"typed-contract","label":"GraphDataDto","line":5,"summary":"dto with 2 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Queries/Graph/GraphViewModels.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"1de3956a7294f0b246b3951a48c1ee78e7cc6a9a5af9bd429127bc1e22f615eb","sourceByteSize":392,"analyzedAt":"2026-05-23T16:19:55.786Z","technology":"dotnet"}}