refactor: 按go modules规范重构
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
package model
|
||||
|
||||
// Node represents a graph node
|
||||
type Node struct {
|
||||
ID string `json:"id"`
|
||||
Label string `json:"label"`
|
||||
Type string `json:"type,omitempty"`
|
||||
X float64 `json:"x,omitempty"`
|
||||
Y float64 `json:"y,omitempty"`
|
||||
Style map[string]interface{} `json:"style,omitempty"`
|
||||
Properties map[string]interface{} `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// Edge represents a graph edge
|
||||
type Edge struct {
|
||||
ID string `json:"id"`
|
||||
Source string `json:"source"`
|
||||
Target string `json:"target"`
|
||||
Label string `json:"label,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
Style map[string]interface{} `json:"style,omitempty"`
|
||||
Properties map[string]interface{} `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// GraphData represents the complete graph structure
|
||||
type GraphData struct {
|
||||
Nodes []Node `json:"nodes"`
|
||||
Edges []Edge `json:"edges"`
|
||||
}
|
||||
|
||||
// SimpleNode 简化版节点结构,仅保留核心信息,适合 LLM 处理
|
||||
type SimpleNode struct {
|
||||
ID string `json:"id" example:"1"`
|
||||
Label string `json:"label" example:"人工智能"`
|
||||
Type string `json:"type,omitempty" example:"概念"`
|
||||
}
|
||||
|
||||
// SimpleEdge 简化版边结构,仅保留核心信息,适合 LLM 处理
|
||||
type SimpleEdge struct {
|
||||
Source string `json:"source" example:"1"`
|
||||
Target string `json:"target" example:"2"`
|
||||
Type string `json:"type,omitempty" example:"CONTAINS"`
|
||||
Label string `json:"label,omitempty" example:"包含"`
|
||||
}
|
||||
|
||||
// SimpleGraphData 简化版图数据,适合 LLM 处理
|
||||
type SimpleGraphData struct {
|
||||
Nodes []SimpleNode `json:"nodes"`
|
||||
Edges []SimpleEdge `json:"edges"`
|
||||
}
|
||||
|
||||
// StatsResponse represents graph statistics
|
||||
type StatsResponse struct {
|
||||
TotalNodes int `json:"totalNodes"`
|
||||
TotalEdges int `json:"totalEdges"`
|
||||
ConceptNodes int `json:"conceptNodes,omitempty"`
|
||||
ToolNodes int `json:"toolNodes,omitempty"`
|
||||
ApplicationNodes int `json:"applicationNodes,omitempty"`
|
||||
}
|
||||
|
||||
// NeighborResponse represents a node's neighbors and related edges
|
||||
type NeighborResponse struct {
|
||||
Nodes []Node `json:"nodes"`
|
||||
Edges []Edge `json:"edges"`
|
||||
}
|
||||
|
||||
// NodeResponse represents a node detail response
|
||||
type NodeResponse struct {
|
||||
ID string `json:"id"`
|
||||
Label string `json:"label"`
|
||||
Type string `json:"type,omitempty"`
|
||||
X float64 `json:"x,omitempty"`
|
||||
Y float64 `json:"y,omitempty"`
|
||||
Style map[string]interface{} `json:"style,omitempty"`
|
||||
Properties map[string]interface{} `json:"properties,omitempty"`
|
||||
Neighbors []Node `json:"neighbors,omitempty"`
|
||||
}
|
||||
|
||||
// SearchResponse represents search results
|
||||
type SearchResponse struct {
|
||||
Count int `json:"count"`
|
||||
Query string `json:"query"`
|
||||
Nodes []Node `json:"nodes"`
|
||||
}
|
||||
|
||||
// ErrorResponse represents an error response
|
||||
type ErrorResponse struct {
|
||||
Error string `json:"error"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
Reference in New Issue
Block a user