微信扫码
添加专属顾问
我要投稿
背景介绍
知识图谱通过节点和关系展示数据之间的联系,被广泛应用于数据挖掘、推荐系统、语义搜索等领域。本文将介绍如何利用Neo4j数据库和Pyvis库,通过Flask实现仅展示当日数据的知识图谱。
实现步骤
Part.01
环境配置
首先,设置Neo4j数据库的连接参数,并引入必要的Python库:
from neo4j import GraphDatabasefrom pyvis.network import Network确保已正确配置Neo4j连接和Pyvis安装。
Part.02
数据查询与处理
我们在查询当日数据时遇到了一个问题:查询结果显示为全部数据,而不是仅当日数据。导致问题的原因是每次生成图表时,之前的数据没有清空,导致结果叠加。
MATCH (a)-[r]->(b) WHERE a.username = $username AND type(r) <> 'MENTIONS' AND a.timestamp.year = date().year AND a.timestamp.month = date().month AND a.timestamp.day = date().day RETURN a, r, b
该查询语句提取当前用户在当天的所有节点和关系数据。
Part.03
问题解决
为了确保每次生成图时内容清空,我们在每次生成图表前重置Pyvis的Network对象。具体做法是,在生成图表的函数中,每次调用前重新初始化Network对象:
self.visual_graph = Network(height="750px", width="100%", bgcolor="#ffffff", font_color="black")
Part.04
数据可视化
遍历查询结果,将节点和关系添加到网络图中,并生成HTML文件:
self.visual_graph.show("knowledge_graph.html")
结论
本文介绍了如何利用Neo4j和Pyvis,通过Flask实现仅展示当日数据的知识图谱。在遇到当日数据显示为全部数据的问题时,通过每次生成图前重置网络图对象的方法成功解决了问题。该方法不仅适用于单日数据的展示,还可以扩展到其他时间范围的数据可视化应用中。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-03
Dify+Ollama+Deepseek+BGE-M3来搭建本地知识库实操
2025-04-03
Dify+RAGFlow打造企业级智能知识库:PDF表格秒变结构化数据,检索精准度暴增
2025-04-01
官宣,Milvus SDK v2发布!原生异步接口、支持MCP、性能提升
2025-03-31
从Milvus Operator聊聊,手动运维终将被淘汰
2025-03-30
大模型+知识图谱:重塑企业制度标准管理
2025-03-30
解锁LLM知识库检索:高返回率背后的关键密码
2025-03-29
RAG知识库的数据方案:图数据库、向量数据库和知识图谱怎么选?
2025-03-28
知识图谱落地难,大道至简,二八定律——RAG+Agent
2025-01-02
2024-07-17
2024-08-13
2025-01-03
2024-07-11
2024-08-27
2024-06-24
2024-07-13
2024-07-12
2024-06-10
2025-03-29
2025-02-13
2025-01-14
2025-01-10
2025-01-06
2025-01-02
2024-12-16
2024-12-10