知识图谱最简单的demo实现——基于pyvis

5分钟搞定!用Python+PyVis快速构建可拖拽的知识图谱(附完整代码) 本文介绍如何利用Python和PyVis库,在5分钟内快速构建可交互、可拖拽的知识图谱可视化原型。无需复杂图数据库,通过处理三元组数据,即可生成易于分享的HTML文件,实现快速概念验证与演示,并附有完整代码示例。 阅读详情

1、前言

我们在上篇文章中介绍了知识图谱的简单实现,最后使用neo4j进行了展示,对于有些情况我们可能并不想为了查看知识图的结果再去安装一个软件去实现,那么我们能不能直接将三元组画出来呢/

接下来我们就介绍一个可视化的工具pyvis,来实现知识图谱的可视化

2、简单介绍pyvis

2.1 安装pyvis

安装其实很简单,直接pip就可以

pip install pyvis

2.2 创建节点

from pyvis.network import Network
net = Network(notebook=True)

net.add_node(1, label="张三")
net.add_node(2, label="李四")

net.nodes
#查看节点
[{'color': '#97c2fc', 'id': 1, 'label': '张三', 'shape': 'dot'},
 {'color': '#97c2fc', 'id': 2, 'label': '李四', 'shape': 'dot'}]

展示

net.show("basic.html")

在这里插入图片描述

2.3 创建边

net.add_edge(1,2, label="好朋友", color="blue", width=2)

在这里插入图片描述

这里的节点是可以拖动的,跟neo4j非常相似

3、知识图谱构建

实体和三元组还是来自于上一节的内容

3.1 创建节点

col = ["orange","blue","red","green","purple"]

def pyvis_node_create(net,ner_list_Nh,ner_list_Ni,ner_list_Ns,predicate):
    if len(ner_list_Nh)!=0:
        for i in range(len(ner_list_Nh)):
            #graph.create(Node('人名', name=ner_list_Nh[i]))
            net.add_node(i, label=ner_list_Nh[i],title = "人名", color=col[0])


    if len(ner_list_Ni)!=0:
        for i in range(len(ner_list_Ni)):
            #graph.create(Node('机构名', name=ner_list_Ni[i]))
            net.add_node( label=ner_list_Ni[i],title = "机构名", color=col[1])

    if len(ner_list_Ns)!=0:
        for i in range(len(ner_list_Ns)):
            #graph.create(Node('地名', name=ner_list_Ns[i]))
            net.add_node(100+i, label=ner_list_Ns[i],title = "地名", color=col[2])
            

    if len(predicate)!=0:
        for i in range(len(predicate)):
            #graph.create(Node('标签', name=predicate[i]))
            net.add_node(1000+i, label=predicate[i],title = "标签", color=col[3])

代码只需要将之前在neo4j创建节点的稍微改下就行

在这里插入图片描述

3.2 创建边

我们首先要创建一个节点名称和节点ID对应的字典

pyvis创建边必须是id–>id的,所以我们需要根据实体名称得到其在当前的节点ID,我们在进行创建边

def create_node_id_dic(net):
    dic_node_id={}
    for i in net.node_ids:
        #print(i)
        dic_node_id[str(net.node_map[i]["label"])] = i
    return  dic_node_id

得到的字典如下

{'苏轼': 0,
 '黄庭坚': 1,
 '常州': 100,
 '宋朝的著名文学家': 1000,
 '他的好朋友': 1001,
 '写词': 1002,
 '写诗': 1003}

创建边

def pyvis_relationship_create(net,kg_list,node_id_dic):
    for m in range(len(kg_list)):        
        try:
            net.add_edge(node_id_dic[kg_list[m][0]], node_id_dic[kg_list[m][2]], label=kg_list[m][1], color="blue", width=2)

        except AttributeError as e:
            print(e, m)

在这里插入图片描述
结果跟在neo4j中是一样的

neo4j 知识图谱_古诗词知识图谱Demo 早前调研了知识图谱的基础概念和技术框架,最近这两个月倒腾了一个古诗词的图谱demo,仅以此文记录一下实验过程。从零开始做这个Demo,整个过程大致分为三大步骤:数据采集,数据存储以及图谱应用,全文将按这三步进行记录。一、数据采集既然是从零开始,那第一步就是要爬取数据。搜了几个诗词网站,对比网页排版结构和内容丰富程度,个人觉得古诗词网是个不错的选择,在这里感谢站长为经典文化传承作出的贡献。1. 网页... 阅读详情

相关推荐

基于Apache Doris一站式构建知识图谱增强RAG系统

