一文速学-知识图谱从零开始构建实战:知识图谱搭建构架实践-知识展示

前言

系列文章的上一篇我们已经进行了UIE抽取,非结构化知识抽取整理,转化。但是目前仅在于通过分词提取实体、属性、关系,还没有通过大模型来进一步高效率高精准度来提取这些关键字段,因此后续我们都整个流程优化空间都很大,最终我们的目标就是集成数据库以及大模型,对非结构化知识(包含图片,PDF等通过OCR算法识别)自动化抽取,再落库分发接口展示。

目前我们需要进一步认识知识存储数据库,这里使用Neo4j进行讲解演示。如觉得项目有用请不吝支持。

Neo4j简介

1.1. 什么是Neo4j?

Neo4j 是一个开源的图数据库管理系统,它以图形结构存储数据,能够高效处理复杂的连接和关系数据。Neo4j 使用图数据模型来表示数据中的节点、边和属性,使其特别适合构建和存储知识图谱。

1.2. 知识图谱存储的发展历程

  • 早期数据库:在知识图谱发展的初期,数据存储主要依赖关系型数据库(如 MySQL、PostgreSQL),这些数据库以表格形式存储数据,强调数据的结构化。然而,随着数据复杂性的增加,传统的关系型数据库在处理复杂关系时效率显著降低。
  • 图数据库兴起:为了解决关系型数据库在处理复杂关联时的局限性,图数据库应运而生。图数据库以图形结构为基础,能够直接表示实体之间的关系,极大提高了查询效率和数据关联分析的能力。
  • 知识图谱的普及:随着自然语言处理、机器学习和大数据技术的发展,知识图谱成为数据分析、人工智能和推荐系统等领域的重要组成部分。图数据库如 Neo4j 也因此得到广泛应用,成为知识存储和管理的核心工具。

1.3.Neo4j的主要功能

图数据模型:Neo4j 以节点(Node)、关系(Relationship)和属性(Property)为基本构建块,可以灵活地表示复杂的数据结构。

Cypher 查询语言:Neo4j 的查询语言 Cypher 是一种用于图形数据操作的声明性语言,用户可以使用简单的语法进行复杂的查询、插入、更新和删除操作。

高性能:Neo4j 专为高效的图遍历设计,能够快速响应复杂的图查询,特别是在处理深层次的关系时。

图算法支持:Neo4j 提供多种图算法,支持社区检测、路径搜索、中心性分析等,帮助用户从数据中发现潜在的知识。

可视化与分析:Neo4j Browser 和 Bloom 提供了强大的可视化功能,使用户可以直观地查看图数据,便于分析和展示。

Neo4j安装和使用

2.1Neo4j安装

刚入门的话推荐先安装Neo4j的桌面版方便了解功能和使用,Neo4j Desktop附带了Neo4j图形数据库的开发者版许可证。开发人员版提供了Neo4j企业版的所有功能和特性,供个人在单台机器上进行开发使用。Neo4j Desktop不支持多机功能(例如集群)。

使用Neo4j Desktop,可以创建和管理计算机支持的任何数量的本地数据库。Neo4j数据库由数据库管理系统(DBMS)实例托管,从Neo4j 4.0开始,可以在给定的DBMS实例中拥有一个或多个数据库。由于Desktop可以运行当前支持的所有Neo4j数据库版本,可以选择创建一个或多个DBMS实例来维护不同的Neo4j版本,根据数据库包含的数据类型将数据库分开,或者实现特定的DBMS配置。可以管理DBMS的配置,添加插件,查看日志,备份和还原数据,升级Neo4j版本等,以获得运行Neo4j的完整生命周期。

Neo4j-Desktop下载,注意下载的地方不能有中文路径,注意和JAVA兼容的版本,Desktop与Java JDK版本17和11以及最新版本的Bloom、Browser和Neo4j Enterprise Edition捆绑在一起。

 下载之后需要注册一个Neo4j的账号,注册完毕之后会给一个激活码

激活码粘贴到这个位置,激活就可以了。

代理设置

需要使用代理来访问互联网或访问外部网站,可以从侧边栏的“设置”菜单配置代理设置。设置代理有三种不同的方法:

  • HTTP
  • Local PAC file
  • Remote PAC file

2.2 Neo4j使用

 

Projects

可以创建本地数据库管理系统(DBMS),也可以连接到远程DBMS,并在项目中添加文件。Neo4j Desktop允许管理多个项目,并且可以通过拖放在不同项目之间轻松移动DBMS和文件。但是一次只能有一个活动的DBMS或远程连接。

项目中的每个DBMS都包含一个数据库列表,当选择DBMS时,该列表会展开。如果DBMS停止,数据库列表将被缓存。当启动DBMS时,列表会再次更新。但是对于新的DBMS,在DBMS首次成功启动之前,数据库列表不可用。

