当前位置: 首页 > news >正文

vue+flask+GNN+neo4j图书知识图谱推荐系统

文章结尾部分有CSDN官方提供的学长 联系方式名片
文章结尾部分有CSDN官方提供的学长 联系方式名片
关注B站,有好处!

编号: F025 pro

架构: vue+flask+neo4j+mysql+pytorch
亮点:两种基于知识图谱的推荐算法(GNN和基于路径推荐)+基于用户协同过滤(总共三种推荐算法)
支持爬取图书数据,数据超过万条,知识图谱节点几万个

架构说明

在这里插入图片描述

系统架构主要分为以下几个部分:用户前端后端服务数据库数据爬取与处理。各部分通过协调工作,实现数据的采集、存储、处理以及展示。具体如下:

1. 用户前端

用户通过浏览器访问系统,前端采用了基于 Vue.js 的技术栈来构建。

  • 浏览器:作为用户与系统交互的媒介,用户通过浏览器进行各种操作,如浏览图书、获取推荐等。
  • Vue 前端:使用 Vue.js 框架搭建前端界面,包含 HTML、CSS、JavaScript,以及 Vuex(用于状态管理),vue-router(用于路由管理),和 Echarts(用于数据可视化)等组件。前端向后端发送请求并接收响应,展示处理后的数据。

2. 后端服务

后端服务采用 Flask 框架,负责处理前端请求,执行业务逻辑,并与数据库进行交互。

  • Flask 后端:使用 Python 编写,借助 Flask 框架处理 HTTP 请求。通过 SQLAlchemy 与 MySQL 进行交互,通过 py2neo 与 Neo4j 进行交互。后端主要负责业务逻辑处理、 数据查询、数据分析以及推荐算法的实现。

3. 数据库

系统使用了两种数据库:关系型数据库 MySQL 和图数据库 Neo4j。

  • MySQL:存储从网络爬取的基本数据。数据爬取程序从外部数据源获取数据,并将其存储在 MySQL 中。MySQL 主要用于存储和管理结构化数据。
  • Neo4j:存储图谱数据,特别是用户、图书及其关系(如阅读、写、出版等)。通过利用 py2neo 库将 MySQL 中的数据结构化为图节点和关系,再通过图谱生成程序(可能是一个 Python 脚本)将其导入到 Neo4j 中。

4. 数据爬取与处理

数据通过爬虫从外部数据源获取,并存储在 MySQL 数据库中,然后将数据转换为图结构并存储在 Neo4j 中。

  • 爬虫:实现数据采集,从网络数据源抓取相关信息。爬取的数据首先存储在 MySQL 数据库中。
  • 图谱生成程序:利用 py2neo 将爬取到的结构化数据(如用户、图书、作者、出版社,以及它们之间的关系)从 MySQL 导入到 Neo4j 中。通过构建图谱数据,使得后端能够进行复杂的图查询和推荐计算。

工作流程

  1. 数据爬取:爬虫程序从外部数据源抓取数据并存储到 MySQL 数据库中。
  2. 数据处理与导入:图谱生成程序将 MySQL 中的数据转换为图结构并导入到 Neo4j 中,利用 py2neo 与 Neo4j 交互。
  3. 前后端交互
    • 用户通过浏览器访问系统,前端用 Vue.js 构建,提供友好的用户界面和交互。
    • 前端向 Flask 后端发送请求,获取图书信息或推荐图书。
  4. 推荐算法:后端在接收请求后,利用 Neo4j 图数据库中的数据和关系进行处理(如推荐计算),并使用 py2neo 库与 Neo4j 交互获取数据结果。
  5. 数据返回与展示:后端将计算结果返回给前端进行展示,通过 Vue.js 的图表库(如 Echarts)进行数据可视化,让用户得到直观的推荐结果和分析信息。

小结

这套系统通过整合爬虫、关系型数据库、图数据库,以及前后端的协调配合,实现了数据的高效采集、存储、处理、推荐和展示。从用户体验的角度,系统能够提供高度个性化的推荐,并通过图形化的方式呈现数据分析结果。