如果你正在构建一个企业级的 AI 应用,比如一个智能客服或文档问答系统,你很可能已经接触过 RAG(检索增强生成)技术。它能解决大模型“幻觉”和知识陈旧的问题,但你是否也遇到了这些瓶颈:当用户问“我们公司产品A和产品B在技术架构上的主要区别是什么?”时,基础 RAG 返回的答案往往只是几个相关文档片段的拼接,缺乏逻辑关联,甚至可能遗漏关键对比信息。问题的根源在于,传统 RAG 将知识“打碎”成孤立的片段,丢失了实体间的深层联系。 这正是知识图谱的价值所在。它能将非结构化文档转化为结构化的“实体-关系”网络,

闲谈 425

SDU棋界精灵——知识图谱构建工具

是一个基于 Python 的交互式网络可视化库,基于vis.js库实现,支持节点拖拽、点击交互、动态布局调整等功能。:在生成的HTML中检查:人物节点是否与地点、棋类正确连接悬停提示是否显示完整属性(如生卒年份)

m0_74315633的博客 480

从向量RAG到知识图谱RAG:构建工业级故障推理引擎实战(完整源代码)

本文介绍了一种基于知识图谱的工业设备故障智能问答系统,通过LlamaIndex+Neo4j+GraphRAG技术解决传统向量RAG在工业维保场景中的三大痛点:缺乏关系推理、黑盒不可解释和检索孤岛问题。系统采用双引擎架构,微观层面通过知识图谱路径查询实现精准故障诊断,宏观层面利用社区发现技术回答系统性问题。核心技术包括:1)将维修手册转化为结构化知识图谱;2)结合人工规则和LLM自动抽取构建混合知识库;3)设计专用解析器处理工业领域数据特性。该系统实现了从"模糊匹配"到"逻辑推理

专注RAG、Agents、Dify、Ragflow、知识图谱等大模型应用研发企业落地实践、案例教程、最新技术动态等内容,重在技术前沿、企业应用和实战,欢迎大家交流。 520

零基础入门:用Pyvis快速构建知识图谱可视化Demo

本文介绍了如何使用Pyvis快速构建知识图谱可视化Demo,适合零基础用户入门。通过5行代码即可生成交互式图谱,支持三元组数据处理和高级美化技巧,帮助用户轻松实现知识图谱的可视化展示。

kite3的博客 159

Python构建医疗知识图谱:从文本抽取到图谱问答

知识图谱是一种以节点和边表达实体及其语义关系的结构化知识表示方法,其核心原理在于将非结构化信息转化为可计算、可推理的网状逻辑。相比传统关系型数据库,它天然适配医疗领域中疾病、症状、药物、检查等多维强关联特性,显著提升复杂条件查询效率与可解释性。技术价值体现在轻量级实现(无需大模型)、高精度规则驱动抽取、毫秒级图遍历响应,以及面向临床决策的路径可追溯能力。典型应用场景包括指南结构化、用药禁忌推理、并发症链分析及教学辅助问答系统。本文聚焦基于Python的端到端医疗知识图谱构建实践,涵盖中文NER、Neo4j批

weixin_30607125的博客 169

中文开放域知识图谱实战:KnowledgeGraphData从下载到建图全解析

知识图谱通过“实体-关系-实体”三元组结构,将离散信息组织为可计算的语义网络,是支撑智能问答、推荐系统和检索增强生成(RAG)的核心基础设施。在大规模开放域场景中,高质量的中文知识图谱尤为稀缺,其构建与使用涉及数据清洗、格式解析、图存储等关键环节。本文围绕一个包含1.4亿实体、2.2亿三元组的中文开放域知识图谱数据集,从数据规模理解、文件格式排查、下载解压避坑,到ID映射回实体名、小规模可视化与Neo4j导入等实战流程,系统梳理了处理亿级图谱数据的方法论。无论是基于实体链接搭建KBQA,还是利用图谱增强RA

weixin_29062613的博客 297

【开源工具】tree_sitter_DataExtractor|使用 Python3的 PyVis 完成神经网络数据集的可视化

pyvis的教程比较草率,所以总结一下自己使用它的经过。将某些数据条目可视化出来,直观了解数据集构造,便于理解并编写其他程序。

shandianchengzi的博客 7931

pyvis:用于创建和可视化交互式网络图的Python包

Pyvis-用于可视化网络的Python库 描述 Pyvis是围绕 ,一个JavaScript可视化库。 文献资料 有关Pyvis的完整文档,请访问 安装 您可以通过pip安装pyvis: pip install pyvis 或者,如果您拥有项目的存档,则只需从顶层目录运行以下命令: python setup.py install 依存关系 快速开始 pyvis实例的最基本用例是创建一个Network对象并调用方法: from pyvis . network import Network g = Network () g . add_node ( 0 ) g . add_node ( 1 ) g . add_edge ( 0 , 1 ) g . show ( "basic.html" ) 带有示例的交互式笔记本游乐场

Python中社交网络可视化分析模块:PyVis,炫酷的图表信手拈来

