ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【技术免费分享-知识图谱的构建】SpringBoot+Vue.js知识图谱中药可视化系统

2021-07-28 11:34:41  阅读:483  来源: 互联网

标签:Vue return admin 图谱 知识 用户 管理员 ServerResponse import


讲两句

现在基本上网上很少有知识图谱完整案例的构建,咱们开发者对于怎么构建没有一点思路,知识图谱基本就两个构建方法:方法1 neo4j图数据库; 方法2 echarts图谱插件。 我觉得方法2比较简单,主要省事。
下面带领大家进入中药可视化知识图谱的构建环节,带领大家熟悉如何开发知识图谱,免费分享技术知识

如何开发知识图谱

用户信息管理:新用户注册,已有账号再登录,用户注销,用户信息修改。
2. 中药材信息查询:用户可以点击系统给出的或按编码或按药性等条件进行查询,或通过搜索框自主输入想要查询的信息进行中药材查询。
3. 中药材资讯社区:进入后首页顶部有推荐咨询可供浏览,依靠基于内容的推荐算法(即基于用户与标的物的相关信息以及用户对标的物的操作行为来构成推荐算法模型为用户提供推荐服务)实现实时咨询推荐。推荐底下是最新审核并通过的资讯按发布时间进行排位。点击进入资讯后可以关注资讯的作者、点赞或收藏资讯。在资讯底部可以进行评论、回复和点赞评论。第二页是用户的消息与评论管理,可以接收系统消息、回复他人的评论以及删除自己的评论。最后一页是资讯发布及删除,用户可以利用图文与视频编辑自己的文章然后送审,经管理员审核通过即可成功发布。无论发布成功与否用户都可以选择删除自己所发布的文章。
4. 中药材产地可视化:内含全国省份的中药材种类分布地图(类似疫情地图),用户可以点击省份可查看该省份的药材种类数量及详情跳转;以及全国各省中药材种类分布的统计饼图、直方图;跳转详情页后可点击省份内不同地区查看药材产出种类详情。倘若信息出现错误,用户可以向后台管理员发送纠错申请。
用户知识图谱构建
管理员信息管理:管理员登录,用户注销,管理员的个人信息修改。
2. 用户信息管理:管理员可对用户信息进行查询,可以修改和重置用户的密码(初始密码默认为123456),也可以注销用户。
3. 中药材信息管理:管理员可以点击搜索框自主输入查询,也可以对中药材信息进行增删改等操作。
4. 中药材资讯社区管理:管理员可以进行中药材资讯发布;负责用户的文章审核,只有通过审核的用户文章才能成功发布;管理员还可以查看一系列的资讯统计,对资讯进行查询和删除。
5. 中药材产地可视化:管理员除了基本的浏览以外,还拥有地图和图表的信息管理权限,可以审核和处理用户的纠错申请,以此对一些数据信息进行修改。
后台知识图谱构建

知识图谱构建技术

  • 可视化门户网站 (Vue + Bootstrap)
  • 管理后台网站(Vue + ElementUI)
  • 服务端(Springboot + Mybatis)

服务端一个后台可以拖两个前端,前端的端口是不同的,可以同时启动

关键技术

关系图和药材地图都采用了Apache Echarts 5中的组件,进行了一定封装

  • 产地地图支持到县级的下钻

注意点

  • 药材的产地可以录入,录入后需要在产地管理中点击刷新按钮,刷新之后,数据会更新,再查询就会在地图上显示
  • 关系图谱来源于药方,只要添加了药方,并且药方中的药材在系统里已经添加了,就会自动绘制,节点大小和位置是随机的

开发过程分享

SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
实现代码如下:

package com.university.demo.controller;



import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.university.demo.common.ServerResponse;
import com.university.demo.common.UserLoginToken;
import com.university.demo.entity.Admin;
import com.university.demo.entity.request.PasswordVO;
import com.university.demo.entity.request.UserLoginRequest;
import com.university.demo.service.AdminService;
import com.university.demo.service.impl.TokenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

/**
 * @author lequal
 * @since 2020-03-06
 */
@RestController
@RequestMapping("/admin")
public class AdminController {

    @Autowired
    private AdminService adminService;
    @Autowired
    private TokenService tokenService;

    /**
     * 管理员登录
     * @param adminLoginRequest
     * @return
     */
    //@SysLog("测试")
    @PostMapping("/login")
    public ServerResponse login(@RequestBody UserLoginRequest adminLoginRequest) throws Exception{
        Map<String, Object> map = new HashMap();
        Admin admin = adminService.adminLogin(adminLoginRequest.getUsername(), adminLoginRequest.getPassword());
        if (admin != null){
            String token = tokenService.getToken(admin);
            admin.setToken(token);
            adminService.saveOrUpdate(admin);
            map.put("admin", admin);
            map.put("token", token);
            return ServerResponse.ofSuccess(map);
        }
        return ServerResponse.ofError("用户名或密码错误!");
    }

    @PostMapping("/logout")
    public ServerResponse logout(@RequestBody UserLoginRequest request) {
        Map<String, Object> map = new HashMap();
        Integer ret = adminService.adminLogout(request.getToken());
        System.out.println("ret==>" + ret);
        return ServerResponse.ofSuccess("注销成功");
    }

    @GetMapping("/info")
    public ServerResponse info(@RequestParam String token) {
        Map<String, Object> map = new HashMap();
        Admin admin = adminService.info(token);
        if (admin != null){
            map.put("userinfo", admin);
            return ServerResponse.ofSuccess(map);
        }
        return ServerResponse.ofError("token无效!");
    }
    /**
     * 管理员更新个人资料
     * @return
     */
    //@UserLoginToken
    @PostMapping("/modify")
    public ServerResponse modify(@RequestBody Admin admin) {
        return adminService.updateById(admin) ? ServerResponse.ofSuccess("更新成功!") : ServerResponse.ofError("更新失败!");
    }

    /**
     * 根据ID查询管理员信息
     * @param id
     * @return
     */
    @GetMapping("/{id}")
    public ServerResponse queryAdmin(@PathVariable("id") Integer id) {
        return ServerResponse.ofSuccess(adminService.getById(id));
    }


    /**
     * 管理员修改密码
     * @param passwordVO
     * @return
     */
    @PostMapping("/password")
    public ServerResponse updatePass(@RequestBody PasswordVO passwordVO) {
        System.out.println(passwordVO + "======");
        QueryWrapper<Admin> wrapper = new QueryWrapper();
        wrapper.eq("id", passwordVO.getId());
        wrapper.eq("password", passwordVO.getOldPass());
        Admin admin = adminService.getOne(wrapper);
        if (admin == null) {
            return ServerResponse.ofError("旧密码错误");
        }
        // 否则进入修改密码流程
        admin.setPassword(passwordVO.getNewPass());
        boolean b = adminService.updateById(admin);
        if (b) {
            return ServerResponse.ofSuccess("密码修改成功");
        }
        return ServerResponse.ofError("密码更新失败");
    }


}


SpringBoot+Vue.js知识图谱中药可视化系统
SpringBoot+Vue.js知识图谱中药可视化系统
实现代码如下:

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"'
})

技术总结

关于知识图谱,经过现在分析,大家应该都能开发了,我的目的就是帮助大家学会springboot+vue.js组合开发知识图谱,奥利给,未来可期

标签:Vue,return,admin,图谱,知识,用户,管理员,ServerResponse,import
来源: https://blog.csdn.net/qq_34378776/article/details/119175116

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有