# ScholarGraph **Repository Path**: G_Y_H/scholar-graph ## Basic Information - **Project Name**: ScholarGraph - **Description**: ScholarGraph 是一个面向科研论文检索、知识关联分析与个性化推荐的学术服务平台。它通过前端页面提供论文搜索、AI 辅助检索、论文详情查看、收藏、浏览历史和个人推荐等功能;后端负责用户认证、论文数据管理、arXiv 数据采集、引用关系处理和推荐计算;同时结合 spaCy NLP 服务提取论文关键词与实体,并利用 Neo4j 构建论文、作者、关键词、引用和合作关系图谱。这个项目的主要用处是帮 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-02 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ScholarGraph ScholarGraph 是一个面向科研论文检索、知识图谱分析与个性化推荐的学术服务平台。项目围绕论文数据采集、检索、NLP 关键词/实体抽取、引用关系构建和用户兴趣推荐,形成从论文获取到知识关联展示的完整链路。 ## 项目用途 - 帮助研究人员通过关键词、分类、作者和 AI 语义理解快速发现相关论文。 - 展示论文详情、引用论文、参考文献和多种图谱视图,降低理解研究脉络的成本。 - 基于浏览历史、收藏记录和兴趣分类生成个性化论文推荐。 - 通过 arXiv、Semantic Scholar、OpenCitations、spaCy 和 Neo4j 支撑论文数据采集、富化与知识网络分析。 ## 系统组成 ```text ScholarGraph ├── scholar-fronted # Vue 3 + Vite 前端应用 ├── scholar-service # Spring Boot 后端服务 ├── spacy-service # FastAPI + spaCy NLP 微服务 └── docs # 系统实现说明 ``` ## 核心功能 - 论文检索:支持最新论文、关键词检索、分类/作者筛选和排序。 - AI 检索:使用大模型理解查询意图,生成检索计划和中文解释。 - 论文详情:展示摘要、作者、分类、关键词、引用统计、PDF 入口和引用格式。 - 知识图谱:基于 Neo4j 输出引用图谱、知识图谱和作者合作图谱。 - 用户中心:支持登录注册、资料维护、浏览历史、收藏和推荐列表。 - 数据任务:支持论文抓取、引用富化、NLP 关键词抽取和 Neo4j 同步。 ## 技术栈 - 前端:Vue 3、Vite、Pinia、Vue Router、Ant Design Vue、ECharts、Axios。 - 后端:Java 17、Spring Boot、Spring Security、JWT、MyBatis-Plus、MySQL、Neo4j Driver、Spring AI、XXL-Job、OkHttp。 - NLP 服务:Python、FastAPI、spaCy、scispaCy。 - 数据库:MySQL 作为业务数据主库,Neo4j 作为图谱查询库。 ## 快速启动 ### 1. 前端 ```bash cd scholar-fronted npm install npm run dev ``` 前端环境变量示例见 `scholar-fronted/.env.example`。 ### 2. 后端 ```bash cd scholar-service mvn spring-boot:run ``` 后端默认端口为 `9966`。运行前需要准备 MySQL、Neo4j,并通过环境变量配置数据库、JWT、DeepSeek/OpenAI 兼容接口、邮箱和 NLP 服务地址。详细变量见 `.env.example`。 ### 3. NLP 服务 ```bash cd spacy-service pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 9967 ``` 接口包括: - `GET /health` - `POST /analyze` - `POST /analyze/batch` ## 配置说明 项目禁止提交真实密钥。当前仓库中的配置文件只保留环境变量占位,生产或本地运行时请在系统环境变量、启动脚本或部署平台中注入: - `MYSQL_URL` - `MYSQL_USERNAME` - `MYSQL_PASSWORD` - `NEO4J_URI` - `NEO4J_USERNAME` - `NEO4J_PASSWORD` - `JWT_SECRET` - `DEEPSEEK_API_KEY` - `SPACY_SERVICE_URL` - `MAIL_USERNAME` - `MAIL_PASSWORD` ## 文档 - `docs/系统实现说明.md`:前后端与 NLP 服务实现说明。 - `scholar-service/docs/api.md`:后端 API 文档。 - `scholar-service/docs/scholar.sql`:数据库建表脚本。 ## Gitee 发布 项目保留一个发布脚本:`scripts/publish-to-gitee.ps1`。脚本会克隆 Gitee 仓库、复制干净项目内容、排除依赖与构建产物,并推送到远端。 ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\publish-to-gitee.ps1 ``` ## 仓库清理规则 以下内容不上传仓库:依赖目录、构建产物、IDE 配置、本地日志、虚拟环境、缓存文件、本地环境变量和真实密钥。具体规则见根目录 `.gitignore`。