在当今数据驱动的世界里,数据的可视化变得越来越重要。特别是在网络分析领域,将复杂的关系网络转换为直观的图形表示,对于理解和传达信息至关重要。在众多的数据可视化工具中,Python的Pyvis库以其简单性和强大的功能脱颖而出。Pyvis是一个专门用于创建和展示网络图的库,它基于JavaScript的vis.js库进行了高效的封装,提供了一种在Python环境中轻松创建交互式网络图的方法。它的使用场景...

weixin_43373042的博客 2540

STM32H750实战:用TIM+DMA驱动ADC/DAC实现音频回环(附CubeMX配置避坑指南)

本文详细介绍了在STM32H750上构建高保真、低延迟音频链路的实战方法。通过配置TIM定时器作为硬件节拍器,精准触发ADC采集与DAC播放,并利用DMA实现数据的自动搬运,全程无需CPU干预。文章重点剖析了CubeMX配置中的关键步骤与常见“坑点”,如ADC的Conversion Data Management模式选择、DMA的FIFO与Burst模式配置,以及STM32H7系列必须开启ADC全局中断等,并提供了完整的代码实现与调试验证指南。

1051

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

【数据挖掘】关系网络可视化

Pyvis 是一个 Python 库,用于创建和可视化网络图。它基于 Vis.js 库,可以生成交互式的 HTML 文件,让用户在网页上直观地查看和操作网络图。以下是 Pyvis 的主要功能和特点:1. 创建和可视化网络图:Pyvis 允许用户创建节点和边,并将其可视化。网络图可以是有向图或无向图。2. 集成 NetworkX:Pyvis 与 NetworkX 集成,可以直接从 NetworkX 图对象生成 Pyvis 图对象,方便用户将已有的 NetworkX 图转换为交互式的可视化图。

Talk is cheap. Show me the code 1585

在Ansys Mechanical中对磨损进行建模

在有限元分析中,磨损是通过移动接触表面上的节点来复制材料侵蚀来建模的。仿真迭代更新几何,并在每次更新后重新计算平衡,使过程成为非线性的。Ansys使用将压力、相对运动和材料阻力与表面损失联系起来的经验定律来处理连续介质尺度的磨损。要在Ansys Mechanical中激活磨损建模,必须使用TB,WEAR命令定义专用材料模型。该命令与 TBDATA 相结合,允许用户输入与磨损相关的材料常数,以控制磨损的计算方式以及在接触表面上的应用方式。

jkh920184196的博客 2610

使用 LangChain+大模型,基于文本数据构建知识图谱

知识图谱,也被称为语义图,是一种智能结构,以高效的方式存储数据。数据以节点和边的形式存储。如下图所示,节点代表对象,边表示它们之间的关系。知识图谱所代表的数据模型有时被称为资源描述框架(RDF)。RDF定义了在万维网中相互链接站点的方式。

2301_78285120的博客 3635

Isaacgym使用操作指南

Isaac Gym 是一个强大的仿真工具,特别适合那些需要进行大规模并行仿真和训练的机器人和强化学习任务。通过 GPU 加速、深度学习集成和丰富的物理仿真能力,Isaac Gym 能够显著提高仿真和训练效率,是机器人学和 AI 研究中的一大利器。

Tony Wey的博客 1万+

AIGC算法工程师面试八股文深度解析与进阶指南:揭秘Diffusion Models核心原理与实战技巧

总结来说,Cosine Noise Scheduler 的核心优势在于它能够更巧妙地平衡信号和噪声的比例,在扩散过程的早期阶段更长时间地保留原始图像的细节信息,从而为去噪模型提供一个更友好的学习环境,最终带来更优异的生成质量。🚀

FJN110的博客 341

本地化LLM应用:如何构建高效知识图谱?

任何参与过实体提取或知识图谱(以下简称KG)构建的人都清楚,这项任务需要处理大量细节,尤其是在文本预处理和指代消解等复杂环节。随着大语言模型(LLM)的能力不断提升,我决定亲自验证其是否能够简化这些流程,并评估其实际效果。我特别关注那些能够在普通笔记本电脑上流畅运行的小型模型。考虑到并非所有人都能负担高昂的计算成本或配备高性能GPU,这一点尤为重要。

Trb701012的博客 685

【AutoSAR】【EcuM】ECU状态管理

目录 一、EcuM架构位置 ​二、EcuM功能介绍 三、EcuM状态机 1.STARTUP阶段 2、UP状态 3、shutdown状态 4、休眠状态 5、OFF状态 一、EcuM架构位置 EcuM模块位于系统服务层,如下图红色方框里; 二、EcuM功能介绍 EcuM本身它管理着ECU在STARTUP, RUN,OFF,SLEEP,WAKEUP状态之间的相互切换。 责所有BSW的初始化以及去初始化 和ComM协作来管理网络状态,在需要时关闭ECU 管理所有的唤醒事件,并且在需要时

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 3348

