ai_xiaopei
9 days ago 46a01d99b5d15120ada95754c9effbdcb576d31e
internal/index/sqlite.go
@@ -147,3 +147,33 @@
   err := s.db.QueryRow("SELECT COUNT(*) FROM edges").Scan(&count)
   return count, err
}
// GetNodeLinks 获取节点的关联链接(wikilink 目标)
func (s *Store) GetNodeLinks(nodeID int64) ([]string, error) {
   query := `
      SELECT n.path
      FROM edges e
      JOIN nodes n ON n.id = e.to_node
      WHERE e.from_node = ? AND e.relation = 'wikilink'
   `
   rows, err := s.db.Query(query, nodeID)
   if err != nil {
      return nil, fmt.Errorf("查询链接失败: %w", err)
   }
   defer rows.Close()
   var links []string
   for rows.Next() {
      var path string
      if err := rows.Scan(&path); err != nil {
         return nil, fmt.Errorf("扫描链接失败: %w", err)
      }
      links = append(links, path)
   }
   if err := rows.Err(); err != nil {
      return nil, fmt.Errorf("遍历链接失败: %w", err)
   }
   return links, nil
}