springboot基于java的中医方剂知识图谱构建(源码+文档+调试+vue+前后端分离)
中医方剂知识图谱的构建是当今中医药领域的一项重要研究课题,其意义深远。通过系统化、结构化地整理和管理中医方剂知识,可以为中医药的研究和实践提供强大的支持和指导。而构建中医方剂知识图谱所带来的价值不仅仅局限于此,它还有助于推动中医药在现代医学中的传承和发展。本文使用Java语言和以及Mysql数据库作为开发技术,并且使用NEO4J数据库进行知识图谱的创建,通过将数据写入CSV文件,进行知识图谱的调取
前言
中医方剂知识图谱的构建是当今中医药领域的一项重要研究课题,其意义深远。通过系统化、结构化地整理和管理中医方剂知识,可以为中医药的研究和实践提供强大的支持和指导。而构建中医方剂知识图谱所带来的价值不仅仅局限于此,它还有助于推动中医药在现代医学中的传承和发展。本文使用Java语言和以及Mysql数据库作为开发技术,并且使用NEO4J数据库进行知识图谱的创建,通过将数据写入CSV文件,进行知识图谱的调取,然后通过Java语言进行系统的设计,并且利用MySQL数据库以及CSV文件的调取,使得知识图谱变得可视化,而系统其他功能跟随MySQL数据库进行设计,然后利用知识图谱进行搜索中医方剂信息,创建中医方剂信息的连接性。
详细视频演示
文章底部名片,联系我看更详细的演示视频
一、项目介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
二、功能介绍
为了更好地理解系统需求,我们将使用用例分析方法来详细描述基于知识图谱的中医方剂信息系统的用例。
(1)查看知识图谱中的中医方剂信息。在系统中,我们使用了知识图谱来组织和展示中医方剂信息,并以图形化的方式呈现。用户可以通过浏览知识图谱更直观地理解中医方剂的信息,以及中医方剂之间的联系,并从全局的角度掌握行业发展动态。
(2)数据导出与分享。用户可以将所需的中医方剂信息导出为CSV等格式,以便在其他工具中使用或进行进一步处理。当用户需要将系统中获取到的中医方剂信息用于其他用途时,他们可以选择将其导出为常见的数据格式,如CSV。这样一来,用户可以方便地在其他工具中打开、编辑和分析这些数据。
通过以上几个用例分析,我们详细描述了基于知识图谱的中医方剂信息系统所提供的功能和服务。这些功能旨在帮助用户快速准确地搜索中医方剂信息,浏览详细内容,并且方便地导出和分享所需数据。通过这样一个系统,用户可以更高效地获取中医方剂信息,并在商务决策、市场研究等领域中得到支持和帮助[[]]。
系统功能模块设计是指将系统的功能划分为不同的模块,每个模块负责实现系统的一个或多个功能。每个模块应该有清晰的接口定义和功能划分,以便于开发和维护。在进行系统功能模块设计时,应该根据系统的需求和用户需求来确定功能模块的划分。可以通过用户需求分析、用例分析等方法来确定系统的功能模块。每个功能模块应该有明确的功能定义和功能说明,包括输入、输出、处理逻辑等内容。可以使用流程图、状态图等工具来描述功能模块的流程和状态转。系统功能模块设计需要考虑功能的完整性、一致性和可扩展性。模块之间的接口应该清晰明确,便于开发和集成[[]]。
图4-1 中医方剂信息功能结构图
三、核心代码
部分代码:
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
数据库参考
四、效果图
五、文章目录
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 研究背景 1
1.2 国内外研究现状 1
1.3 研究内容和研究目标 2
第2章 相关技术介绍 3
2.1 Java语言 3
2.2 springboot框架 4
2.3 Mybatis 4
2.4 NEO4J数据库 4
2.5Mysql数据库 5
第3章 系统需求分析 6
3.1 可行性分析 6
3.2 功能需求分析 6
3.3数据流程分析 7
第4章 系统设设计 9
4.1 系统体系结构 9
4.2 系统功能模块设计 9
4.3 系统业务流程图 10
4.4 数据采集部分具体说明 10
4.5 数据库设计 10
4.6数据库ER图 12
第5章 系统实现 14
5.1管理员登录 14
5.2 图谱世界 14
5.3 图谱维护 16
5.4用户管理 17
5.5 统计图表 19
5.6 关系维护 19
5.7 节点维护 21
第6章 系统测试 22
6.1 测试方法 22
6.2 功能测试 22
6.3 测试结果 24
第7章 总结和展望 25
参考文献 25
致 谢 26
更多推荐
所有评论(0)