Apache Doris AI RAG 实战:从基础 RAG 到知识图谱增强的技术能力与选型

在 Apache Doris 中创建支持 HNSW ANN 检索的向量表。

SelectDB 295

ConvNeXt 系列改进:二次创新 ConvNeXt:结合 RepVGG 结构重参数化,训练多分支、推理单路

2026年的视觉模型赛道呈现出一种有趣的“返璞归真”趋势——在Transformer狂飙数年之后,卷积网络正以全新的姿态回归。这其中,ConvNeXt无疑是纯卷积阵营中最耀眼的明星。从2022年Meta AI首次提出至今,ConvNeXt系列已经走过了近四年的演进之路,衍生出ConvNeXt V2、E-ConvNeXt等多个增强版本。ConvNeXt的7×7深度卷积带来了不错的感受野,却也埋下了推理效率的隐患。

ZXSXJ的博客 227

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度!

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度! (以YOLO26最新目标检测模型为基础,利用LSKNet替代Backbone)

2502_91881744的博客 206

kglab核心类完全解析:KnowledgeGraph、Subgraph与Measure一网打尽

kglab是一个用Python构建知识图谱(Knowledge Graph)的抽象层库,它把RDFlib、NetworkX、Pandas、RAPIDS等主流图计算与数据处理库整合到一套简洁API之下。想快速上手kglab,最关键的一步就是吃透它的三个核心类:`KnowledgeGraph`(图谱容器)、`Subgraph`(图投影与向量化)和`Measure`(图度量分析)。本文带你一次搞懂它们的

gitblog_01007的博客 1102

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

基于 Apache Doris 搭建 RAG 系统:从基础 RAG 到知识图谱增强的完整实现与选型指南

摘要 本文探讨RAG系统数据底座的选型问题,对比专用向量库与OLAP引擎的优劣。重点介绍Apache Doris提供的统一解决方案,支持HNSW向量索引、SQL结构化过滤和全文检索功能。文章详细拆解两种RAG实现方案:基础RAG(采用HNSW向量索引+bge-m3嵌入+Deepseek生成)和知识图谱增强RAG(结合LLM实体关系抽取+NetworkX构图+Doris SQL查询)。分析显示,基础RAG适合简单查询,而知识图谱增强RAG通过构建结构化知识图谱能更好处理复杂关联问题。

SelectDB 269

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

知识图谱毕设选题指南:从构建到应用的实践路径

知识图谱作为结构化知识表示的重要技术,通过实体识别、关系抽取等NLP技术将非结构化数据转化为语义网络。其核心价值在于实现知识的机器可读与推理,广泛应用于智能问答、推荐系统等场景。本文聚焦计算机专业毕设实践,解析领域知识图谱构建、应用开发等典型技术路线,涵盖Neo4j图数据库、BERT预训练模型等工具的应用要点,为平衡理论深度与工程落地提供方法论指导。特别针对中医药、电影推荐等热门领域案例,剖析数据获取、性能优化等实践难题的解决方案。

weixin_33846508的博客 230

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

基于Apache Doris构建知识图谱增强RAG系统:从文档处理到智能问答

1. 先搞清楚这个方案到底解决了什么问题 如果你正在搭建一个基于大模型的问答系统,尤其是需要处理企业文档、技术手册这类内部知识,那你肯定遇到过两个核心痛点:一是传统的RAG(检索增强生成)方案,面对复杂的、涉及多个实体和关系的查询时,回答容易变得零散、不准确;二是技术栈太杂,向量库、关系型数据库、图数据库各管一摊,开发和运维成本高。 这篇文章要讲的,就是如何用 Apache Doris (或它的云托管版 SelectDB )作为统一的数据底座,从零搭建一个完整的RAG系统,并且更进一步,引入 知识图谱 来增

weixin_30263277的博客 419

Python与Neo4j构建知识图谱实战指南

知识图谱作为语义网络的核心技术,通过图结构(节点-边-节点三元组)高效表达现实世界的复杂关系。其底层依赖图数据库(如Neo4j)的原生存储引擎和Cypher查询语言,相比传统关系型数据库更适合处理关联数据。在工程实践中,结合Python生态(NetworkX/Flask/PyVis)可实现从数据建模、批量导入到可视化分析的全流程。典型应用包括电商推荐系统优化(提升37%准确率)和医疗知识库构建(检测效率提升8倍),其中Neo4j的MERGE操作和属性关系设计是关键实现技术。

weixin_34214500的博客 371
上一篇: 知识图谱最简单的demo实现
下一篇: streamlit 入门demo
Andy_shenzl
Andy_shenzl 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 2万+粉丝 313原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy_shenzl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值