微信扫码
与创始人交个朋友
我要投稿
背景介绍
知识图谱通过节点和关系展示数据之间的联系,被广泛应用于数据挖掘、推荐系统、语义搜索等领域。本文将介绍如何利用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+中大型企业
2024-11-15
大语言模型与图结构的融合:推荐系统中的新兴范式
2024-11-15
利用LLM构建非结构化文本的知识图谱
2024-11-13
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
2024-11-13
利用LLM Graph Transformer实现知识图谱的高效构建
2024-11-12
什么是知识图谱和AI多模态推理
2024-11-12
Graph Maker:轻松使用开源大模型将文本转为知识图谱,发现新知识!
2024-11-11
iText2KG:使用LLM构建增量知识图谱(KG)
2024-11-08
NebulaGraph 在中医药领域的应用:构建鼻炎知识图谱
2024-07-17
2024-07-11
2024-07-13
2024-08-13
2024-07-08
2024-07-12
2024-07-26
2024-06-10
2024-07-04
2024-06-24
2024-11-04
2024-10-10
2024-10-03
2024-09-27
2024-09-08
2024-09-05
2024-08-27
2024-08-24