使用“新建”菜单在本地或从目录创建项目。还可以从存档中导入项目,示例从官方网站导入示例项目:

 

 如果install下载不了的话可以配置一下代理,如果实在没有代理的话可以直接在github上面下载安装到本地,然后

 拉取zip包即可,开启DBMS

 

DBMS

数据库管理系统(DBMS)是一个Neo4j服务器实例,它包含系统数据库和默认数据库的最小值。创建DBMS后,默认数据库称为neo4j,但您可以重命名它或创建一个新的数据库作为默认数据库。现有的DBMS也可以通过DBMS菜单访问。

当在项目中创建新的DBMS时,将使用默认版本的Neo4j。可以选择不同版本的Neo4j,但需要下载资源因此需要科学上网。插件是可以为DBMS启用的附加功能。

 

 Neo4j Desktop可以直接查看和修改DBMS的设置。通过从“更多选项”菜单中选择“设置”:

但是对于大多数设置,修改需要重新启动DBMS才能使更改生效。同样,日志文件;debug.log、neo4j.log、query.log和security.log也可以直接从桌面的“更多选项”菜单中的“日志”中查看。这将打开一个单独的窗口,显示所选的日志文件。

内存配置

默认情况下,Desktop为每个创建的DBMS设置以下内存配置:

dbms.memory.heap.initial_size=512m
dbms.memory.heap.max_size=1G
dbms.memory.pagecache.size=512m

 

远程连接

除了管理本地DBMS,Neo4j Desktop还允许连接到远程实例。例如这可以是在GCE、Aura上运行的实例,也可以是在本地网络上托管的实例。远程连接使用螺栓协议:

图形应用

有几种方法可以与图形交互。一种方法是使用图形应用程序,Desktop附带了此类应用程序的列表。其中两个是Neo4j浏览器和Neo4j Bloom,其他是Neo4j实验室支持的应用程序。Neo4j Browser和Bloom用于可视化和查询图形,但其他应用程序提供关系数据库的导入工具、监控工具和查询日志分析器等。

图形应用程序可以在桌面图形应用程序库中的列表中找到。

 

项目文件

除了添加DBMS,Desktop还允许将文件和文件夹添加到项目中。可以是Cypher文件和Neo4j浏览器指南,当单击它们时,它们都会在Neo4j浏览器中打开。此外还可以将数据库转储文件添加到此部分。转储文件可用于还原DBMS,从而将其添加到项目中。

要添加文件,您可以使用项目中的“添加”下拉菜单,也可以将文件拖放到“文件”部分。如果将文件放置在Project文件夹中,例如使用文件管理器或从命令行,Desktop会拾取它们并在本节中显示。下拉菜单允许您按名称、大小、创建日期、上次修改日期或上次打开日期过滤添加的文件和文件夹。

了解了一下Neo4j桌面版的操作之后,那么下一章我们开始进行Neo4j项目从0到1的部署和使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/909735.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自由学习记录(19)

unity核心也算是看完了吧,但觉得的确是少了点东西,之后再看mvc框架,和网络开发,,感觉有必要想想主次顺序了,毕竟在明年的3月之前尽量让自己更有贴合需求的能力 先了解一些相关概念,不用看懂&am…

「Mac畅玩鸿蒙与硬件22」鸿蒙UI组件篇12 - Canvas 组件的动态进阶应用

在鸿蒙应用中,Canvas 组件可以实现丰富的动态效果,适合用于动画和实时更新的场景。本篇将介绍如何在 Canvas 中实现动画循环、动态进度条、旋转和缩放动画,以及性能优化策略。 关键词 Canvas 组件动态绘制动画效果动态进度条旋转和缩放性能优…

大家知道输电线路微风振动在线监测有哪些先进技术?

特力康TLKS-PMG-WD输电线路微风振动在线监测装置(输电线路北斗导线舞动在线监测装置)集成了多项先进技术,堪称输电线路监测领域的佼佼者!它利用高精度的舞动传感器实时监测导线数据,并通过无线网络发送到监控中心&…

WPF+MVVM案例实战(十七)- 自定义字体图标按钮的封装与实现(ABC类)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、案例效果1、按钮分类2、ABC类按钮实现1、文件创建2、字体图标资源3、自定义依赖属性4、按钮特效样式实现 3、按钮案例演示1、页面实现与文件创建2、依赖注入3 运…

【算法】(Python)贪心算法

贪心算法: 又称贪婪算法,greedy algorithm。贪心地追求局部最优解,即每一步当前状态下最优选择。试图通过各局部最优解达到最终全局最优解。但不从整体最优上考虑,不一定全局最优解。步骤:从初始状态拆分成一步一步的…

01简介——基于全志V3S的Linux开发板教程笔记

