package graph
|
|
// Node 图节点(对应一个 markdown 文件)
|
type Node struct {
|
ID int64 `json:"id"`
|
Path string `json:"path"`
|
Title string `json:"title"`
|
Section string `json:"section"`
|
Tags []string `json:"tags"`
|
Entities []string `json:"entities"`
|
Aliases []string `json:"aliases"`
|
Status string `json:"status"`
|
Wikilinks []string `json:"wikilinks"`
|
Content string `json:"content"`
|
Size int64 `json:"size"`
|
Mtime int64 `json:"mtime"`
|
ContentHash string `json:"content_hash"`
|
}
|
|
// Edge 图边(实体关系)
|
type Edge struct {
|
FromNode int64 `json:"from_node"`
|
ToNode int64 `json:"to_node"` // 对于 tag/entity 边,ToNode 可以是虚拟节点 ID
|
Relation string `json:"relation"` // "tag" | "entity" | "wikilink"
|
Label string `json:"label"` // 具体值
|
Provenance string `json:"provenance"` // "exact" | "fuzzy" | "tag" | "entity"
|
}
|
|
// UnresolvedLink 悬空 wikilink(未匹配到目标节点)
|
type UnresolvedLink struct {
|
FromNode int64 // BuildGraph 内部节点 ID
|
LinkText string
|
NameTail string
|
}
|
|
// Graph 知识图谱
|
type Graph struct {
|
Nodes []*Node
|
Edges []*Edge
|
}
|