# -*- coding: utf-8 -*- """知识图谱管理:检索、可视化、节点搜索""" from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from backend.database import get_db from backend.services.auth import get_current_user_id from backend.services.knowledge_graph import search_knowledge_graph, get_graph_for_visualization router = APIRouter(prefix="/knowledge", tags=["知识图谱"]) @router.get("/search") def kg_search( q: str, limit: int = 15, user_id: int = Depends(get_current_user_id), ): """节点搜索、子节点展开:根据关键词检索知识图谱""" return {"results": search_knowledge_graph(q, limit=limit)} @router.get("/graph") def kg_graph( limit: int = 50, user_id: int = Depends(get_current_user_id), ): """Force-directed 布局可视化数据(供 React 渲染)""" return get_graph_for_visualization(limit=limit)