声明:本笔记内容为个人在使用自制的基于全志V3S的Linux开发板的学习笔记文章,仅用于记录学习与开发过程中的问题处理过程、方法操作记录、参考的网络资源等内容。 一、前言 一次偶然的机会,发现了全志V3S这款芯片,基于Cortex-A7内…

【数据库】elasticsearch

1、架构 es会为每个索引创建一定数量的主分片和副本分片。 分片(Shard): 将索引数据分割成多个部分,每个部分都是一个独立的索引。 主要目的是实现数据的分布式存储和并行处理,从而提高系统的扩展性和性能。 在创建索…

C6.【C++ Cont】cout的格式输出

目录 1.头文件 2.使用 1.控制宽度和填充 setw函数(全称set field width设置字段宽度) setfill函数(全称Set fill character设置填充字符) 2.控制数值格式 3.控制整数格式 4.控制对齐方式 1.头文件 用cout进行格式化输出前,先引用头文件iomanip(全称input&output m…

【Unity】Unity拖拽在Android设备有延迟和卡顿问题的解决

一、介绍 在制作Block类游戏时,其核心的逻辑就是拖拽方块放入到地图中,这里最先想到的就是Unity的拖拽接口IDragHandler,然后通过 IPointerDownHandler, IPointerUpHandler 这两个接口判断按下和松手,具体的实现逻辑就是下面 public void On…

零基础快速入门MATLAB

文章目录 前言1.向量1.1 创建方式1.1.1 直接输入各个元素1.1.2 冒号创建1.1.3 使用linspace函数 1.2 向量的运算1.2.1 加法1.2.2 相乘 2.输入与输出2.1 输入函数--input()2.2 输出函数 3.分支结构3.1 if语句3.2 switch语句 4.循环结构4.1 for循环4.2 while循环4.3 特殊语句 5.函…

gitmakegdb

git git reset 命令 | 菜鸟教程 (runoob.com) 像嫁接一样 make Makefile | 爱编程的大丙 (subingwen.cn) # 举例: 有源文件 a.c b.c c.c head.h, 需要生成可执行程序 app ################# 例1 ################# app:a.c b.c c.cgcc a.c b.c c.c -o app################# 例…

记一次微信云托管搭建Redis服务

背景 最近在做一个微信小程序,规划服务全部部署在云托管上面,本次使用了对象存储、mysql、java服务、Redis服务(pc端用的)。 由于对部署Redis不理解,查看了官方文档,首先看到的是这个架构图,看…

gerrit 搭建遇到的问题

1、启动Apache,端口被占用 : AH00072: make sock: could not bind to address (0S 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。: AH00072: make sock: could not bind to address 0.0.0.:443 a AH00451: no listening sockets available, shutti…

STM32之看门狗

STM32有独立看门狗(IWDG)和窗口看门狗(WWDG)。 采用窗口看门狗(WWDG),有一个死前中断,可以用来作一个报警的功能。 独立看门狗超时时间计算公式 假设LSI是32KHz,超时时间等于 预分频系数(4&…

Python爬虫基础-正则表达式!

前言 正则表达式是对字符串的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则的字符串”,此字符串用来表示对字符串的一种“过滤”逻辑。正在在很多开发语言中都存在,而非python独有。对其知识点…

lvgl白屏问题(LCD长时间白屏)和优化lvgl

开机白屏时间过长 -- 这里我们不考虑是lvgl占的内存太大的问题,这里考虑的是为什么lcd屏幕启动后会有长时间的白屏。 首先我们要了解lvgl的相关操作,主要集中在一个函数中。只有程序执行到了这个函数,lvgl的屏幕才会显现出来 总结来说就是l…

雷池社区版 7.1.0 LTS 发布了

LTS(Long Term Support,长期支持版本)是软件开发中的一个概念,表示该版本将获得较长时间的支持和更新,通常包含稳定性、性能改进和安全修复,但不包含频繁的新特性更新。 作为最受欢迎的社区waf&#xff0c…

【系统分析师】-案例综合知识大全

1、表示处理流程的工具 图形工具、表格工具和语言工具。 其中常见的图形工具包括程序流程图、IPO 图、盒图、问题分析图、判定树, 表格工具包括判定表, 语言工具包括过程设计语言 2、用例建模过程 识别参与者、合并需求获得用例、细化用例描述和调…

python爬取旅游攻略(1)

参考网址: https://blog.csdn.net/m0_61981943/article/details/131262987 导入相关库,用get请求方式请求网页方式: import requests import parsel import csv import time import random url fhttps://travel.qunar.com/travelbook/list.…

G. Welcome to Join the Online Meeting!【CCPC2024哈尔滨站】

G. Welcome to Join the Online Meeting 思路: 挺简单的BFS思路 图论题写的比较少&#xff0c;算是补题吧 代码: #include <bits/stdc.h> #define endl \n #define int long long #define pb push_back #define pii pair<int,int> const int MOD 1e97; const …