功能介绍

0 图谱构建

利用python读取数据并且构建图谱到neo4j中
在这里插入图片描述
在这里插入图片描述

1 系统主页,统计页面

在这里插入图片描述

2 知识图谱

支持可视化
在这里插入图片描述

支持模糊搜索,比如搜索法国作家 加缪
在这里插入图片描述

3 推荐算法

没有登录无法推荐
在这里插入图片描述

基于GNN 图神经网络训练和推荐
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于知识图谱路径的推荐算法
在这里插入图片描述
在这里插入图片描述

基于用户协同过滤推荐算法推荐
在这里插入图片描述

点击可以进入图书详情页面(可以查看 名称、作者、系列、图片、装帧、用户给图书的评分)
在这里插入图片描述

支持使用评分控件进行评分
在这里插入图片描述

4 可视化分析

分为4个页面
图书出版地图分析
在这里插入图片描述

图书分析
在这里插入图片描述

图书评分分析
在这里插入图片描述

图书词云分析
在这里插入图片描述

5 登录与注册

支持登录与注册
在这里插入图片描述

在这里插入图片描述

相关文章:

vue+flask+GNN+neo4j图书知识图谱推荐系统

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 编号: F025 pro 架构: vueflaskneo4jmysqlpytorch 亮点:两种基于知识图谱的推荐算法(GNN和基于路径推荐&#x…...

小程序页面传值的多种方式

开发小程序,总是避免不了页面和页面之间数据共享,实现方法有很多种,以下就讲解一下小程序页面传值,需要的朋友可以参考下。 1 使用wx.navigateTo()传值 这种传值方式有两种, url后面拼接传值:需要跳转的…...

基于SSM框架的校园食堂小程序设计与实现

概述 基于SSM框架开发的微信小程序民大食堂用餐综合服务平台,该系统集成了商家管理、餐品展示、在线点。 主要内容 一、管理员模块功能实现 ​​用户信息管理​​ 管理员可添加、查看和删除用户信息,确保平台用户数据安全可靠。 ​​商家信息管理​​…...

FOC算法对MCU计算资源的需求?

评估FOC(磁场定向控制)算法对MCU计算资源的需求,需从算法复杂度、硬件特性、实时性要求等多维度分析。以下是具体步骤和关键要点: 一、拆解FOC算法的核心模块及计算复杂度 FOC算法主要由以下子模块组成,需分别评估各模块的计算量: 1. 传感器采样与预处理 ADC采样:电流…...

在 Excel 中使用通义灵码辅助开发 VBA 程序

VBA 简介 VBA 是一种用于微软办公套件(如 Word、Excel、PowerPoint 等)的编程语言,它本质上是一种内嵌的脚本,或者可以认为是一段命令,其标准叫法被称为宏。 VBA 只能依赖于对应的软件进行开发,例如本文就…...

嵌入式基础(三)基础外设

嵌入式基础(三)基础外设 1.什么是UART?与USART有什么区别⭐⭐⭐ (1)什么是UART 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。是一种异步全双工串行通信协议,它将要…...

【微服务管理】深入理解 Gateway 网关:原理与实现

在当今微服务架构盛行的时代,Gateway 网关扮演着举足轻重的角色。它作为微服务架构的重要组成部分,为系统提供了统一的入口,承担着诸如路由转发、负载均衡、安全防护、流量控制等关键功能。本文将深入探讨 Gateway 网关的底层原理&#xff0c…...

AI与无人驾驶汽车:如何通过机器学习提升自动驾驶系统的安全性?

引言 想象一下,在高速公路上,一辆无人驾驶汽车正平稳行驶。突然,前方的车辆紧急刹车,而旁边车道有一辆摩托车正快速接近。在这千钧一发的瞬间,自动驾驶系统迅速分析路况,判断最安全的避险方案,精…...

【网络安全】通过 JS 寻找接口实现权限突破

未经许可,不得转载。 本文所述所有风险点均已修复。 文章目录 引言正文引言 以下些漏洞已被起亚方面修复;起亚方面确认,这些漏洞从未被恶意利用过。 2024年6月11日,我们发现起亚汽车存在一系列严重安全漏洞,攻击者仅凭车牌号即可远程控制车辆的核心功能。该攻击不需要接触…...

【HarmonyOS NEXT】多目标产物构建实践

目录 什么是多产物构建 如何定义多个构建产物 如何在项目中使用 参考文章 什么是多产物构建 在鸿蒙应用开发中,一个应用可定义多个 product,每一个 product 对应一个定制的 APP 包,每个 product 中支持对 bundleName、bundleType、输出产…...

Openlayers:实现聚合

一、什么是聚合 聚合是一种将一定范围内的多个图形合并为一个图形的一种技术方案。通常用来解决图形过于集中或者图形数量过多的问题。 在Openlayers中主要通过Cluster数据源来实现聚合的效果。与其它的数据源不同,Cluster数据源在实例化时需要接收一个矢量数据源…...

相机内外参

文章目录 相机内参相机外参 相机的内外参是相机标定过程中确定的重要参数,用于建立图像像素坐标与实际世界坐标之间的关系。 相机内参 定义:相机内参是描述相机内部光学和几何特性的参数,主要包括焦距、主点坐标、像素尺度因子以及畸变系数等…...

轨道力学课程习题集

轨道力学课程习题集 第一讲:轨道力学概述 思考题 推导开普勒第三定律与牛顿万有引力定律的关系。 计算地球表面的第一宇宙速度和第二宇宙速度。 设计一个太阳同步轨道,高度为800公里,要求当地时间为上午10:30。 分析地球静止轨道的稳定性…...

【Web三十一】K8S的常用命令

01 基础资源操作​​ 查看资源​​ # 查看 kube-system 命名空间下的 Pod 列表 kubectl get pods -n kube-system# 查看节点详细信息(IP、状态等) kubectl get nodes -o wide# 按标签筛选 Pod(例如筛选标签 appnginx 的 Pod) ku…...

GDPR/CCPA

定义 GDPR(通用数据保护条例) 适用范围:适用于欧盟境内所有成员国,以及处理欧盟居民个人数据的全球企业。 数据主体权利:用户有权知道、访问、更正、删除(被遗忘权)自己的数据,还有…...

Lua中的元表

2025年4月14日,周一上午 Lua中的元表(metatable)是一种特殊的表,用于定义或修改其他表(或用户数据类型)的行为。通过元表中的元方法(meta-methods),开发者可以自定义表在…...

Sql Server(自用查看版)

目录 1、基本数据库相关概念 1.1数据Data 1.2数据库DataBase,DB 1.3数据库管理系统DataBase Management System,DBMS 1.4数据库系统 DataBase System DBS 1.5数据库系列架构 2、SQL sever 基本概念 单表查询 查询所有列的信息,用* 查询部分列&#xff1a…...

【JavaScript】二十、电梯导航栏的实现

文章目录 1、案例:电梯导航1.1 需求分析与实现1.2 关键思路梳理 2、属性选择器补充 1、案例:电梯导航 1.1 需求分析与实现 需求:点击不同的模块,页面可以自动跳转不同的位置 模块分析: 页面滚动到对应位置,导航显示…...

【Python】OpenCV图像处理

文章目录 OpenCV安装查看版本getVersionString查看图片像素shape打开图片imshowRGB灰度图图像裁剪image绘制处理噪点图像特征提取匹配图像梯度(canny边缘检测)阈值图像的形态学(腐蚀、膨胀)打开电脑的摄像头 OpenCV OpenCV&#…...

HTTP协议 --- 超文本传输协议 和 TCP --- 传输控制协议

是基于 TCP 协议的 80 端口的一种 C/S 架构协议。 特点:无状态 --- 数据传输完成后,会断开 TCP 连接,哪怕浏览器还正常运行。 请求报文 --- 方法 响应报文 --- 状态码 是一种面向连接的可靠传输协议 。 面向连接 --- 在传输数据之前&am…...

微信小程序实现table样式,自带合并行合并列

微信小程序在代码编写过程好像不支持原生table的使用&#xff0c;在开发过程中偶尔又得需要拿table来展示。 1.table效果展示 1.wxml <view class"table-container"><view class"table"><view class"table-row"><view cla…...

【NLP】25.python实现点积注意力,加性注意力,Decoder(解码器)与 Attention

1. 点积注意力&#xff08;Dot-Product Attention&#xff09; 点积注意力是最简单的注意力机制之一&#xff0c;其基本思想是通过计算查询&#xff08;query&#xff09;和键&#xff08;key&#xff09;之间的点积来得到相似度&#xff0c;进而为每个值&#xff08;value&am…...

基础贪心算法集合2(10题)

目录 1.单调递增的数字 2.坏了的计算器 3.合并区间 4.无重叠区间 5. 用最少数量的箭引爆气球 6.整数替换 解法1&#xff1a;模拟记忆化搜索 解法2位运算贪心 7.俄罗斯套娃信封问题 补充.堆箱子 8.可被3整除的最大和 9.距离相等的条形码 10.重构字符串 1.单调递增的数字…...

Oracle OCP知识点详解3:使用 vim 编辑文件

一、Vim 核心模式解析 1.1 模式切换图谱 graph LR A[普通模式] -->|i/I/a/A| B[插入模式] B -->|Esc| A A -->|v/V/Ctrlv| C[可视模式] A -->|: / ?| D[命令模式] C -->|Esc| A D -->|Enter| A 1.2 Oracle 场景高频模式组合 模式组合应用场景操作效率提…...

项目风险的早期识别与应对清单

项目风险的早期识别与应对策略的核心在于&#xff1a; 建立系统化的风险识别流程、评估风险的影响程度、制定详细的应对措施、持续监控与调整风险管理计划。 其中&#xff0c;建立系统化的风险识别流程是风险管理的第一步&#xff0c;也是最为关键的一环。通过构建一套有效的识…...

springboot数据动态脱敏

反射Jackson数据动态脱敏 我有两个字段&#xff0c;name和type&#xff0c;我想要在type为1对数据脱敏&#xff0c;而其他情况不脱敏&#xff1a; CustomSerializer注解 Target(ElementType.FIELD) //表示这个注解只能用在字段上 Retention(RetentionPolicy.RUNTIME) //注解…...

算法:定义一个数组的的陡峭值为:相邻两个元素之差的绝对值之和。

定义一个数组的的陡峭值为:相邻两个元素之差的绝对值之和。现在小红拿到了一个数组&#xff0c;她有多次询问&#xff0c;每次查询一段连续子数组的陡峭值。你能帮帮她吗? 连续子数组为从原数组中&#xff0c;连续的选择一段元素(可以全选、可以不选)得到的新数组。 输入描述 …...

【AI提示词】网络安全专家

提示说明 网络安全专家在数字时代扮演着至关重要的角色&#xff0c;他们通过专业的知识和技能保护网络系统免受攻击和破坏&#xff0c;确保数据的安全和隐私。 提示词 # 角色 网络安全专家## 性格类型指标 INTP&#xff08;内向直觉思维感知型&#xff09;## 背景 网络安全专…...

AI大模型原理可视化工具:深入浅出理解大语言模型的工作原理

AI大模型原理可视化工具&#xff1a;深入浅出理解大语言模型的工作原理 在人工智能快速发展的今天&#xff0c;大语言模型&#xff08;如GPT、BERT等&#xff09;已经成为改变世界的重要技术。但对于很多人来说&#xff0c;理解这些模型的工作原理仍然是一个挑战。为了帮助更多…...

解决无人机无人化自主巡检面对的新挑战-机载通信、控制及算力的AIBOX

解决无人机无人化自主巡检面对的新挑战-机载通信、控制及算力的AIBOX 之前的微文&#xff1a;基于无人机的无人化自主巡检-大疆机场3M4TD&#xff0c;介绍了机场3的无人机无人机巡检的特点以及局限性。此处从通信增强、飞行及位置服务增强、智慧飞行以及无人机编队几个方面阐述…...

供应商涨价,项目如何控制采购成本

优化供应商结构、严格控制交付流程、强化谈判策略、设置弹性预算、建立长远合作机制 来有效控制采购成本。其中&#xff0c;强化谈判策略 是最核心的一步&#xff1a;不仅要明确价格承受范围&#xff0c;还需根据对方供应链特点和市场行情&#xff0c;准备多套备选方案&#xf…...

newbee商城购物车模块mapper.xml

1.浏览代码 1&#xff09;表 自定义 DROP TABLE IF EXISTS tb_newbee_mall_shopping_cart_item; CREATE TABLE tb_newbee_mall_shopping_cart_item (cart_item_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 购物项主键id,user_id bigint(20) NOT NULL COMMENT 用户主键id…...

高级java每日一道面试题-2025年4月07日-微服务篇[Nacos篇]-如何监控Nacos的运行状态?

如果有遗漏,评论区告诉我进行补充 面试官: 如何监控Nacos的运行状态&#xff1f; 我回答: 监控Nacos运行状态的综合方案 在Java高级面试中&#xff0c;监控Nacos运行状态是一个重要的技术点&#xff0c;它直接关系到微服务架构的稳定性和性能。以下是一个综合的监控方案&am…...

开源技术如何助力中小企业实现财务管理自主化?

中小企业的数字化困境与开源机遇 国际数据公司&#xff08;IDC&#xff09;研究显示&#xff0c;全球67%的中小企业因高昂的软件成本和僵化的功能设计&#xff0c;未能有效推进数字化转型。传统商业软件常面临三大矛盾&#xff1a; 功能冗余与核心需求缺失&#xff1a;标准化系…...

3D-DIC技术:煤层开采瓦斯防治的精准监测解决方案

3D-DIC非接触式三维全场应变测量系统是基于数字图像相关算法&#xff08;DIC&#xff09;的一种光学测定应变、变形的方法。由CCD相机、光源、支架、数据采集器和DIC软件组成。 一、DIC技术瓦斯防治应用 新拓三维XTDIC三维全场应变测量系统&#xff0c;通过两个工业相机采集图…...

CS5346 - Annotation in Visualization (可视化中的注释)

文章目录 Annotation 的重要性Levels of Annotation &#xff08;注释的层级&#xff09;Headings and IntroductionHeadings&#xff08;标题&#xff09;陈述型&#xff08;Statement&#xff09;&#xff1a;突出结论或有趣发现疑问型&#xff08;Question&#xff09;&…...

VRoid-Blender-Unity个人工作流笔记

流程 VRoid 选配模型>减面、减材质>导出vrm Blender&#xff08;先有CATS、vrm插件&#xff09; 导入vrm>Fix model>修骨骼>导出fbx Unity 找回贴图、改着色器、调着色器参数…… VRoid 减面 以模型不出现明显棱角为准。脸好像减面100也问题不大。 下…...

【ROS2】行为树 BehaviorTree(三):异步操作

【ROS】郭老二博文之:ROS目录 1、简述 前面的例子中,使用过同步节点 SyncActionNode,当调用到该节点时,成功返回SUCCESS,失败返回FAILURE,并且线程会等待该节点执行完毕。 如果需要异步操作,比如节点执行需要很长时间,不能立刻返回结果,可以先去执行其它任务,等该…...

Uniapp:本地存储

目录 一、概述二、分类三、同步存储&#xff1a;setStorageSync3.1 方法3.2 案例3.2.1 存储3.2.2 获取3.2.3 获取storage3.2.4 删除3.2.5 清空 四、异步存储&#xff1a;setStorage4.1 方法4.2 案例4.2.1 存储数据4.2.2 获取数据4.2.3 获取storage详情4.2.4 删除4.2.5 清空 一、…...

3D版的VLA——从3D VLA、SpatialVLA到PointVLA(不动VLM,仅动作专家中加入3D数据)

前言 之前写这篇文章的时候&#xff0c;就想解读下3D VLA来着&#xff0c;但一直因为和团队并行开发具身项目&#xff0c;很多解读被各种延后 更是各种出差&#xff0c;比如从25年3月下旬至今&#xff0c;连续出差三轮&#xff0c;绕中国半圈&#xff0c;具身占八成 第一轮 …...

Linux/Unix 命令pstree

pstree 是一个用于以树状结构显示系统中进程关系的 Linux/Unix 命令。它可以直观地展示进程的父子关系&#xff0c;帮助用户理解进程之间的层次结构。 基本用法 pstree [选项] [PID或用户名]如果不带参数&#xff0c;pstree 会显示所有进程的树状结构。可以指定 PID 来查看某个…...

探索Linux/Unix 系统中进程与文件的深层关系

在 Linux 和 Unix 系统中&#xff0c;“一切皆文件” 的设计哲学贯穿始终。这种理念不仅简化了系统的操作接口&#xff0c;也赋予了用户和开发者极大的灵活性。文件、目录、设备、网络套接字&#xff0c;甚至进程本身&#xff0c;都可以通过文件系统的形式进行访问和操作。其中…...

AI:线性代数之矩阵

从0到1吃透线性代数矩阵:码农必修的数学武器库 ⚔️🔥 🧩 矩阵基础概念(程序员视角) 在人工智能时代,矩阵早已突破数学课本的边界,成为程序员手中的瑞士军刀🔪。TensorFlow底层用矩阵实现张量计算⚡,OpenCV依赖矩阵完成图像卷积🌌,Spark MLlib通过矩阵分解进行…...

object类

equals() 方法 equals() 方法的原始定义是比较两个对象的内存地址是否相同&#xff0c;但在实际使用中&#xff0c;很多类都会重写这个方法&#xff0c;使其用于比较对象的内容是否相同。例如 String 类就重写了 equals() 方法&#xff0c;用于比较字符串的内容。 String str…...

MySQL表的使用(4)

首先回顾一下之前所学的增删查改&#xff0c;这些覆盖了平时使用的80% 我们上节课中学习到了MySQL的约束 其中Primary key 是主键约束&#xff0c;我们今天要学习的是外键约束 插入一个表 外键约束 父表 子表 这条记录中classid为5时候&#xff0c;不能插入&#xff1b; 删除…...

国产海光 DCU 资源监控脚本 + Promethues+grafana 深度解析

在当今数字化时代,对于服务器资源的高效监控与管理愈发重要。特别是在使用国产海光 DCU 的场景下,如何精准掌握其资源使用情况,成为了众多技术人员关注的焦点。本文将详细介绍一款国产海光 DCU 资源监控脚本,以及它与 Prometheus 和 Grafana 的结合使用,助力大家实现对 DC…...

视觉slam框架从理论到实践-第一节绪论

从opencv的基础实现学习完毕后&#xff0c;接下来依照视觉slam框架从理论到实践&#xff08;第二版&#xff09;的路线进行学习&#xff0c;主要以学习笔记的形式进行要点记录。 目录 1.数据里程计 2.后端优化 3.回环检测 4.建图 在视觉SLAM 中整体作业流程可分为&#xff1…...

基于若依的ruoyi-vue-plus的nbmade-boot在线表单的设计(二)后端方面的设计

希望大家一起能参与我的新开源项目nbmade-boot: 宁波智能制造低代码实训平台 主要目标是类似设计jeecgboot那样的online表单功能,因为online本身没有开源这部分代码,而我设计这个是完全开源的,所以希望大家支持支持,开源不容易。 今天主要是讲后端部门。 1、FormControl.ja…...

mapbox V3 新特性,加载风粒子动画

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️raster-particle 栅格粒子样式图层 api…...

开发一个答题pk小程序的大致成本是多少

答题 PK 小程序通常指的是一种允许用户之间进行实时或异步答题竞赛的应用程序&#xff0c;可能结合PK答题、积分系统、排行榜等功能。 一、首先&#xff0c;确定答题 PK 小程序的基本功能模块。这可能包括用户注册登录、题库管理、题目类型&#xff08;单选、多选、判断等&am…...